1 #include "nit__parser.sep.0.h"
2 /* method parser#ReduceAction185#action for (self: ReduceAction185, Parser) */
3 void nit__parser___nit__parser__ReduceAction185___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_pexprnode2
/* var pexprnode2: nullable Object */;
21 short int var7
/* : Bool */;
24 val
* var_tidnode3
/* var tidnode3: nullable Object */;
25 short int var8
/* : Bool */;
28 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
29 short int var11
/* : Bool */;
32 val
* var14
/* : ACallExpr */;
33 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
34 long var15
/* : Int */;
35 long var16
/* : Int */;
37 var_node_list
= ((val
*)NULL
);
39 var
= nit___nit__Parser___pop(var_p
);
41 var_nodearraylist7
= var
;
43 var1
= nit___nit__Parser___pop(var_p
);
45 var_nodearraylist6
= var1
;
47 var2
= nit___nit__Parser___pop(var_p
);
49 var_nodearraylist5
= var2
;
51 var3
= nit___nit__Parser___pop(var_p
);
53 var_nodearraylist4
= var3
;
55 var4
= nit___nit__Parser___pop(var_p
);
57 var_nodearraylist3
= var4
;
59 var5
= nit___nit__Parser___pop(var_p
);
61 var_nodearraylist2
= var5
;
63 var6
= nit___nit__Parser___pop(var_p
);
65 var_nodearraylist1
= var6
;
66 var_pexprnode2
= var_nodearraylist1
;
67 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
68 cltype
= type_nullable__nit__AExpr
.color
;
69 idtype
= type_nullable__nit__AExpr
.id
;
70 if(var_pexprnode2
== NULL
) {
73 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
76 var7
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
79 if (unlikely(!var7
)) {
80 PRINT_ERROR("Runtime error: %s", "Assert failed");
81 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5367);
84 var_tidnode3
= var_nodearraylist6
;
85 /* <var_tidnode3:nullable Object> isa nullable TId */
86 cltype9
= type_nullable__nit__TId
.color
;
87 idtype10
= type_nullable__nit__TId
.id
;
88 if(var_tidnode3
== NULL
) {
91 if(cltype9
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
94 var8
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype9
] == idtype10
;
97 if (unlikely(!var8
)) {
98 PRINT_ERROR("Runtime error: %s", "Assert failed");
99 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5369);
102 var_pexprsnode4
= var_nodearraylist7
;
103 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
104 cltype12
= type_nullable__nit__AExprs
.color
;
105 idtype13
= type_nullable__nit__AExprs
.id
;
106 if(var_pexprsnode4
== NULL
) {
109 if(cltype12
>= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->table_size
) {
112 var11
= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->type_table
[cltype12
] == idtype13
;
115 if (unlikely(!var11
)) {
116 PRINT_ERROR("Runtime error: %s", "Assert failed");
117 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5371);
120 var14
= NEW_nit__ACallExpr(&type_nit__ACallExpr
);
122 nit__parser_prod___ACallExpr___init_acallexpr(var14
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var14:ACallExpr>*/
124 var_pexprnode1
= var14
;
125 var_node_list
= var_pexprnode1
;
126 var15
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction185> */
128 var16
= nit___nit__Parser___go_to(var_p
, var15
);
131 nit___nit__Parser___push(var_p
, var16
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
135 /* method parser#ReduceAction187#action for (self: ReduceAction187, Parser) */
136 void nit__parser___nit__parser__ReduceAction187___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
137 val
* var_p
/* var p: Parser */;
138 val
* var_node_list
/* var node_list: nullable Object */;
139 val
* var
/* : nullable Object */;
140 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
141 val
* var1
/* : nullable Object */;
142 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
143 val
* var2
/* : AImplicitSelfExpr */;
144 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
145 val
* var_tidnode3
/* var tidnode3: nullable Object */;
146 short int var3
/* : Bool */;
149 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
150 short int var4
/* : Bool */;
153 val
* var7
/* : ACallExpr */;
154 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
155 long var8
/* : Int */;
156 long var9
/* : Int */;
158 var_node_list
= ((val
*)NULL
);
160 var
= nit___nit__Parser___pop(var_p
);
162 var_nodearraylist2
= var
;
164 var1
= nit___nit__Parser___pop(var_p
);
166 var_nodearraylist1
= var1
;
167 var2
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
169 nit__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var2
); /* Direct call parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr on <var2:AImplicitSelfExpr>*/
171 var_pexprnode2
= var2
;
172 var_tidnode3
= var_nodearraylist1
;
173 /* <var_tidnode3:nullable Object> isa nullable TId */
174 cltype
= type_nullable__nit__TId
.color
;
175 idtype
= type_nullable__nit__TId
.id
;
176 if(var_tidnode3
== NULL
) {
179 if(cltype
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
182 var3
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype
] == idtype
;
185 if (unlikely(!var3
)) {
186 PRINT_ERROR("Runtime error: %s", "Assert failed");
187 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5390);
190 var_pexprsnode4
= var_nodearraylist2
;
191 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
192 cltype5
= type_nullable__nit__AExprs
.color
;
193 idtype6
= type_nullable__nit__AExprs
.id
;
194 if(var_pexprsnode4
== NULL
) {
197 if(cltype5
>= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->table_size
) {
200 var4
= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->type_table
[cltype5
] == idtype6
;
203 if (unlikely(!var4
)) {
204 PRINT_ERROR("Runtime error: %s", "Assert failed");
205 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5392);
208 var7
= NEW_nit__ACallExpr(&type_nit__ACallExpr
);
210 nit__parser_prod___ACallExpr___init_acallexpr(var7
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var7:ACallExpr>*/
212 var_pexprnode1
= var7
;
213 var_node_list
= var_pexprnode1
;
214 var8
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction187> */
216 var9
= nit___nit__Parser___go_to(var_p
, var8
);
219 nit___nit__Parser___push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
223 /* method parser#ReduceAction188#action for (self: ReduceAction188, Parser) */
224 void nit__parser___nit__parser__ReduceAction188___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
225 val
* var_p
/* var p: Parser */;
226 val
* var_node_list
/* var node_list: nullable Object */;
227 val
* var
/* : nullable Object */;
228 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
229 val
* var1
/* : nullable Object */;
230 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
231 val
* var2
/* : nullable Object */;
232 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
233 val
* var3
/* : AImplicitSelfExpr */;
234 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
235 val
* var_tidnode3
/* var tidnode3: nullable Object */;
236 short int var4
/* : Bool */;
239 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
240 short int var5
/* : Bool */;
243 val
* var8
/* : ACallExpr */;
244 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
245 long var9
/* : Int */;
246 long var10
/* : Int */;
248 var_node_list
= ((val
*)NULL
);
250 var
= nit___nit__Parser___pop(var_p
);
252 var_nodearraylist3
= var
;
254 var1
= nit___nit__Parser___pop(var_p
);
256 var_nodearraylist2
= var1
;
258 var2
= nit___nit__Parser___pop(var_p
);
260 var_nodearraylist1
= var2
;
261 var3
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
263 nit__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var3
); /* Direct call parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr on <var3:AImplicitSelfExpr>*/
265 var_pexprnode2
= var3
;
266 var_tidnode3
= var_nodearraylist2
;
267 /* <var_tidnode3:nullable Object> isa nullable TId */
268 cltype
= type_nullable__nit__TId
.color
;
269 idtype
= type_nullable__nit__TId
.id
;
270 if(var_tidnode3
== NULL
) {
273 if(cltype
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
276 var4
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype
] == idtype
;
279 if (unlikely(!var4
)) {
280 PRINT_ERROR("Runtime error: %s", "Assert failed");
281 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5412);
284 var_pexprsnode4
= var_nodearraylist3
;
285 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
286 cltype6
= type_nullable__nit__AExprs
.color
;
287 idtype7
= type_nullable__nit__AExprs
.id
;
288 if(var_pexprsnode4
== NULL
) {
291 if(cltype6
>= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->table_size
) {
294 var5
= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->type_table
[cltype6
] == idtype7
;
297 if (unlikely(!var5
)) {
298 PRINT_ERROR("Runtime error: %s", "Assert failed");
299 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5414);
302 var8
= NEW_nit__ACallExpr(&type_nit__ACallExpr
);
304 nit__parser_prod___ACallExpr___init_acallexpr(var8
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var8:ACallExpr>*/
306 var_pexprnode1
= var8
;
307 var_node_list
= var_pexprnode1
;
308 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction188> */
310 var10
= nit___nit__Parser___go_to(var_p
, var9
);
313 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
317 /* method parser#ReduceAction189#action for (self: ReduceAction189, Parser) */
318 void nit__parser___nit__parser__ReduceAction189___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
319 val
* var_p
/* var p: Parser */;
320 val
* var_node_list
/* var node_list: nullable Object */;
321 val
* var
/* : nullable Object */;
322 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
323 val
* var1
/* : nullable Object */;
324 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
325 val
* var2
/* : nullable Object */;
326 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
327 val
* var3
/* : nullable Object */;
328 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
329 val
* var4
/* : AImplicitSelfExpr */;
330 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
331 val
* var_tidnode3
/* var tidnode3: nullable Object */;
332 short int var5
/* : Bool */;
335 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
336 short int var6
/* : Bool */;
339 val
* var9
/* : ACallExpr */;
340 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
341 long var10
/* : Int */;
342 long var11
/* : Int */;
344 var_node_list
= ((val
*)NULL
);
346 var
= nit___nit__Parser___pop(var_p
);
348 var_nodearraylist4
= var
;
350 var1
= nit___nit__Parser___pop(var_p
);
352 var_nodearraylist3
= var1
;
354 var2
= nit___nit__Parser___pop(var_p
);
356 var_nodearraylist2
= var2
;
358 var3
= nit___nit__Parser___pop(var_p
);
360 var_nodearraylist1
= var3
;
361 var4
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
363 nit__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var4
); /* Direct call parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr on <var4:AImplicitSelfExpr>*/
365 var_pexprnode2
= var4
;
366 var_tidnode3
= var_nodearraylist3
;
367 /* <var_tidnode3:nullable Object> isa nullable TId */
368 cltype
= type_nullable__nit__TId
.color
;
369 idtype
= type_nullable__nit__TId
.id
;
370 if(var_tidnode3
== NULL
) {
373 if(cltype
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
376 var5
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype
] == idtype
;
379 if (unlikely(!var5
)) {
380 PRINT_ERROR("Runtime error: %s", "Assert failed");
381 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5435);
384 var_pexprsnode4
= var_nodearraylist4
;
385 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
386 cltype7
= type_nullable__nit__AExprs
.color
;
387 idtype8
= type_nullable__nit__AExprs
.id
;
388 if(var_pexprsnode4
== NULL
) {
391 if(cltype7
>= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->table_size
) {
394 var6
= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->type_table
[cltype7
] == idtype8
;
397 if (unlikely(!var6
)) {
398 PRINT_ERROR("Runtime error: %s", "Assert failed");
399 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5437);
402 var9
= NEW_nit__ACallExpr(&type_nit__ACallExpr
);
404 nit__parser_prod___ACallExpr___init_acallexpr(var9
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var9:ACallExpr>*/
406 var_pexprnode1
= var9
;
407 var_node_list
= var_pexprnode1
;
408 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction189> */
410 var11
= nit___nit__Parser___go_to(var_p
, var10
);
413 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
417 /* method parser#ReduceAction191#action for (self: ReduceAction191, Parser) */
418 void nit__parser___nit__parser__ReduceAction191___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
419 val
* var_p
/* var p: Parser */;
420 val
* var_node_list
/* var node_list: nullable Object */;
421 val
* var
/* : nullable Object */;
422 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
423 val
* var1
/* : nullable Object */;
424 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
425 val
* var2
/* : nullable Object */;
426 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
427 val
* var_pqualifiednode2
/* var pqualifiednode2: nullable Object */;
428 short int var3
/* : Bool */;
431 val
* var_tkwsupernode3
/* var tkwsupernode3: nullable Object */;
432 short int var4
/* : Bool */;
435 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
436 short int var7
/* : Bool */;
439 val
* var10
/* : ASuperExpr */;
440 val
* var_pexprnode1
/* var pexprnode1: nullable ASuperExpr */;
441 long var11
/* : Int */;
442 long var12
/* : Int */;
444 var_node_list
= ((val
*)NULL
);
446 var
= nit___nit__Parser___pop(var_p
);
448 var_nodearraylist3
= var
;
450 var1
= nit___nit__Parser___pop(var_p
);
452 var_nodearraylist2
= var1
;
454 var2
= nit___nit__Parser___pop(var_p
);
456 var_nodearraylist1
= var2
;
457 var_pqualifiednode2
= var_nodearraylist1
;
458 /* <var_pqualifiednode2:nullable Object> isa nullable AQualified */
459 cltype
= type_nullable__nit__AQualified
.color
;
460 idtype
= type_nullable__nit__AQualified
.id
;
461 if(var_pqualifiednode2
== NULL
) {
464 if(cltype
>= (((long)var_pqualifiednode2
&3)?type_info
[((long)var_pqualifiednode2
&3)]:var_pqualifiednode2
->type
)->table_size
) {
467 var3
= (((long)var_pqualifiednode2
&3)?type_info
[((long)var_pqualifiednode2
&3)]:var_pqualifiednode2
->type
)->type_table
[cltype
] == idtype
;
470 if (unlikely(!var3
)) {
471 PRINT_ERROR("Runtime error: %s", "Assert failed");
472 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5456);
475 var_tkwsupernode3
= var_nodearraylist2
;
476 /* <var_tkwsupernode3:nullable Object> isa nullable TKwsuper */
477 cltype5
= type_nullable__nit__TKwsuper
.color
;
478 idtype6
= type_nullable__nit__TKwsuper
.id
;
479 if(var_tkwsupernode3
== NULL
) {
482 if(cltype5
>= (((long)var_tkwsupernode3
&3)?type_info
[((long)var_tkwsupernode3
&3)]:var_tkwsupernode3
->type
)->table_size
) {
485 var4
= (((long)var_tkwsupernode3
&3)?type_info
[((long)var_tkwsupernode3
&3)]:var_tkwsupernode3
->type
)->type_table
[cltype5
] == idtype6
;
488 if (unlikely(!var4
)) {
489 PRINT_ERROR("Runtime error: %s", "Assert failed");
490 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5458);
493 var_pexprsnode4
= var_nodearraylist3
;
494 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
495 cltype8
= type_nullable__nit__AExprs
.color
;
496 idtype9
= type_nullable__nit__AExprs
.id
;
497 if(var_pexprsnode4
== NULL
) {
500 if(cltype8
>= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->table_size
) {
503 var7
= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->type_table
[cltype8
] == idtype9
;
506 if (unlikely(!var7
)) {
507 PRINT_ERROR("Runtime error: %s", "Assert failed");
508 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5460);
511 var10
= NEW_nit__ASuperExpr(&type_nit__ASuperExpr
);
513 nit__parser_prod___ASuperExpr___init_asuperexpr(var10
, var_pqualifiednode2
, var_tkwsupernode3
, var_pexprsnode4
); /* Direct call parser_prod#ASuperExpr#init_asuperexpr on <var10:ASuperExpr>*/
515 var_pexprnode1
= var10
;
516 var_node_list
= var_pexprnode1
;
517 var11
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction191> */
519 var12
= nit___nit__Parser___go_to(var_p
, var11
);
522 nit___nit__Parser___push(var_p
, var12
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
526 /* method parser#ReduceAction192#action for (self: ReduceAction192, Parser) */
527 void nit__parser___nit__parser__ReduceAction192___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
528 val
* var_p
/* var p: Parser */;
529 val
* var_node_list
/* var node_list: nullable Object */;
530 val
* var
/* : nullable Object */;
531 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
532 val
* var1
/* : nullable Object */;
533 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
534 val
* var2
/* : nullable Object */;
535 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
536 val
* var3
/* : nullable Object */;
537 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
538 val
* var4
/* : nullable Object */;
539 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
540 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
541 short int var5
/* : Bool */;
544 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
545 short int var6
/* : Bool */;
548 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
549 short int var9
/* : Bool */;
552 val
* var12
/* : AInitExpr */;
553 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
554 long var13
/* : Int */;
555 long var14
/* : Int */;
557 var_node_list
= ((val
*)NULL
);
559 var
= nit___nit__Parser___pop(var_p
);
561 var_nodearraylist5
= var
;
563 var1
= nit___nit__Parser___pop(var_p
);
565 var_nodearraylist4
= var1
;
567 var2
= nit___nit__Parser___pop(var_p
);
569 var_nodearraylist3
= var2
;
571 var3
= nit___nit__Parser___pop(var_p
);
573 var_nodearraylist2
= var3
;
575 var4
= nit___nit__Parser___pop(var_p
);
577 var_nodearraylist1
= var4
;
578 var_pexprnode2
= var_nodearraylist1
;
579 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
580 cltype
= type_nullable__nit__AExpr
.color
;
581 idtype
= type_nullable__nit__AExpr
.id
;
582 if(var_pexprnode2
== NULL
) {
585 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
588 var5
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
591 if (unlikely(!var5
)) {
592 PRINT_ERROR("Runtime error: %s", "Assert failed");
593 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5481);
596 var_tkwinitnode3
= var_nodearraylist4
;
597 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
598 cltype7
= type_nullable__nit__TKwinit
.color
;
599 idtype8
= type_nullable__nit__TKwinit
.id
;
600 if(var_tkwinitnode3
== NULL
) {
603 if(cltype7
>= (((long)var_tkwinitnode3
&3)?type_info
[((long)var_tkwinitnode3
&3)]:var_tkwinitnode3
->type
)->table_size
) {
606 var6
= (((long)var_tkwinitnode3
&3)?type_info
[((long)var_tkwinitnode3
&3)]:var_tkwinitnode3
->type
)->type_table
[cltype7
] == idtype8
;
609 if (unlikely(!var6
)) {
610 PRINT_ERROR("Runtime error: %s", "Assert failed");
611 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5483);
614 var_pexprsnode4
= var_nodearraylist5
;
615 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
616 cltype10
= type_nullable__nit__AExprs
.color
;
617 idtype11
= type_nullable__nit__AExprs
.id
;
618 if(var_pexprsnode4
== NULL
) {
621 if(cltype10
>= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->table_size
) {
624 var9
= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->type_table
[cltype10
] == idtype11
;
627 if (unlikely(!var9
)) {
628 PRINT_ERROR("Runtime error: %s", "Assert failed");
629 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5485);
632 var12
= NEW_nit__AInitExpr(&type_nit__AInitExpr
);
634 nit__parser_prod___AInitExpr___init_ainitexpr(var12
, var_pexprnode2
, var_tkwinitnode3
, var_pexprsnode4
); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var12:AInitExpr>*/
636 var_pexprnode1
= var12
;
637 var_node_list
= var_pexprnode1
;
638 var13
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction192> */
640 var14
= nit___nit__Parser___go_to(var_p
, var13
);
643 nit___nit__Parser___push(var_p
, var14
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
647 /* method parser#ReduceAction193#action for (self: ReduceAction193, Parser) */
648 void nit__parser___nit__parser__ReduceAction193___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
649 val
* var_p
/* var p: Parser */;
650 val
* var_node_list
/* var node_list: nullable Object */;
651 val
* var
/* : nullable Object */;
652 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
653 val
* var1
/* : nullable Object */;
654 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
655 val
* var2
/* : AImplicitSelfExpr */;
656 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
657 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
658 short int var3
/* : Bool */;
661 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
662 short int var4
/* : Bool */;
665 val
* var7
/* : AInitExpr */;
666 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
667 long var8
/* : Int */;
668 long var9
/* : Int */;
670 var_node_list
= ((val
*)NULL
);
672 var
= nit___nit__Parser___pop(var_p
);
674 var_nodearraylist2
= var
;
676 var1
= nit___nit__Parser___pop(var_p
);
678 var_nodearraylist1
= var1
;
679 var2
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
681 nit__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var2
); /* Direct call parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr on <var2:AImplicitSelfExpr>*/
683 var_pexprnode2
= var2
;
684 var_tkwinitnode3
= var_nodearraylist1
;
685 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
686 cltype
= type_nullable__nit__TKwinit
.color
;
687 idtype
= type_nullable__nit__TKwinit
.id
;
688 if(var_tkwinitnode3
== NULL
) {
691 if(cltype
>= (((long)var_tkwinitnode3
&3)?type_info
[((long)var_tkwinitnode3
&3)]:var_tkwinitnode3
->type
)->table_size
) {
694 var3
= (((long)var_tkwinitnode3
&3)?type_info
[((long)var_tkwinitnode3
&3)]:var_tkwinitnode3
->type
)->type_table
[cltype
] == idtype
;
697 if (unlikely(!var3
)) {
698 PRINT_ERROR("Runtime error: %s", "Assert failed");
699 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5504);
702 var_pexprsnode4
= var_nodearraylist2
;
703 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
704 cltype5
= type_nullable__nit__AExprs
.color
;
705 idtype6
= type_nullable__nit__AExprs
.id
;
706 if(var_pexprsnode4
== NULL
) {
709 if(cltype5
>= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->table_size
) {
712 var4
= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->type_table
[cltype5
] == idtype6
;
715 if (unlikely(!var4
)) {
716 PRINT_ERROR("Runtime error: %s", "Assert failed");
717 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5506);
720 var7
= NEW_nit__AInitExpr(&type_nit__AInitExpr
);
722 nit__parser_prod___AInitExpr___init_ainitexpr(var7
, var_pexprnode2
, var_tkwinitnode3
, var_pexprsnode4
); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var7:AInitExpr>*/
724 var_pexprnode1
= var7
;
725 var_node_list
= var_pexprnode1
;
726 var8
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction193> */
728 var9
= nit___nit__Parser___go_to(var_p
, var8
);
731 nit___nit__Parser___push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
735 /* method parser#ReduceAction194#action for (self: ReduceAction194, Parser) */
736 void nit__parser___nit__parser__ReduceAction194___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
737 val
* var_p
/* var p: Parser */;
738 val
* var_node_list
/* var node_list: nullable Object */;
739 val
* var
/* : nullable Object */;
740 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
741 val
* var1
/* : nullable Object */;
742 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
743 val
* var2
/* : nullable Object */;
744 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
745 val
* var3
/* : nullable Object */;
746 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
747 val
* var4
/* : nullable Object */;
748 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
749 val
* var5
/* : nullable Object */;
750 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
751 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
752 short int var6
/* : Bool */;
755 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
756 short int var7
/* : Bool */;
759 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
760 short int var10
/* : Bool */;
763 val
* var13
/* : AInitExpr */;
764 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
765 long var14
/* : Int */;
766 long var15
/* : Int */;
768 var_node_list
= ((val
*)NULL
);
770 var
= nit___nit__Parser___pop(var_p
);
772 var_nodearraylist6
= var
;
774 var1
= nit___nit__Parser___pop(var_p
);
776 var_nodearraylist5
= var1
;
778 var2
= nit___nit__Parser___pop(var_p
);
780 var_nodearraylist4
= var2
;
782 var3
= nit___nit__Parser___pop(var_p
);
784 var_nodearraylist3
= var3
;
786 var4
= nit___nit__Parser___pop(var_p
);
788 var_nodearraylist2
= var4
;
790 var5
= nit___nit__Parser___pop(var_p
);
792 var_nodearraylist1
= var5
;
793 var_pexprnode2
= var_nodearraylist1
;
794 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
795 cltype
= type_nullable__nit__AExpr
.color
;
796 idtype
= type_nullable__nit__AExpr
.id
;
797 if(var_pexprnode2
== NULL
) {
800 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
803 var6
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
806 if (unlikely(!var6
)) {
807 PRINT_ERROR("Runtime error: %s", "Assert failed");
808 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5528);
811 var_tkwinitnode3
= var_nodearraylist5
;
812 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
813 cltype8
= type_nullable__nit__TKwinit
.color
;
814 idtype9
= type_nullable__nit__TKwinit
.id
;
815 if(var_tkwinitnode3
== NULL
) {
818 if(cltype8
>= (((long)var_tkwinitnode3
&3)?type_info
[((long)var_tkwinitnode3
&3)]:var_tkwinitnode3
->type
)->table_size
) {
821 var7
= (((long)var_tkwinitnode3
&3)?type_info
[((long)var_tkwinitnode3
&3)]:var_tkwinitnode3
->type
)->type_table
[cltype8
] == idtype9
;
824 if (unlikely(!var7
)) {
825 PRINT_ERROR("Runtime error: %s", "Assert failed");
826 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5530);
829 var_pexprsnode4
= var_nodearraylist6
;
830 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
831 cltype11
= type_nullable__nit__AExprs
.color
;
832 idtype12
= type_nullable__nit__AExprs
.id
;
833 if(var_pexprsnode4
== NULL
) {
836 if(cltype11
>= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->table_size
) {
839 var10
= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->type_table
[cltype11
] == idtype12
;
842 if (unlikely(!var10
)) {
843 PRINT_ERROR("Runtime error: %s", "Assert failed");
844 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5532);
847 var13
= NEW_nit__AInitExpr(&type_nit__AInitExpr
);
849 nit__parser_prod___AInitExpr___init_ainitexpr(var13
, var_pexprnode2
, var_tkwinitnode3
, var_pexprsnode4
); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var13:AInitExpr>*/
851 var_pexprnode1
= var13
;
852 var_node_list
= var_pexprnode1
;
853 var14
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction194> */
855 var15
= nit___nit__Parser___go_to(var_p
, var14
);
858 nit___nit__Parser___push(var_p
, var15
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
862 /* method parser#ReduceAction195#action for (self: ReduceAction195, Parser) */
863 void nit__parser___nit__parser__ReduceAction195___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
864 val
* var_p
/* var p: Parser */;
865 val
* var_node_list
/* var node_list: nullable Object */;
866 val
* var
/* : nullable Object */;
867 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
868 val
* var1
/* : nullable Object */;
869 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
870 val
* var2
/* : nullable Object */;
871 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
872 val
* var3
/* : nullable Object */;
873 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
874 val
* var4
/* : nullable Object */;
875 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
876 val
* var5
/* : nullable Object */;
877 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
878 val
* var6
/* : nullable Object */;
879 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
880 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
881 short int var7
/* : Bool */;
884 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
885 short int var8
/* : Bool */;
888 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
889 short int var11
/* : Bool */;
892 val
* var14
/* : AInitExpr */;
893 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
894 long var15
/* : Int */;
895 long var16
/* : Int */;
897 var_node_list
= ((val
*)NULL
);
899 var
= nit___nit__Parser___pop(var_p
);
901 var_nodearraylist7
= var
;
903 var1
= nit___nit__Parser___pop(var_p
);
905 var_nodearraylist6
= var1
;
907 var2
= nit___nit__Parser___pop(var_p
);
909 var_nodearraylist5
= var2
;
911 var3
= nit___nit__Parser___pop(var_p
);
913 var_nodearraylist4
= var3
;
915 var4
= nit___nit__Parser___pop(var_p
);
917 var_nodearraylist3
= var4
;
919 var5
= nit___nit__Parser___pop(var_p
);
921 var_nodearraylist2
= var5
;
923 var6
= nit___nit__Parser___pop(var_p
);
925 var_nodearraylist1
= var6
;
926 var_pexprnode2
= var_nodearraylist1
;
927 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
928 cltype
= type_nullable__nit__AExpr
.color
;
929 idtype
= type_nullable__nit__AExpr
.id
;
930 if(var_pexprnode2
== NULL
) {
933 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
936 var7
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
939 if (unlikely(!var7
)) {
940 PRINT_ERROR("Runtime error: %s", "Assert failed");
941 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5555);
944 var_tkwinitnode3
= var_nodearraylist6
;
945 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
946 cltype9
= type_nullable__nit__TKwinit
.color
;
947 idtype10
= type_nullable__nit__TKwinit
.id
;
948 if(var_tkwinitnode3
== NULL
) {
951 if(cltype9
>= (((long)var_tkwinitnode3
&3)?type_info
[((long)var_tkwinitnode3
&3)]:var_tkwinitnode3
->type
)->table_size
) {
954 var8
= (((long)var_tkwinitnode3
&3)?type_info
[((long)var_tkwinitnode3
&3)]:var_tkwinitnode3
->type
)->type_table
[cltype9
] == idtype10
;
957 if (unlikely(!var8
)) {
958 PRINT_ERROR("Runtime error: %s", "Assert failed");
959 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5557);
962 var_pexprsnode4
= var_nodearraylist7
;
963 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
964 cltype12
= type_nullable__nit__AExprs
.color
;
965 idtype13
= type_nullable__nit__AExprs
.id
;
966 if(var_pexprsnode4
== NULL
) {
969 if(cltype12
>= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->table_size
) {
972 var11
= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->type_table
[cltype12
] == idtype13
;
975 if (unlikely(!var11
)) {
976 PRINT_ERROR("Runtime error: %s", "Assert failed");
977 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5559);
980 var14
= NEW_nit__AInitExpr(&type_nit__AInitExpr
);
982 nit__parser_prod___AInitExpr___init_ainitexpr(var14
, var_pexprnode2
, var_tkwinitnode3
, var_pexprsnode4
); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var14:AInitExpr>*/
984 var_pexprnode1
= var14
;
985 var_node_list
= var_pexprnode1
;
986 var15
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction195> */
988 var16
= nit___nit__Parser___go_to(var_p
, var15
);
991 nit___nit__Parser___push(var_p
, var16
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
995 /* method parser#ReduceAction197#action for (self: ReduceAction197, Parser) */
996 void nit__parser___nit__parser__ReduceAction197___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
997 val
* var_p
/* var p: Parser */;
998 val
* var_node_list
/* var node_list: nullable Object */;
999 val
* var
/* : nullable Object */;
1000 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1001 val
* var1
/* : nullable Object */;
1002 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1003 val
* var2
/* : nullable Object */;
1004 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1005 val
* var3
/* : AImplicitSelfExpr */;
1006 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
1007 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
1008 short int var4
/* : Bool */;
1011 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
1012 short int var5
/* : Bool */;
1015 val
* var8
/* : AInitExpr */;
1016 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
1017 long var9
/* : Int */;
1018 long var10
/* : Int */;
1020 var_node_list
= ((val
*)NULL
);
1022 var
= nit___nit__Parser___pop(var_p
);
1024 var_nodearraylist3
= var
;
1026 var1
= nit___nit__Parser___pop(var_p
);
1028 var_nodearraylist2
= var1
;
1030 var2
= nit___nit__Parser___pop(var_p
);
1032 var_nodearraylist1
= var2
;
1033 var3
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
1035 nit__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var3
); /* Direct call parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr on <var3:AImplicitSelfExpr>*/
1037 var_pexprnode2
= var3
;
1038 var_tkwinitnode3
= var_nodearraylist2
;
1039 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
1040 cltype
= type_nullable__nit__TKwinit
.color
;
1041 idtype
= type_nullable__nit__TKwinit
.id
;
1042 if(var_tkwinitnode3
== NULL
) {
1045 if(cltype
>= (((long)var_tkwinitnode3
&3)?type_info
[((long)var_tkwinitnode3
&3)]:var_tkwinitnode3
->type
)->table_size
) {
1048 var4
= (((long)var_tkwinitnode3
&3)?type_info
[((long)var_tkwinitnode3
&3)]:var_tkwinitnode3
->type
)->type_table
[cltype
] == idtype
;
1051 if (unlikely(!var4
)) {
1052 PRINT_ERROR("Runtime error: %s", "Assert failed");
1053 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5579);
1056 var_pexprsnode4
= var_nodearraylist3
;
1057 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
1058 cltype6
= type_nullable__nit__AExprs
.color
;
1059 idtype7
= type_nullable__nit__AExprs
.id
;
1060 if(var_pexprsnode4
== NULL
) {
1063 if(cltype6
>= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->table_size
) {
1066 var5
= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->type_table
[cltype6
] == idtype7
;
1069 if (unlikely(!var5
)) {
1070 PRINT_ERROR("Runtime error: %s", "Assert failed");
1071 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5581);
1074 var8
= NEW_nit__AInitExpr(&type_nit__AInitExpr
);
1076 nit__parser_prod___AInitExpr___init_ainitexpr(var8
, var_pexprnode2
, var_tkwinitnode3
, var_pexprsnode4
); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var8:AInitExpr>*/
1078 var_pexprnode1
= var8
;
1079 var_node_list
= var_pexprnode1
;
1080 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction197> */
1082 var10
= nit___nit__Parser___go_to(var_p
, var9
);
1085 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1089 /* method parser#ReduceAction198#action for (self: ReduceAction198, Parser) */
1090 void nit__parser___nit__parser__ReduceAction198___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1091 val
* var_p
/* var p: Parser */;
1092 val
* var_node_list
/* var node_list: nullable Object */;
1093 val
* var
/* : nullable Object */;
1094 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1095 val
* var1
/* : nullable Object */;
1096 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1097 val
* var2
/* : nullable Object */;
1098 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1099 val
* var3
/* : nullable Object */;
1100 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1101 val
* var4
/* : AImplicitSelfExpr */;
1102 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
1103 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
1104 short int var5
/* : Bool */;
1107 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
1108 short int var6
/* : Bool */;
1111 val
* var9
/* : AInitExpr */;
1112 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
1113 long var10
/* : Int */;
1114 long var11
/* : Int */;
1116 var_node_list
= ((val
*)NULL
);
1118 var
= nit___nit__Parser___pop(var_p
);
1120 var_nodearraylist4
= var
;
1122 var1
= nit___nit__Parser___pop(var_p
);
1124 var_nodearraylist3
= var1
;
1126 var2
= nit___nit__Parser___pop(var_p
);
1128 var_nodearraylist2
= var2
;
1130 var3
= nit___nit__Parser___pop(var_p
);
1132 var_nodearraylist1
= var3
;
1133 var4
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
1135 nit__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var4
); /* Direct call parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr on <var4:AImplicitSelfExpr>*/
1137 var_pexprnode2
= var4
;
1138 var_tkwinitnode3
= var_nodearraylist3
;
1139 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
1140 cltype
= type_nullable__nit__TKwinit
.color
;
1141 idtype
= type_nullable__nit__TKwinit
.id
;
1142 if(var_tkwinitnode3
== NULL
) {
1145 if(cltype
>= (((long)var_tkwinitnode3
&3)?type_info
[((long)var_tkwinitnode3
&3)]:var_tkwinitnode3
->type
)->table_size
) {
1148 var5
= (((long)var_tkwinitnode3
&3)?type_info
[((long)var_tkwinitnode3
&3)]:var_tkwinitnode3
->type
)->type_table
[cltype
] == idtype
;
1151 if (unlikely(!var5
)) {
1152 PRINT_ERROR("Runtime error: %s", "Assert failed");
1153 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5602);
1156 var_pexprsnode4
= var_nodearraylist4
;
1157 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
1158 cltype7
= type_nullable__nit__AExprs
.color
;
1159 idtype8
= type_nullable__nit__AExprs
.id
;
1160 if(var_pexprsnode4
== NULL
) {
1163 if(cltype7
>= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->table_size
) {
1166 var6
= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->type_table
[cltype7
] == idtype8
;
1169 if (unlikely(!var6
)) {
1170 PRINT_ERROR("Runtime error: %s", "Assert failed");
1171 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5604);
1174 var9
= NEW_nit__AInitExpr(&type_nit__AInitExpr
);
1176 nit__parser_prod___AInitExpr___init_ainitexpr(var9
, var_pexprnode2
, var_tkwinitnode3
, var_pexprsnode4
); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var9:AInitExpr>*/
1178 var_pexprnode1
= var9
;
1179 var_node_list
= var_pexprnode1
;
1180 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction198> */
1182 var11
= nit___nit__Parser___go_to(var_p
, var10
);
1185 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1189 /* method parser#ReduceAction200#action for (self: ReduceAction200, Parser) */
1190 void nit__parser___nit__parser__ReduceAction200___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1191 val
* var_p
/* var p: Parser */;
1192 val
* var_node_list
/* var node_list: nullable Object */;
1193 val
* var
/* : nullable Object */;
1194 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1195 val
* var1
/* : nullable Object */;
1196 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1197 val
* var2
/* : nullable Object */;
1198 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1199 val
* var3
/* : nullable Object */;
1200 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1201 val
* var4
/* : nullable Object */;
1202 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1203 val
* var_tkwdebugnode2
/* var tkwdebugnode2: nullable Object */;
1204 short int var5
/* : Bool */;
1207 val
* var_tkwtypenode3
/* var tkwtypenode3: nullable Object */;
1208 short int var6
/* : Bool */;
1211 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
1212 short int var9
/* : Bool */;
1215 val
* var_ptypenode5
/* var ptypenode5: nullable Object */;
1216 short int var12
/* : Bool */;
1219 val
* var15
/* : ADebugTypeExpr */;
1220 val
* var_pexprnode1
/* var pexprnode1: nullable ADebugTypeExpr */;
1221 long var16
/* : Int */;
1222 long var17
/* : Int */;
1224 var_node_list
= ((val
*)NULL
);
1226 var
= nit___nit__Parser___pop(var_p
);
1228 var_nodearraylist5
= var
;
1230 var1
= nit___nit__Parser___pop(var_p
);
1232 var_nodearraylist4
= var1
;
1234 var2
= nit___nit__Parser___pop(var_p
);
1236 var_nodearraylist3
= var2
;
1238 var3
= nit___nit__Parser___pop(var_p
);
1240 var_nodearraylist2
= var3
;
1242 var4
= nit___nit__Parser___pop(var_p
);
1244 var_nodearraylist1
= var4
;
1245 var_tkwdebugnode2
= var_nodearraylist1
;
1246 /* <var_tkwdebugnode2:nullable Object> isa nullable TKwdebug */
1247 cltype
= type_nullable__nit__TKwdebug
.color
;
1248 idtype
= type_nullable__nit__TKwdebug
.id
;
1249 if(var_tkwdebugnode2
== NULL
) {
1252 if(cltype
>= (((long)var_tkwdebugnode2
&3)?type_info
[((long)var_tkwdebugnode2
&3)]:var_tkwdebugnode2
->type
)->table_size
) {
1255 var5
= (((long)var_tkwdebugnode2
&3)?type_info
[((long)var_tkwdebugnode2
&3)]:var_tkwdebugnode2
->type
)->type_table
[cltype
] == idtype
;
1258 if (unlikely(!var5
)) {
1259 PRINT_ERROR("Runtime error: %s", "Assert failed");
1260 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5625);
1263 var_tkwtypenode3
= var_nodearraylist2
;
1264 /* <var_tkwtypenode3:nullable Object> isa nullable TKwtype */
1265 cltype7
= type_nullable__nit__TKwtype
.color
;
1266 idtype8
= type_nullable__nit__TKwtype
.id
;
1267 if(var_tkwtypenode3
== NULL
) {
1270 if(cltype7
>= (((long)var_tkwtypenode3
&3)?type_info
[((long)var_tkwtypenode3
&3)]:var_tkwtypenode3
->type
)->table_size
) {
1273 var6
= (((long)var_tkwtypenode3
&3)?type_info
[((long)var_tkwtypenode3
&3)]:var_tkwtypenode3
->type
)->type_table
[cltype7
] == idtype8
;
1276 if (unlikely(!var6
)) {
1277 PRINT_ERROR("Runtime error: %s", "Assert failed");
1278 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5627);
1281 var_pexprnode4
= var_nodearraylist5
;
1282 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
1283 cltype10
= type_nullable__nit__AExpr
.color
;
1284 idtype11
= type_nullable__nit__AExpr
.id
;
1285 if(var_pexprnode4
== NULL
) {
1288 if(cltype10
>= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->table_size
) {
1291 var9
= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->type_table
[cltype10
] == idtype11
;
1294 if (unlikely(!var9
)) {
1295 PRINT_ERROR("Runtime error: %s", "Assert failed");
1296 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5629);
1299 var_ptypenode5
= var_nodearraylist3
;
1300 /* <var_ptypenode5:nullable Object> isa nullable AType */
1301 cltype13
= type_nullable__nit__AType
.color
;
1302 idtype14
= type_nullable__nit__AType
.id
;
1303 if(var_ptypenode5
== NULL
) {
1306 if(cltype13
>= (((long)var_ptypenode5
&3)?type_info
[((long)var_ptypenode5
&3)]:var_ptypenode5
->type
)->table_size
) {
1309 var12
= (((long)var_ptypenode5
&3)?type_info
[((long)var_ptypenode5
&3)]:var_ptypenode5
->type
)->type_table
[cltype13
] == idtype14
;
1312 if (unlikely(!var12
)) {
1313 PRINT_ERROR("Runtime error: %s", "Assert failed");
1314 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5631);
1317 var15
= NEW_nit__ADebugTypeExpr(&type_nit__ADebugTypeExpr
);
1319 nit__parser_prod___ADebugTypeExpr___init_adebugtypeexpr(var15
, var_tkwdebugnode2
, var_tkwtypenode3
, var_pexprnode4
, var_ptypenode5
); /* Direct call parser_prod#ADebugTypeExpr#init_adebugtypeexpr on <var15:ADebugTypeExpr>*/
1321 var_pexprnode1
= var15
;
1322 var_node_list
= var_pexprnode1
;
1323 var16
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction200> */
1325 var17
= nit___nit__Parser___go_to(var_p
, var16
);
1328 nit___nit__Parser___push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1332 /* method parser#ReduceAction201#action for (self: ReduceAction201, Parser) */
1333 void nit__parser___nit__parser__ReduceAction201___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1334 val
* var_p
/* var p: Parser */;
1335 val
* var_node_list
/* var node_list: nullable Object */;
1336 val
* var
/* : nullable Object */;
1337 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1338 val
* var_tkwlabelnode2
/* var tkwlabelnode2: nullable Object */;
1339 short int var1
/* : Bool */;
1342 val
* var2
/* : ALabel */;
1343 val
* var_plabelnode1
/* var plabelnode1: nullable ALabel */;
1344 long var3
/* : Int */;
1345 long var4
/* : Int */;
1347 var_node_list
= ((val
*)NULL
);
1349 var
= nit___nit__Parser___pop(var_p
);
1351 var_nodearraylist1
= var
;
1352 var_tkwlabelnode2
= var_nodearraylist1
;
1353 /* <var_tkwlabelnode2:nullable Object> isa nullable TKwlabel */
1354 cltype
= type_nullable__nit__TKwlabel
.color
;
1355 idtype
= type_nullable__nit__TKwlabel
.id
;
1356 if(var_tkwlabelnode2
== NULL
) {
1359 if(cltype
>= (((long)var_tkwlabelnode2
&3)?type_info
[((long)var_tkwlabelnode2
&3)]:var_tkwlabelnode2
->type
)->table_size
) {
1362 var1
= (((long)var_tkwlabelnode2
&3)?type_info
[((long)var_tkwlabelnode2
&3)]:var_tkwlabelnode2
->type
)->type_table
[cltype
] == idtype
;
1365 if (unlikely(!var1
)) {
1366 PRINT_ERROR("Runtime error: %s", "Assert failed");
1367 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5649);
1370 var2
= NEW_nit__ALabel(&type_nit__ALabel
);
1372 nit__parser_prod___ALabel___init_alabel(var2
, var_tkwlabelnode2
, ((val
*)NULL
)); /* Direct call parser_prod#ALabel#init_alabel on <var2:ALabel>*/
1374 var_plabelnode1
= var2
;
1375 var_node_list
= var_plabelnode1
;
1376 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction201> */
1378 var4
= nit___nit__Parser___go_to(var_p
, var3
);
1381 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1385 /* method parser#ReduceAction202#action for (self: ReduceAction202, Parser) */
1386 void nit__parser___nit__parser__ReduceAction202___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1387 val
* var_p
/* var p: Parser */;
1388 val
* var_node_list
/* var node_list: nullable Object */;
1389 val
* var
/* : nullable Object */;
1390 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1391 val
* var1
/* : nullable Object */;
1392 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1393 val
* var_tkwlabelnode2
/* var tkwlabelnode2: nullable Object */;
1394 short int var2
/* : Bool */;
1397 val
* var_tidnode3
/* var tidnode3: nullable Object */;
1398 short int var3
/* : Bool */;
1401 val
* var6
/* : ALabel */;
1402 val
* var_plabelnode1
/* var plabelnode1: nullable ALabel */;
1403 long var7
/* : Int */;
1404 long var8
/* : Int */;
1406 var_node_list
= ((val
*)NULL
);
1408 var
= nit___nit__Parser___pop(var_p
);
1410 var_nodearraylist2
= var
;
1412 var1
= nit___nit__Parser___pop(var_p
);
1414 var_nodearraylist1
= var1
;
1415 var_tkwlabelnode2
= var_nodearraylist1
;
1416 /* <var_tkwlabelnode2:nullable Object> isa nullable TKwlabel */
1417 cltype
= type_nullable__nit__TKwlabel
.color
;
1418 idtype
= type_nullable__nit__TKwlabel
.id
;
1419 if(var_tkwlabelnode2
== NULL
) {
1422 if(cltype
>= (((long)var_tkwlabelnode2
&3)?type_info
[((long)var_tkwlabelnode2
&3)]:var_tkwlabelnode2
->type
)->table_size
) {
1425 var2
= (((long)var_tkwlabelnode2
&3)?type_info
[((long)var_tkwlabelnode2
&3)]:var_tkwlabelnode2
->type
)->type_table
[cltype
] == idtype
;
1428 if (unlikely(!var2
)) {
1429 PRINT_ERROR("Runtime error: %s", "Assert failed");
1430 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5666);
1433 var_tidnode3
= var_nodearraylist2
;
1434 /* <var_tidnode3:nullable Object> isa nullable TId */
1435 cltype4
= type_nullable__nit__TId
.color
;
1436 idtype5
= type_nullable__nit__TId
.id
;
1437 if(var_tidnode3
== NULL
) {
1440 if(cltype4
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
1443 var3
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype4
] == idtype5
;
1446 if (unlikely(!var3
)) {
1447 PRINT_ERROR("Runtime error: %s", "Assert failed");
1448 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5668);
1451 var6
= NEW_nit__ALabel(&type_nit__ALabel
);
1453 nit__parser_prod___ALabel___init_alabel(var6
, var_tkwlabelnode2
, var_tidnode3
); /* Direct call parser_prod#ALabel#init_alabel on <var6:ALabel>*/
1455 var_plabelnode1
= var6
;
1456 var_node_list
= var_plabelnode1
;
1457 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction202> */
1459 var8
= nit___nit__Parser___go_to(var_p
, var7
);
1462 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1466 /* method parser#ReduceAction203#action for (self: ReduceAction203, Parser) */
1467 void nit__parser___nit__parser__ReduceAction203___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1468 val
* var_p
/* var p: Parser */;
1469 val
* var_node_list
/* var node_list: nullable Object */;
1470 val
* var
/* : nullable Object */;
1471 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1472 val
* var1
/* : nullable Object */;
1473 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1474 val
* var2
/* : nullable Object */;
1475 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1476 val
* var_tkwvarnode2
/* var tkwvarnode2: nullable Object */;
1477 short int var3
/* : Bool */;
1480 val
* var_tidnode3
/* var tidnode3: nullable Object */;
1481 short int var4
/* : Bool */;
1484 val
* var_ptypenode4
/* var ptypenode4: nullable Object */;
1485 short int var7
/* : Bool */;
1488 val
* var10
/* : AVardeclExpr */;
1489 val
* var_pexprnode1
/* var pexprnode1: nullable AVardeclExpr */;
1490 long var11
/* : Int */;
1491 long var12
/* : Int */;
1493 var_node_list
= ((val
*)NULL
);
1495 var
= nit___nit__Parser___pop(var_p
);
1497 var_nodearraylist3
= var
;
1499 var1
= nit___nit__Parser___pop(var_p
);
1501 var_nodearraylist2
= var1
;
1503 var2
= nit___nit__Parser___pop(var_p
);
1505 var_nodearraylist1
= var2
;
1506 var_tkwvarnode2
= var_nodearraylist1
;
1507 /* <var_tkwvarnode2:nullable Object> isa nullable TKwvar */
1508 cltype
= type_nullable__nit__TKwvar
.color
;
1509 idtype
= type_nullable__nit__TKwvar
.id
;
1510 if(var_tkwvarnode2
== NULL
) {
1513 if(cltype
>= (((long)var_tkwvarnode2
&3)?type_info
[((long)var_tkwvarnode2
&3)]:var_tkwvarnode2
->type
)->table_size
) {
1516 var3
= (((long)var_tkwvarnode2
&3)?type_info
[((long)var_tkwvarnode2
&3)]:var_tkwvarnode2
->type
)->type_table
[cltype
] == idtype
;
1519 if (unlikely(!var3
)) {
1520 PRINT_ERROR("Runtime error: %s", "Assert failed");
1521 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5686);
1524 var_tidnode3
= var_nodearraylist2
;
1525 /* <var_tidnode3:nullable Object> isa nullable TId */
1526 cltype5
= type_nullable__nit__TId
.color
;
1527 idtype6
= type_nullable__nit__TId
.id
;
1528 if(var_tidnode3
== NULL
) {
1531 if(cltype5
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
1534 var4
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype5
] == idtype6
;
1537 if (unlikely(!var4
)) {
1538 PRINT_ERROR("Runtime error: %s", "Assert failed");
1539 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5688);
1542 var_ptypenode4
= var_nodearraylist3
;
1543 /* <var_ptypenode4:nullable Object> isa nullable AType */
1544 cltype8
= type_nullable__nit__AType
.color
;
1545 idtype9
= type_nullable__nit__AType
.id
;
1546 if(var_ptypenode4
== NULL
) {
1549 if(cltype8
>= (((long)var_ptypenode4
&3)?type_info
[((long)var_ptypenode4
&3)]:var_ptypenode4
->type
)->table_size
) {
1552 var7
= (((long)var_ptypenode4
&3)?type_info
[((long)var_ptypenode4
&3)]:var_ptypenode4
->type
)->type_table
[cltype8
] == idtype9
;
1555 if (unlikely(!var7
)) {
1556 PRINT_ERROR("Runtime error: %s", "Assert failed");
1557 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5690);
1560 var10
= NEW_nit__AVardeclExpr(&type_nit__AVardeclExpr
);
1562 nit__parser_prod___AVardeclExpr___init_avardeclexpr(var10
, var_tkwvarnode2
, var_tidnode3
, var_ptypenode4
, ((val
*)NULL
), ((val
*)NULL
), ((val
*)NULL
)); /* Direct call parser_prod#AVardeclExpr#init_avardeclexpr on <var10:AVardeclExpr>*/
1564 var_pexprnode1
= var10
;
1565 var_node_list
= var_pexprnode1
;
1566 var11
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction203> */
1568 var12
= nit___nit__Parser___go_to(var_p
, var11
);
1571 nit___nit__Parser___push(var_p
, var12
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1575 /* method parser#ReduceAction204#action for (self: ReduceAction204, Parser) */
1576 void nit__parser___nit__parser__ReduceAction204___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1577 val
* var_p
/* var p: Parser */;
1578 val
* var_node_list
/* var node_list: nullable Object */;
1579 val
* var
/* : nullable Object */;
1580 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1581 val
* var1
/* : nullable Object */;
1582 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1583 val
* var2
/* : nullable Object */;
1584 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1585 val
* var3
/* : nullable Object */;
1586 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1587 val
* var_tkwvarnode2
/* var tkwvarnode2: nullable Object */;
1588 short int var4
/* : Bool */;
1591 val
* var_tidnode3
/* var tidnode3: nullable Object */;
1592 short int var5
/* : Bool */;
1595 val
* var_ptypenode4
/* var ptypenode4: nullable Object */;
1596 short int var8
/* : Bool */;
1599 val
* var_pannotationsnode7
/* var pannotationsnode7: nullable Object */;
1600 short int var11
/* : Bool */;
1603 val
* var14
/* : AVardeclExpr */;
1604 val
* var_pexprnode1
/* var pexprnode1: nullable AVardeclExpr */;
1605 long var15
/* : Int */;
1606 long var16
/* : Int */;
1608 var_node_list
= ((val
*)NULL
);
1610 var
= nit___nit__Parser___pop(var_p
);
1612 var_nodearraylist4
= var
;
1614 var1
= nit___nit__Parser___pop(var_p
);
1616 var_nodearraylist3
= var1
;
1618 var2
= nit___nit__Parser___pop(var_p
);
1620 var_nodearraylist2
= var2
;
1622 var3
= nit___nit__Parser___pop(var_p
);
1624 var_nodearraylist1
= var3
;
1625 var_tkwvarnode2
= var_nodearraylist1
;
1626 /* <var_tkwvarnode2:nullable Object> isa nullable TKwvar */
1627 cltype
= type_nullable__nit__TKwvar
.color
;
1628 idtype
= type_nullable__nit__TKwvar
.id
;
1629 if(var_tkwvarnode2
== NULL
) {
1632 if(cltype
>= (((long)var_tkwvarnode2
&3)?type_info
[((long)var_tkwvarnode2
&3)]:var_tkwvarnode2
->type
)->table_size
) {
1635 var4
= (((long)var_tkwvarnode2
&3)?type_info
[((long)var_tkwvarnode2
&3)]:var_tkwvarnode2
->type
)->type_table
[cltype
] == idtype
;
1638 if (unlikely(!var4
)) {
1639 PRINT_ERROR("Runtime error: %s", "Assert failed");
1640 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5713);
1643 var_tidnode3
= var_nodearraylist2
;
1644 /* <var_tidnode3:nullable Object> isa nullable TId */
1645 cltype6
= type_nullable__nit__TId
.color
;
1646 idtype7
= type_nullable__nit__TId
.id
;
1647 if(var_tidnode3
== NULL
) {
1650 if(cltype6
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
1653 var5
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype6
] == idtype7
;
1656 if (unlikely(!var5
)) {
1657 PRINT_ERROR("Runtime error: %s", "Assert failed");
1658 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5715);
1661 var_ptypenode4
= var_nodearraylist4
;
1662 /* <var_ptypenode4:nullable Object> isa nullable AType */
1663 cltype9
= type_nullable__nit__AType
.color
;
1664 idtype10
= type_nullable__nit__AType
.id
;
1665 if(var_ptypenode4
== NULL
) {
1668 if(cltype9
>= (((long)var_ptypenode4
&3)?type_info
[((long)var_ptypenode4
&3)]:var_ptypenode4
->type
)->table_size
) {
1671 var8
= (((long)var_ptypenode4
&3)?type_info
[((long)var_ptypenode4
&3)]:var_ptypenode4
->type
)->type_table
[cltype9
] == idtype10
;
1674 if (unlikely(!var8
)) {
1675 PRINT_ERROR("Runtime error: %s", "Assert failed");
1676 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5717);
1679 var_pannotationsnode7
= var_nodearraylist3
;
1680 /* <var_pannotationsnode7:nullable Object> isa nullable AAnnotations */
1681 cltype12
= type_nullable__nit__AAnnotations
.color
;
1682 idtype13
= type_nullable__nit__AAnnotations
.id
;
1683 if(var_pannotationsnode7
== NULL
) {
1686 if(cltype12
>= (((long)var_pannotationsnode7
&3)?type_info
[((long)var_pannotationsnode7
&3)]:var_pannotationsnode7
->type
)->table_size
) {
1689 var11
= (((long)var_pannotationsnode7
&3)?type_info
[((long)var_pannotationsnode7
&3)]:var_pannotationsnode7
->type
)->type_table
[cltype12
] == idtype13
;
1692 if (unlikely(!var11
)) {
1693 PRINT_ERROR("Runtime error: %s", "Assert failed");
1694 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5719);
1697 var14
= NEW_nit__AVardeclExpr(&type_nit__AVardeclExpr
);
1699 nit__parser_prod___AVardeclExpr___init_avardeclexpr(var14
, var_tkwvarnode2
, var_tidnode3
, var_ptypenode4
, ((val
*)NULL
), ((val
*)NULL
), var_pannotationsnode7
); /* Direct call parser_prod#AVardeclExpr#init_avardeclexpr on <var14:AVardeclExpr>*/
1701 var_pexprnode1
= var14
;
1702 var_node_list
= var_pexprnode1
;
1703 var15
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction204> */
1705 var16
= nit___nit__Parser___go_to(var_p
, var15
);
1708 nit___nit__Parser___push(var_p
, var16
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1712 /* method parser#ReduceAction205#action for (self: ReduceAction205, Parser) */
1713 void nit__parser___nit__parser__ReduceAction205___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1714 val
* var_p
/* var p: Parser */;
1715 val
* var_node_list
/* var node_list: nullable Object */;
1716 val
* var
/* : nullable Object */;
1717 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
1718 val
* var1
/* : nullable Object */;
1719 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1720 val
* var2
/* : nullable Object */;
1721 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1722 val
* var3
/* : nullable Object */;
1723 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1724 val
* var4
/* : nullable Object */;
1725 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1726 val
* var5
/* : nullable Object */;
1727 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1728 val
* var_tkwvarnode2
/* var tkwvarnode2: nullable Object */;
1729 short int var6
/* : Bool */;
1732 val
* var_tidnode3
/* var tidnode3: nullable Object */;
1733 short int var7
/* : Bool */;
1736 val
* var_ptypenode4
/* var ptypenode4: nullable Object */;
1737 short int var10
/* : Bool */;
1740 val
* var_tassignnode5
/* var tassignnode5: nullable Object */;
1741 short int var13
/* : Bool */;
1744 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
1745 short int var16
/* : Bool */;
1748 val
* var19
/* : AVardeclExpr */;
1749 val
* var_pexprnode1
/* var pexprnode1: nullable AVardeclExpr */;
1750 long var20
/* : Int */;
1751 long var21
/* : Int */;
1753 var_node_list
= ((val
*)NULL
);
1755 var
= nit___nit__Parser___pop(var_p
);
1757 var_nodearraylist6
= var
;
1759 var1
= nit___nit__Parser___pop(var_p
);
1761 var_nodearraylist5
= var1
;
1763 var2
= nit___nit__Parser___pop(var_p
);
1765 var_nodearraylist4
= var2
;
1767 var3
= nit___nit__Parser___pop(var_p
);
1769 var_nodearraylist3
= var3
;
1771 var4
= nit___nit__Parser___pop(var_p
);
1773 var_nodearraylist2
= var4
;
1775 var5
= nit___nit__Parser___pop(var_p
);
1777 var_nodearraylist1
= var5
;
1778 var_tkwvarnode2
= var_nodearraylist1
;
1779 /* <var_tkwvarnode2:nullable Object> isa nullable TKwvar */
1780 cltype
= type_nullable__nit__TKwvar
.color
;
1781 idtype
= type_nullable__nit__TKwvar
.id
;
1782 if(var_tkwvarnode2
== NULL
) {
1785 if(cltype
>= (((long)var_tkwvarnode2
&3)?type_info
[((long)var_tkwvarnode2
&3)]:var_tkwvarnode2
->type
)->table_size
) {
1788 var6
= (((long)var_tkwvarnode2
&3)?type_info
[((long)var_tkwvarnode2
&3)]:var_tkwvarnode2
->type
)->type_table
[cltype
] == idtype
;
1791 if (unlikely(!var6
)) {
1792 PRINT_ERROR("Runtime error: %s", "Assert failed");
1793 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5744);
1796 var_tidnode3
= var_nodearraylist2
;
1797 /* <var_tidnode3:nullable Object> isa nullable TId */
1798 cltype8
= type_nullable__nit__TId
.color
;
1799 idtype9
= type_nullable__nit__TId
.id
;
1800 if(var_tidnode3
== NULL
) {
1803 if(cltype8
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
1806 var7
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype8
] == idtype9
;
1809 if (unlikely(!var7
)) {
1810 PRINT_ERROR("Runtime error: %s", "Assert failed");
1811 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5746);
1814 var_ptypenode4
= var_nodearraylist3
;
1815 /* <var_ptypenode4:nullable Object> isa nullable AType */
1816 cltype11
= type_nullable__nit__AType
.color
;
1817 idtype12
= type_nullable__nit__AType
.id
;
1818 if(var_ptypenode4
== NULL
) {
1821 if(cltype11
>= (((long)var_ptypenode4
&3)?type_info
[((long)var_ptypenode4
&3)]:var_ptypenode4
->type
)->table_size
) {
1824 var10
= (((long)var_ptypenode4
&3)?type_info
[((long)var_ptypenode4
&3)]:var_ptypenode4
->type
)->type_table
[cltype11
] == idtype12
;
1827 if (unlikely(!var10
)) {
1828 PRINT_ERROR("Runtime error: %s", "Assert failed");
1829 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5748);
1832 var_tassignnode5
= var_nodearraylist4
;
1833 /* <var_tassignnode5:nullable Object> isa nullable TAssign */
1834 cltype14
= type_nullable__nit__TAssign
.color
;
1835 idtype15
= type_nullable__nit__TAssign
.id
;
1836 if(var_tassignnode5
== NULL
) {
1839 if(cltype14
>= (((long)var_tassignnode5
&3)?type_info
[((long)var_tassignnode5
&3)]:var_tassignnode5
->type
)->table_size
) {
1842 var13
= (((long)var_tassignnode5
&3)?type_info
[((long)var_tassignnode5
&3)]:var_tassignnode5
->type
)->type_table
[cltype14
] == idtype15
;
1845 if (unlikely(!var13
)) {
1846 PRINT_ERROR("Runtime error: %s", "Assert failed");
1847 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5750);
1850 var_pexprnode6
= var_nodearraylist6
;
1851 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
1852 cltype17
= type_nullable__nit__AExpr
.color
;
1853 idtype18
= type_nullable__nit__AExpr
.id
;
1854 if(var_pexprnode6
== NULL
) {
1857 if(cltype17
>= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->table_size
) {
1860 var16
= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->type_table
[cltype17
] == idtype18
;
1863 if (unlikely(!var16
)) {
1864 PRINT_ERROR("Runtime error: %s", "Assert failed");
1865 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5752);
1868 var19
= NEW_nit__AVardeclExpr(&type_nit__AVardeclExpr
);
1870 nit__parser_prod___AVardeclExpr___init_avardeclexpr(var19
, var_tkwvarnode2
, var_tidnode3
, var_ptypenode4
, var_tassignnode5
, var_pexprnode6
, ((val
*)NULL
)); /* Direct call parser_prod#AVardeclExpr#init_avardeclexpr on <var19:AVardeclExpr>*/
1872 var_pexprnode1
= var19
;
1873 var_node_list
= var_pexprnode1
;
1874 var20
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction205> */
1876 var21
= nit___nit__Parser___go_to(var_p
, var20
);
1879 nit___nit__Parser___push(var_p
, var21
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1883 /* method parser#ReduceAction206#action for (self: ReduceAction206, Parser) */
1884 void nit__parser___nit__parser__ReduceAction206___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1885 val
* var_p
/* var p: Parser */;
1886 val
* var_node_list
/* var node_list: nullable Object */;
1887 val
* var
/* : nullable Object */;
1888 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
1889 val
* var1
/* : nullable Object */;
1890 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
1891 val
* var2
/* : nullable Object */;
1892 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1893 val
* var3
/* : nullable Object */;
1894 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1895 val
* var4
/* : nullable Object */;
1896 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1897 val
* var5
/* : nullable Object */;
1898 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1899 val
* var6
/* : nullable Object */;
1900 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1901 val
* var_tkwvarnode2
/* var tkwvarnode2: nullable Object */;
1902 short int var7
/* : Bool */;
1905 val
* var_tidnode3
/* var tidnode3: nullable Object */;
1906 short int var8
/* : Bool */;
1909 val
* var_ptypenode4
/* var ptypenode4: nullable Object */;
1910 short int var11
/* : Bool */;
1913 val
* var_tassignnode5
/* var tassignnode5: nullable Object */;
1914 short int var14
/* : Bool */;
1917 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
1918 short int var17
/* : Bool */;
1921 val
* var_pannotationsnode7
/* var pannotationsnode7: nullable Object */;
1922 short int var20
/* : Bool */;
1925 val
* var23
/* : AVardeclExpr */;
1926 val
* var_pexprnode1
/* var pexprnode1: nullable AVardeclExpr */;
1927 long var24
/* : Int */;
1928 long var25
/* : Int */;
1930 var_node_list
= ((val
*)NULL
);
1932 var
= nit___nit__Parser___pop(var_p
);
1934 var_nodearraylist7
= var
;
1936 var1
= nit___nit__Parser___pop(var_p
);
1938 var_nodearraylist6
= var1
;
1940 var2
= nit___nit__Parser___pop(var_p
);
1942 var_nodearraylist5
= var2
;
1944 var3
= nit___nit__Parser___pop(var_p
);
1946 var_nodearraylist4
= var3
;
1948 var4
= nit___nit__Parser___pop(var_p
);
1950 var_nodearraylist3
= var4
;
1952 var5
= nit___nit__Parser___pop(var_p
);
1954 var_nodearraylist2
= var5
;
1956 var6
= nit___nit__Parser___pop(var_p
);
1958 var_nodearraylist1
= var6
;
1959 var_tkwvarnode2
= var_nodearraylist1
;
1960 /* <var_tkwvarnode2:nullable Object> isa nullable TKwvar */
1961 cltype
= type_nullable__nit__TKwvar
.color
;
1962 idtype
= type_nullable__nit__TKwvar
.id
;
1963 if(var_tkwvarnode2
== NULL
) {
1966 if(cltype
>= (((long)var_tkwvarnode2
&3)?type_info
[((long)var_tkwvarnode2
&3)]:var_tkwvarnode2
->type
)->table_size
) {
1969 var7
= (((long)var_tkwvarnode2
&3)?type_info
[((long)var_tkwvarnode2
&3)]:var_tkwvarnode2
->type
)->type_table
[cltype
] == idtype
;
1972 if (unlikely(!var7
)) {
1973 PRINT_ERROR("Runtime error: %s", "Assert failed");
1974 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5778);
1977 var_tidnode3
= var_nodearraylist2
;
1978 /* <var_tidnode3:nullable Object> isa nullable TId */
1979 cltype9
= type_nullable__nit__TId
.color
;
1980 idtype10
= type_nullable__nit__TId
.id
;
1981 if(var_tidnode3
== NULL
) {
1984 if(cltype9
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
1987 var8
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype9
] == idtype10
;
1990 if (unlikely(!var8
)) {
1991 PRINT_ERROR("Runtime error: %s", "Assert failed");
1992 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5780);
1995 var_ptypenode4
= var_nodearraylist4
;
1996 /* <var_ptypenode4:nullable Object> isa nullable AType */
1997 cltype12
= type_nullable__nit__AType
.color
;
1998 idtype13
= type_nullable__nit__AType
.id
;
1999 if(var_ptypenode4
== NULL
) {
2002 if(cltype12
>= (((long)var_ptypenode4
&3)?type_info
[((long)var_ptypenode4
&3)]:var_ptypenode4
->type
)->table_size
) {
2005 var11
= (((long)var_ptypenode4
&3)?type_info
[((long)var_ptypenode4
&3)]:var_ptypenode4
->type
)->type_table
[cltype12
] == idtype13
;
2008 if (unlikely(!var11
)) {
2009 PRINT_ERROR("Runtime error: %s", "Assert failed");
2010 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5782);
2013 var_tassignnode5
= var_nodearraylist5
;
2014 /* <var_tassignnode5:nullable Object> isa nullable TAssign */
2015 cltype15
= type_nullable__nit__TAssign
.color
;
2016 idtype16
= type_nullable__nit__TAssign
.id
;
2017 if(var_tassignnode5
== NULL
) {
2020 if(cltype15
>= (((long)var_tassignnode5
&3)?type_info
[((long)var_tassignnode5
&3)]:var_tassignnode5
->type
)->table_size
) {
2023 var14
= (((long)var_tassignnode5
&3)?type_info
[((long)var_tassignnode5
&3)]:var_tassignnode5
->type
)->type_table
[cltype15
] == idtype16
;
2026 if (unlikely(!var14
)) {
2027 PRINT_ERROR("Runtime error: %s", "Assert failed");
2028 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5784);
2031 var_pexprnode6
= var_nodearraylist7
;
2032 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
2033 cltype18
= type_nullable__nit__AExpr
.color
;
2034 idtype19
= type_nullable__nit__AExpr
.id
;
2035 if(var_pexprnode6
== NULL
) {
2038 if(cltype18
>= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->table_size
) {
2041 var17
= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->type_table
[cltype18
] == idtype19
;
2044 if (unlikely(!var17
)) {
2045 PRINT_ERROR("Runtime error: %s", "Assert failed");
2046 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5786);
2049 var_pannotationsnode7
= var_nodearraylist3
;
2050 /* <var_pannotationsnode7:nullable Object> isa nullable AAnnotations */
2051 cltype21
= type_nullable__nit__AAnnotations
.color
;
2052 idtype22
= type_nullable__nit__AAnnotations
.id
;
2053 if(var_pannotationsnode7
== NULL
) {
2056 if(cltype21
>= (((long)var_pannotationsnode7
&3)?type_info
[((long)var_pannotationsnode7
&3)]:var_pannotationsnode7
->type
)->table_size
) {
2059 var20
= (((long)var_pannotationsnode7
&3)?type_info
[((long)var_pannotationsnode7
&3)]:var_pannotationsnode7
->type
)->type_table
[cltype21
] == idtype22
;
2062 if (unlikely(!var20
)) {
2063 PRINT_ERROR("Runtime error: %s", "Assert failed");
2064 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5788);
2067 var23
= NEW_nit__AVardeclExpr(&type_nit__AVardeclExpr
);
2069 nit__parser_prod___AVardeclExpr___init_avardeclexpr(var23
, var_tkwvarnode2
, var_tidnode3
, var_ptypenode4
, var_tassignnode5
, var_pexprnode6
, var_pannotationsnode7
); /* Direct call parser_prod#AVardeclExpr#init_avardeclexpr on <var23:AVardeclExpr>*/
2071 var_pexprnode1
= var23
;
2072 var_node_list
= var_pexprnode1
;
2073 var24
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction206> */
2075 var25
= nit___nit__Parser___go_to(var_p
, var24
);
2078 nit___nit__Parser___push(var_p
, var25
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2082 /* method parser#ReduceAction207#action for (self: ReduceAction207, Parser) */
2083 void nit__parser___nit__parser__ReduceAction207___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2084 val
* var_p
/* var p: Parser */;
2085 val
* var_node_list
/* var node_list: nullable Object */;
2086 val
* var
/* : nullable Object */;
2087 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
2088 val
* var1
/* : nullable Object */;
2089 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2090 val
* var2
/* : nullable Object */;
2091 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2092 val
* var3
/* : nullable Object */;
2093 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2094 val
* var4
/* : nullable Object */;
2095 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2096 val
* var5
/* : nullable Object */;
2097 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2098 val
* var6
/* : nullable Object */;
2099 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2100 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2101 short int var7
/* : Bool */;
2104 val
* var_tattridnode3
/* var tattridnode3: nullable Object */;
2105 short int var8
/* : Bool */;
2108 val
* var_tassignnode4
/* var tassignnode4: nullable Object */;
2109 short int var11
/* : Bool */;
2112 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
2113 short int var14
/* : Bool */;
2116 val
* var17
/* : AAttrAssignExpr */;
2117 val
* var_pexprnode1
/* var pexprnode1: nullable AAttrAssignExpr */;
2118 long var18
/* : Int */;
2119 long var19
/* : Int */;
2121 var_node_list
= ((val
*)NULL
);
2123 var
= nit___nit__Parser___pop(var_p
);
2125 var_nodearraylist7
= var
;
2127 var1
= nit___nit__Parser___pop(var_p
);
2129 var_nodearraylist6
= var1
;
2131 var2
= nit___nit__Parser___pop(var_p
);
2133 var_nodearraylist5
= var2
;
2135 var3
= nit___nit__Parser___pop(var_p
);
2137 var_nodearraylist4
= var3
;
2139 var4
= nit___nit__Parser___pop(var_p
);
2141 var_nodearraylist3
= var4
;
2143 var5
= nit___nit__Parser___pop(var_p
);
2145 var_nodearraylist2
= var5
;
2147 var6
= nit___nit__Parser___pop(var_p
);
2149 var_nodearraylist1
= var6
;
2150 var_pexprnode2
= var_nodearraylist1
;
2151 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2152 cltype
= type_nullable__nit__AExpr
.color
;
2153 idtype
= type_nullable__nit__AExpr
.id
;
2154 if(var_pexprnode2
== NULL
) {
2157 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
2160 var7
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
2163 if (unlikely(!var7
)) {
2164 PRINT_ERROR("Runtime error: %s", "Assert failed");
2165 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5814);
2168 var_tattridnode3
= var_nodearraylist5
;
2169 /* <var_tattridnode3:nullable Object> isa nullable TAttrid */
2170 cltype9
= type_nullable__nit__TAttrid
.color
;
2171 idtype10
= type_nullable__nit__TAttrid
.id
;
2172 if(var_tattridnode3
== NULL
) {
2175 if(cltype9
>= (((long)var_tattridnode3
&3)?type_info
[((long)var_tattridnode3
&3)]:var_tattridnode3
->type
)->table_size
) {
2178 var8
= (((long)var_tattridnode3
&3)?type_info
[((long)var_tattridnode3
&3)]:var_tattridnode3
->type
)->type_table
[cltype9
] == idtype10
;
2181 if (unlikely(!var8
)) {
2182 PRINT_ERROR("Runtime error: %s", "Assert failed");
2183 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5816);
2186 var_tassignnode4
= var_nodearraylist6
;
2187 /* <var_tassignnode4:nullable Object> isa nullable TAssign */
2188 cltype12
= type_nullable__nit__TAssign
.color
;
2189 idtype13
= type_nullable__nit__TAssign
.id
;
2190 if(var_tassignnode4
== NULL
) {
2193 if(cltype12
>= (((long)var_tassignnode4
&3)?type_info
[((long)var_tassignnode4
&3)]:var_tassignnode4
->type
)->table_size
) {
2196 var11
= (((long)var_tassignnode4
&3)?type_info
[((long)var_tassignnode4
&3)]:var_tassignnode4
->type
)->type_table
[cltype12
] == idtype13
;
2199 if (unlikely(!var11
)) {
2200 PRINT_ERROR("Runtime error: %s", "Assert failed");
2201 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5818);
2204 var_pexprnode5
= var_nodearraylist7
;
2205 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
2206 cltype15
= type_nullable__nit__AExpr
.color
;
2207 idtype16
= type_nullable__nit__AExpr
.id
;
2208 if(var_pexprnode5
== NULL
) {
2211 if(cltype15
>= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->table_size
) {
2214 var14
= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->type_table
[cltype15
] == idtype16
;
2217 if (unlikely(!var14
)) {
2218 PRINT_ERROR("Runtime error: %s", "Assert failed");
2219 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5820);
2222 var17
= NEW_nit__AAttrAssignExpr(&type_nit__AAttrAssignExpr
);
2224 nit__parser_prod___AAttrAssignExpr___init_aattrassignexpr(var17
, var_pexprnode2
, var_tattridnode3
, var_tassignnode4
, var_pexprnode5
); /* Direct call parser_prod#AAttrAssignExpr#init_aattrassignexpr on <var17:AAttrAssignExpr>*/
2226 var_pexprnode1
= var17
;
2227 var_node_list
= var_pexprnode1
;
2228 var18
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction207> */
2230 var19
= nit___nit__Parser___go_to(var_p
, var18
);
2233 nit___nit__Parser___push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2237 /* method parser#ReduceAction208#action for (self: ReduceAction208, Parser) */
2238 void nit__parser___nit__parser__ReduceAction208___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2239 val
* var_p
/* var p: Parser */;
2240 val
* var_node_list
/* var node_list: nullable Object */;
2241 val
* var
/* : nullable Object */;
2242 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2243 val
* var1
/* : nullable Object */;
2244 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2245 val
* var2
/* : nullable Object */;
2246 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2247 val
* var3
/* : nullable Object */;
2248 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2249 val
* var4
/* : AImplicitSelfExpr */;
2250 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
2251 val
* var_tattridnode3
/* var tattridnode3: nullable Object */;
2252 short int var5
/* : Bool */;
2255 val
* var_tassignnode4
/* var tassignnode4: nullable Object */;
2256 short int var6
/* : Bool */;
2259 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
2260 short int var9
/* : Bool */;
2263 val
* var12
/* : AAttrAssignExpr */;
2264 val
* var_pexprnode1
/* var pexprnode1: nullable AAttrAssignExpr */;
2265 long var13
/* : Int */;
2266 long var14
/* : Int */;
2268 var_node_list
= ((val
*)NULL
);
2270 var
= nit___nit__Parser___pop(var_p
);
2272 var_nodearraylist4
= var
;
2274 var1
= nit___nit__Parser___pop(var_p
);
2276 var_nodearraylist3
= var1
;
2278 var2
= nit___nit__Parser___pop(var_p
);
2280 var_nodearraylist2
= var2
;
2282 var3
= nit___nit__Parser___pop(var_p
);
2284 var_nodearraylist1
= var3
;
2285 var4
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
2287 nit__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var4
); /* Direct call parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr on <var4:AImplicitSelfExpr>*/
2289 var_pexprnode2
= var4
;
2290 var_tattridnode3
= var_nodearraylist2
;
2291 /* <var_tattridnode3:nullable Object> isa nullable TAttrid */
2292 cltype
= type_nullable__nit__TAttrid
.color
;
2293 idtype
= type_nullable__nit__TAttrid
.id
;
2294 if(var_tattridnode3
== NULL
) {
2297 if(cltype
>= (((long)var_tattridnode3
&3)?type_info
[((long)var_tattridnode3
&3)]:var_tattridnode3
->type
)->table_size
) {
2300 var5
= (((long)var_tattridnode3
&3)?type_info
[((long)var_tattridnode3
&3)]:var_tattridnode3
->type
)->type_table
[cltype
] == idtype
;
2303 if (unlikely(!var5
)) {
2304 PRINT_ERROR("Runtime error: %s", "Assert failed");
2305 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5842);
2308 var_tassignnode4
= var_nodearraylist3
;
2309 /* <var_tassignnode4:nullable Object> isa nullable TAssign */
2310 cltype7
= type_nullable__nit__TAssign
.color
;
2311 idtype8
= type_nullable__nit__TAssign
.id
;
2312 if(var_tassignnode4
== NULL
) {
2315 if(cltype7
>= (((long)var_tassignnode4
&3)?type_info
[((long)var_tassignnode4
&3)]:var_tassignnode4
->type
)->table_size
) {
2318 var6
= (((long)var_tassignnode4
&3)?type_info
[((long)var_tassignnode4
&3)]:var_tassignnode4
->type
)->type_table
[cltype7
] == idtype8
;
2321 if (unlikely(!var6
)) {
2322 PRINT_ERROR("Runtime error: %s", "Assert failed");
2323 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5844);
2326 var_pexprnode5
= var_nodearraylist4
;
2327 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
2328 cltype10
= type_nullable__nit__AExpr
.color
;
2329 idtype11
= type_nullable__nit__AExpr
.id
;
2330 if(var_pexprnode5
== NULL
) {
2333 if(cltype10
>= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->table_size
) {
2336 var9
= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->type_table
[cltype10
] == idtype11
;
2339 if (unlikely(!var9
)) {
2340 PRINT_ERROR("Runtime error: %s", "Assert failed");
2341 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5846);
2344 var12
= NEW_nit__AAttrAssignExpr(&type_nit__AAttrAssignExpr
);
2346 nit__parser_prod___AAttrAssignExpr___init_aattrassignexpr(var12
, var_pexprnode2
, var_tattridnode3
, var_tassignnode4
, var_pexprnode5
); /* Direct call parser_prod#AAttrAssignExpr#init_aattrassignexpr on <var12:AAttrAssignExpr>*/
2348 var_pexprnode1
= var12
;
2349 var_node_list
= var_pexprnode1
;
2350 var13
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction208> */
2352 var14
= nit___nit__Parser___go_to(var_p
, var13
);
2355 nit___nit__Parser___push(var_p
, var14
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2359 /* method parser#ReduceAction209#action for (self: ReduceAction209, Parser) */
2360 void nit__parser___nit__parser__ReduceAction209___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2361 val
* var_p
/* var p: Parser */;
2362 val
* var_node_list
/* var node_list: nullable Object */;
2363 val
* var
/* : nullable Object */;
2364 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
2365 val
* var1
/* : nullable Object */;
2366 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2367 val
* var2
/* : nullable Object */;
2368 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2369 val
* var3
/* : nullable Object */;
2370 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2371 val
* var4
/* : nullable Object */;
2372 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2373 val
* var5
/* : nullable Object */;
2374 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2375 val
* var6
/* : nullable Object */;
2376 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2377 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2378 short int var7
/* : Bool */;
2381 val
* var_tidnode3
/* var tidnode3: nullable Object */;
2382 short int var8
/* : Bool */;
2385 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
2386 short int var11
/* : Bool */;
2389 val
* var_tassignnode5
/* var tassignnode5: nullable Object */;
2390 short int var14
/* : Bool */;
2393 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
2394 short int var17
/* : Bool */;
2397 val
* var20
/* : ACallAssignExpr */;
2398 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
2399 long var21
/* : Int */;
2400 long var22
/* : Int */;
2402 var_node_list
= ((val
*)NULL
);
2404 var
= nit___nit__Parser___pop(var_p
);
2406 var_nodearraylist7
= var
;
2408 var1
= nit___nit__Parser___pop(var_p
);
2410 var_nodearraylist6
= var1
;
2412 var2
= nit___nit__Parser___pop(var_p
);
2414 var_nodearraylist5
= var2
;
2416 var3
= nit___nit__Parser___pop(var_p
);
2418 var_nodearraylist4
= var3
;
2420 var4
= nit___nit__Parser___pop(var_p
);
2422 var_nodearraylist3
= var4
;
2424 var5
= nit___nit__Parser___pop(var_p
);
2426 var_nodearraylist2
= var5
;
2428 var6
= nit___nit__Parser___pop(var_p
);
2430 var_nodearraylist1
= var6
;
2431 var_pexprnode2
= var_nodearraylist1
;
2432 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2433 cltype
= type_nullable__nit__AExpr
.color
;
2434 idtype
= type_nullable__nit__AExpr
.id
;
2435 if(var_pexprnode2
== NULL
) {
2438 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
2441 var7
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
2444 if (unlikely(!var7
)) {
2445 PRINT_ERROR("Runtime error: %s", "Assert failed");
2446 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5870);
2449 var_tidnode3
= var_nodearraylist4
;
2450 /* <var_tidnode3:nullable Object> isa nullable TId */
2451 cltype9
= type_nullable__nit__TId
.color
;
2452 idtype10
= type_nullable__nit__TId
.id
;
2453 if(var_tidnode3
== NULL
) {
2456 if(cltype9
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
2459 var8
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype9
] == idtype10
;
2462 if (unlikely(!var8
)) {
2463 PRINT_ERROR("Runtime error: %s", "Assert failed");
2464 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5872);
2467 var_pexprsnode4
= var_nodearraylist5
;
2468 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
2469 cltype12
= type_nullable__nit__AExprs
.color
;
2470 idtype13
= type_nullable__nit__AExprs
.id
;
2471 if(var_pexprsnode4
== NULL
) {
2474 if(cltype12
>= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->table_size
) {
2477 var11
= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->type_table
[cltype12
] == idtype13
;
2480 if (unlikely(!var11
)) {
2481 PRINT_ERROR("Runtime error: %s", "Assert failed");
2482 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5874);
2485 var_tassignnode5
= var_nodearraylist6
;
2486 /* <var_tassignnode5:nullable Object> isa nullable TAssign */
2487 cltype15
= type_nullable__nit__TAssign
.color
;
2488 idtype16
= type_nullable__nit__TAssign
.id
;
2489 if(var_tassignnode5
== NULL
) {
2492 if(cltype15
>= (((long)var_tassignnode5
&3)?type_info
[((long)var_tassignnode5
&3)]:var_tassignnode5
->type
)->table_size
) {
2495 var14
= (((long)var_tassignnode5
&3)?type_info
[((long)var_tassignnode5
&3)]:var_tassignnode5
->type
)->type_table
[cltype15
] == idtype16
;
2498 if (unlikely(!var14
)) {
2499 PRINT_ERROR("Runtime error: %s", "Assert failed");
2500 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5876);
2503 var_pexprnode6
= var_nodearraylist7
;
2504 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
2505 cltype18
= type_nullable__nit__AExpr
.color
;
2506 idtype19
= type_nullable__nit__AExpr
.id
;
2507 if(var_pexprnode6
== NULL
) {
2510 if(cltype18
>= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->table_size
) {
2513 var17
= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->type_table
[cltype18
] == idtype19
;
2516 if (unlikely(!var17
)) {
2517 PRINT_ERROR("Runtime error: %s", "Assert failed");
2518 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5878);
2521 var20
= NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr
);
2523 nit__parser_prod___ACallAssignExpr___init_acallassignexpr(var20
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_tassignnode5
, var_pexprnode6
); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on <var20:ACallAssignExpr>*/
2525 var_pexprnode1
= var20
;
2526 var_node_list
= var_pexprnode1
;
2527 var21
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction209> */
2529 var22
= nit___nit__Parser___go_to(var_p
, var21
);
2532 nit___nit__Parser___push(var_p
, var22
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2536 /* method parser#ReduceAction210#action for (self: ReduceAction210, Parser) */
2537 void nit__parser___nit__parser__ReduceAction210___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2538 val
* var_p
/* var p: Parser */;
2539 val
* var_node_list
/* var node_list: nullable Object */;
2540 val
* var
/* : nullable Object */;
2541 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2542 val
* var1
/* : nullable Object */;
2543 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2544 val
* var2
/* : nullable Object */;
2545 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2546 val
* var3
/* : nullable Object */;
2547 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2548 val
* var4
/* : nullable Object */;
2549 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2550 val
* var5
/* : nullable Object */;
2551 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2552 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2553 short int var6
/* : Bool */;
2556 val
* var_tidnode3
/* var tidnode3: nullable Object */;
2557 short int var7
/* : Bool */;
2560 val
* var10
/* : Array[Object] */;
2561 val
* var_listnode5
/* var listnode5: Array[Object] */;
2562 val
* var11
/* : AListExprs */;
2563 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
2564 val
* var_tassignnode6
/* var tassignnode6: nullable Object */;
2565 short int var12
/* : Bool */;
2568 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
2569 short int var15
/* : Bool */;
2572 val
* var18
/* : ACallAssignExpr */;
2573 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
2574 long var19
/* : Int */;
2575 long var20
/* : Int */;
2577 var_node_list
= ((val
*)NULL
);
2579 var
= nit___nit__Parser___pop(var_p
);
2581 var_nodearraylist6
= var
;
2583 var1
= nit___nit__Parser___pop(var_p
);
2585 var_nodearraylist5
= var1
;
2587 var2
= nit___nit__Parser___pop(var_p
);
2589 var_nodearraylist4
= var2
;
2591 var3
= nit___nit__Parser___pop(var_p
);
2593 var_nodearraylist3
= var3
;
2595 var4
= nit___nit__Parser___pop(var_p
);
2597 var_nodearraylist2
= var4
;
2599 var5
= nit___nit__Parser___pop(var_p
);
2601 var_nodearraylist1
= var5
;
2602 var_pexprnode2
= var_nodearraylist1
;
2603 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2604 cltype
= type_nullable__nit__AExpr
.color
;
2605 idtype
= type_nullable__nit__AExpr
.id
;
2606 if(var_pexprnode2
== NULL
) {
2609 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
2612 var6
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
2615 if (unlikely(!var6
)) {
2616 PRINT_ERROR("Runtime error: %s", "Assert failed");
2617 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5902);
2620 var_tidnode3
= var_nodearraylist4
;
2621 /* <var_tidnode3:nullable Object> isa nullable TId */
2622 cltype8
= type_nullable__nit__TId
.color
;
2623 idtype9
= type_nullable__nit__TId
.id
;
2624 if(var_tidnode3
== NULL
) {
2627 if(cltype8
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
2630 var7
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype8
] == idtype9
;
2633 if (unlikely(!var7
)) {
2634 PRINT_ERROR("Runtime error: %s", "Assert failed");
2635 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5904);
2638 var10
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2640 standard___standard__Array___standard__kernel__Object__init(var10
); /* Direct call array#Array#init on <var10:Array[Object]>*/
2642 var_listnode5
= var10
;
2643 var11
= NEW_nit__AListExprs(&type_nit__AListExprs
);
2645 nit__parser_prod___AListExprs___init_alistexprs(var11
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var11:AListExprs>*/
2647 var_pexprsnode4
= var11
;
2648 var_tassignnode6
= var_nodearraylist5
;
2649 /* <var_tassignnode6:nullable Object> isa nullable TAssign */
2650 cltype13
= type_nullable__nit__TAssign
.color
;
2651 idtype14
= type_nullable__nit__TAssign
.id
;
2652 if(var_tassignnode6
== NULL
) {
2655 if(cltype13
>= (((long)var_tassignnode6
&3)?type_info
[((long)var_tassignnode6
&3)]:var_tassignnode6
->type
)->table_size
) {
2658 var12
= (((long)var_tassignnode6
&3)?type_info
[((long)var_tassignnode6
&3)]:var_tassignnode6
->type
)->type_table
[cltype13
] == idtype14
;
2661 if (unlikely(!var12
)) {
2662 PRINT_ERROR("Runtime error: %s", "Assert failed");
2663 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5910);
2666 var_pexprnode7
= var_nodearraylist6
;
2667 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
2668 cltype16
= type_nullable__nit__AExpr
.color
;
2669 idtype17
= type_nullable__nit__AExpr
.id
;
2670 if(var_pexprnode7
== NULL
) {
2673 if(cltype16
>= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->table_size
) {
2676 var15
= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->type_table
[cltype16
] == idtype17
;
2679 if (unlikely(!var15
)) {
2680 PRINT_ERROR("Runtime error: %s", "Assert failed");
2681 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5912);
2684 var18
= NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr
);
2686 nit__parser_prod___ACallAssignExpr___init_acallassignexpr(var18
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_tassignnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on <var18:ACallAssignExpr>*/
2688 var_pexprnode1
= var18
;
2689 var_node_list
= var_pexprnode1
;
2690 var19
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction210> */
2692 var20
= nit___nit__Parser___go_to(var_p
, var19
);
2695 nit___nit__Parser___push(var_p
, var20
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2699 /* method parser#ReduceAction211#action for (self: ReduceAction211, Parser) */
2700 void nit__parser___nit__parser__ReduceAction211___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2701 val
* var_p
/* var p: Parser */;
2702 val
* var_node_list
/* var node_list: nullable Object */;
2703 val
* var
/* : nullable Object */;
2704 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
2705 val
* var1
/* : nullable Object */;
2706 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
2707 val
* var2
/* : nullable Object */;
2708 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2709 val
* var3
/* : nullable Object */;
2710 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2711 val
* var4
/* : nullable Object */;
2712 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2713 val
* var5
/* : nullable Object */;
2714 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2715 val
* var6
/* : nullable Object */;
2716 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2717 val
* var7
/* : nullable Object */;
2718 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2719 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2720 short int var8
/* : Bool */;
2723 val
* var_tidnode3
/* var tidnode3: nullable Object */;
2724 short int var9
/* : Bool */;
2727 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
2728 short int var12
/* : Bool */;
2731 val
* var_tassignnode5
/* var tassignnode5: nullable Object */;
2732 short int var15
/* : Bool */;
2735 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
2736 short int var18
/* : Bool */;
2739 val
* var21
/* : ACallAssignExpr */;
2740 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
2741 long var22
/* : Int */;
2742 long var23
/* : Int */;
2744 var_node_list
= ((val
*)NULL
);
2746 var
= nit___nit__Parser___pop(var_p
);
2748 var_nodearraylist8
= var
;
2750 var1
= nit___nit__Parser___pop(var_p
);
2752 var_nodearraylist7
= var1
;
2754 var2
= nit___nit__Parser___pop(var_p
);
2756 var_nodearraylist6
= var2
;
2758 var3
= nit___nit__Parser___pop(var_p
);
2760 var_nodearraylist5
= var3
;
2762 var4
= nit___nit__Parser___pop(var_p
);
2764 var_nodearraylist4
= var4
;
2766 var5
= nit___nit__Parser___pop(var_p
);
2768 var_nodearraylist3
= var5
;
2770 var6
= nit___nit__Parser___pop(var_p
);
2772 var_nodearraylist2
= var6
;
2774 var7
= nit___nit__Parser___pop(var_p
);
2776 var_nodearraylist1
= var7
;
2777 var_pexprnode2
= var_nodearraylist1
;
2778 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2779 cltype
= type_nullable__nit__AExpr
.color
;
2780 idtype
= type_nullable__nit__AExpr
.id
;
2781 if(var_pexprnode2
== NULL
) {
2784 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
2787 var8
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
2790 if (unlikely(!var8
)) {
2791 PRINT_ERROR("Runtime error: %s", "Assert failed");
2792 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5938);
2795 var_tidnode3
= var_nodearraylist5
;
2796 /* <var_tidnode3:nullable Object> isa nullable TId */
2797 cltype10
= type_nullable__nit__TId
.color
;
2798 idtype11
= type_nullable__nit__TId
.id
;
2799 if(var_tidnode3
== NULL
) {
2802 if(cltype10
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
2805 var9
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype10
] == idtype11
;
2808 if (unlikely(!var9
)) {
2809 PRINT_ERROR("Runtime error: %s", "Assert failed");
2810 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5940);
2813 var_pexprsnode4
= var_nodearraylist6
;
2814 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
2815 cltype13
= type_nullable__nit__AExprs
.color
;
2816 idtype14
= type_nullable__nit__AExprs
.id
;
2817 if(var_pexprsnode4
== NULL
) {
2820 if(cltype13
>= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->table_size
) {
2823 var12
= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->type_table
[cltype13
] == idtype14
;
2826 if (unlikely(!var12
)) {
2827 PRINT_ERROR("Runtime error: %s", "Assert failed");
2828 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5942);
2831 var_tassignnode5
= var_nodearraylist7
;
2832 /* <var_tassignnode5:nullable Object> isa nullable TAssign */
2833 cltype16
= type_nullable__nit__TAssign
.color
;
2834 idtype17
= type_nullable__nit__TAssign
.id
;
2835 if(var_tassignnode5
== NULL
) {
2838 if(cltype16
>= (((long)var_tassignnode5
&3)?type_info
[((long)var_tassignnode5
&3)]:var_tassignnode5
->type
)->table_size
) {
2841 var15
= (((long)var_tassignnode5
&3)?type_info
[((long)var_tassignnode5
&3)]:var_tassignnode5
->type
)->type_table
[cltype16
] == idtype17
;
2844 if (unlikely(!var15
)) {
2845 PRINT_ERROR("Runtime error: %s", "Assert failed");
2846 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5944);
2849 var_pexprnode6
= var_nodearraylist8
;
2850 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
2851 cltype19
= type_nullable__nit__AExpr
.color
;
2852 idtype20
= type_nullable__nit__AExpr
.id
;
2853 if(var_pexprnode6
== NULL
) {
2856 if(cltype19
>= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->table_size
) {
2859 var18
= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->type_table
[cltype19
] == idtype20
;
2862 if (unlikely(!var18
)) {
2863 PRINT_ERROR("Runtime error: %s", "Assert failed");
2864 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5946);
2867 var21
= NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr
);
2869 nit__parser_prod___ACallAssignExpr___init_acallassignexpr(var21
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_tassignnode5
, var_pexprnode6
); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on <var21:ACallAssignExpr>*/
2871 var_pexprnode1
= var21
;
2872 var_node_list
= var_pexprnode1
;
2873 var22
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction211> */
2875 var23
= nit___nit__Parser___go_to(var_p
, var22
);
2878 nit___nit__Parser___push(var_p
, var23
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2882 /* method parser#ReduceAction212#action for (self: ReduceAction212, Parser) */
2883 void nit__parser___nit__parser__ReduceAction212___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2884 val
* var_p
/* var p: Parser */;
2885 val
* var_node_list
/* var node_list: nullable Object */;
2886 val
* var
/* : nullable Object */;
2887 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
2888 val
* var1
/* : nullable Object */;
2889 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2890 val
* var2
/* : nullable Object */;
2891 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2892 val
* var3
/* : nullable Object */;
2893 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2894 val
* var4
/* : nullable Object */;
2895 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2896 val
* var5
/* : nullable Object */;
2897 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2898 val
* var6
/* : nullable Object */;
2899 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2900 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2901 short int var7
/* : Bool */;
2904 val
* var_tidnode3
/* var tidnode3: nullable Object */;
2905 short int var8
/* : Bool */;
2908 val
* var11
/* : Array[Object] */;
2909 val
* var_listnode5
/* var listnode5: Array[Object] */;
2910 val
* var12
/* : AListExprs */;
2911 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
2912 val
* var_tassignnode6
/* var tassignnode6: nullable Object */;
2913 short int var13
/* : Bool */;
2916 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
2917 short int var16
/* : Bool */;
2920 val
* var19
/* : ACallAssignExpr */;
2921 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
2922 long var20
/* : Int */;
2923 long var21
/* : Int */;
2925 var_node_list
= ((val
*)NULL
);
2927 var
= nit___nit__Parser___pop(var_p
);
2929 var_nodearraylist7
= var
;
2931 var1
= nit___nit__Parser___pop(var_p
);
2933 var_nodearraylist6
= var1
;
2935 var2
= nit___nit__Parser___pop(var_p
);
2937 var_nodearraylist5
= var2
;
2939 var3
= nit___nit__Parser___pop(var_p
);
2941 var_nodearraylist4
= var3
;
2943 var4
= nit___nit__Parser___pop(var_p
);
2945 var_nodearraylist3
= var4
;
2947 var5
= nit___nit__Parser___pop(var_p
);
2949 var_nodearraylist2
= var5
;
2951 var6
= nit___nit__Parser___pop(var_p
);
2953 var_nodearraylist1
= var6
;
2954 var_pexprnode2
= var_nodearraylist1
;
2955 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2956 cltype
= type_nullable__nit__AExpr
.color
;
2957 idtype
= type_nullable__nit__AExpr
.id
;
2958 if(var_pexprnode2
== NULL
) {
2961 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
2964 var7
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
2967 if (unlikely(!var7
)) {
2968 PRINT_ERROR("Runtime error: %s", "Assert failed");
2969 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5971);
2972 var_tidnode3
= var_nodearraylist5
;
2973 /* <var_tidnode3:nullable Object> isa nullable TId */
2974 cltype9
= type_nullable__nit__TId
.color
;
2975 idtype10
= type_nullable__nit__TId
.id
;
2976 if(var_tidnode3
== NULL
) {
2979 if(cltype9
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
2982 var8
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype9
] == idtype10
;
2985 if (unlikely(!var8
)) {
2986 PRINT_ERROR("Runtime error: %s", "Assert failed");
2987 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5973);
2990 var11
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2992 standard___standard__Array___standard__kernel__Object__init(var11
); /* Direct call array#Array#init on <var11:Array[Object]>*/
2994 var_listnode5
= var11
;
2995 var12
= NEW_nit__AListExprs(&type_nit__AListExprs
);
2997 nit__parser_prod___AListExprs___init_alistexprs(var12
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var12:AListExprs>*/
2999 var_pexprsnode4
= var12
;
3000 var_tassignnode6
= var_nodearraylist6
;
3001 /* <var_tassignnode6:nullable Object> isa nullable TAssign */
3002 cltype14
= type_nullable__nit__TAssign
.color
;
3003 idtype15
= type_nullable__nit__TAssign
.id
;
3004 if(var_tassignnode6
== NULL
) {
3007 if(cltype14
>= (((long)var_tassignnode6
&3)?type_info
[((long)var_tassignnode6
&3)]:var_tassignnode6
->type
)->table_size
) {
3010 var13
= (((long)var_tassignnode6
&3)?type_info
[((long)var_tassignnode6
&3)]:var_tassignnode6
->type
)->type_table
[cltype14
] == idtype15
;
3013 if (unlikely(!var13
)) {
3014 PRINT_ERROR("Runtime error: %s", "Assert failed");
3015 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5979);
3018 var_pexprnode7
= var_nodearraylist7
;
3019 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
3020 cltype17
= type_nullable__nit__AExpr
.color
;
3021 idtype18
= type_nullable__nit__AExpr
.id
;
3022 if(var_pexprnode7
== NULL
) {
3025 if(cltype17
>= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->table_size
) {
3028 var16
= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->type_table
[cltype17
] == idtype18
;
3031 if (unlikely(!var16
)) {
3032 PRINT_ERROR("Runtime error: %s", "Assert failed");
3033 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 5981);
3036 var19
= NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr
);
3038 nit__parser_prod___ACallAssignExpr___init_acallassignexpr(var19
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_tassignnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on <var19:ACallAssignExpr>*/
3040 var_pexprnode1
= var19
;
3041 var_node_list
= var_pexprnode1
;
3042 var20
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction212> */
3044 var21
= nit___nit__Parser___go_to(var_p
, var20
);
3047 nit___nit__Parser___push(var_p
, var21
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3051 /* method parser#ReduceAction213#action for (self: ReduceAction213, Parser) */
3052 void nit__parser___nit__parser__ReduceAction213___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3053 val
* var_p
/* var p: Parser */;
3054 val
* var_node_list
/* var node_list: nullable Object */;
3055 val
* var
/* : nullable Object */;
3056 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
3057 val
* var1
/* : nullable Object */;
3058 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
3059 val
* var2
/* : nullable Object */;
3060 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
3061 val
* var3
/* : nullable Object */;
3062 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
3063 val
* var4
/* : nullable Object */;
3064 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3065 val
* var5
/* : nullable Object */;
3066 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3067 val
* var6
/* : nullable Object */;
3068 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3069 val
* var7
/* : nullable Object */;
3070 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3071 val
* var8
/* : nullable Object */;
3072 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3073 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3074 short int var9
/* : Bool */;
3077 val
* var_tidnode3
/* var tidnode3: nullable Object */;
3078 short int var10
/* : Bool */;
3081 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
3082 short int var13
/* : Bool */;
3085 val
* var_tassignnode5
/* var tassignnode5: nullable Object */;
3086 short int var16
/* : Bool */;
3089 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
3090 short int var19
/* : Bool */;
3093 val
* var22
/* : ACallAssignExpr */;
3094 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
3095 long var23
/* : Int */;
3096 long var24
/* : Int */;
3098 var_node_list
= ((val
*)NULL
);
3100 var
= nit___nit__Parser___pop(var_p
);
3102 var_nodearraylist9
= var
;
3104 var1
= nit___nit__Parser___pop(var_p
);
3106 var_nodearraylist8
= var1
;
3108 var2
= nit___nit__Parser___pop(var_p
);
3110 var_nodearraylist7
= var2
;
3112 var3
= nit___nit__Parser___pop(var_p
);
3114 var_nodearraylist6
= var3
;
3116 var4
= nit___nit__Parser___pop(var_p
);
3118 var_nodearraylist5
= var4
;
3120 var5
= nit___nit__Parser___pop(var_p
);
3122 var_nodearraylist4
= var5
;
3124 var6
= nit___nit__Parser___pop(var_p
);
3126 var_nodearraylist3
= var6
;
3128 var7
= nit___nit__Parser___pop(var_p
);
3130 var_nodearraylist2
= var7
;
3132 var8
= nit___nit__Parser___pop(var_p
);
3134 var_nodearraylist1
= var8
;
3135 var_pexprnode2
= var_nodearraylist1
;
3136 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3137 cltype
= type_nullable__nit__AExpr
.color
;
3138 idtype
= type_nullable__nit__AExpr
.id
;
3139 if(var_pexprnode2
== NULL
) {
3142 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
3145 var9
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
3148 if (unlikely(!var9
)) {
3149 PRINT_ERROR("Runtime error: %s", "Assert failed");
3150 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6008);
3153 var_tidnode3
= var_nodearraylist6
;
3154 /* <var_tidnode3:nullable Object> isa nullable TId */
3155 cltype11
= type_nullable__nit__TId
.color
;
3156 idtype12
= type_nullable__nit__TId
.id
;
3157 if(var_tidnode3
== NULL
) {
3160 if(cltype11
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
3163 var10
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype11
] == idtype12
;
3166 if (unlikely(!var10
)) {
3167 PRINT_ERROR("Runtime error: %s", "Assert failed");
3168 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6010);
3171 var_pexprsnode4
= var_nodearraylist7
;
3172 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
3173 cltype14
= type_nullable__nit__AExprs
.color
;
3174 idtype15
= type_nullable__nit__AExprs
.id
;
3175 if(var_pexprsnode4
== NULL
) {
3178 if(cltype14
>= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->table_size
) {
3181 var13
= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->type_table
[cltype14
] == idtype15
;
3184 if (unlikely(!var13
)) {
3185 PRINT_ERROR("Runtime error: %s", "Assert failed");
3186 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6012);
3189 var_tassignnode5
= var_nodearraylist8
;
3190 /* <var_tassignnode5:nullable Object> isa nullable TAssign */
3191 cltype17
= type_nullable__nit__TAssign
.color
;
3192 idtype18
= type_nullable__nit__TAssign
.id
;
3193 if(var_tassignnode5
== NULL
) {
3196 if(cltype17
>= (((long)var_tassignnode5
&3)?type_info
[((long)var_tassignnode5
&3)]:var_tassignnode5
->type
)->table_size
) {
3199 var16
= (((long)var_tassignnode5
&3)?type_info
[((long)var_tassignnode5
&3)]:var_tassignnode5
->type
)->type_table
[cltype17
] == idtype18
;
3202 if (unlikely(!var16
)) {
3203 PRINT_ERROR("Runtime error: %s", "Assert failed");
3204 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6014);
3207 var_pexprnode6
= var_nodearraylist9
;
3208 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
3209 cltype20
= type_nullable__nit__AExpr
.color
;
3210 idtype21
= type_nullable__nit__AExpr
.id
;
3211 if(var_pexprnode6
== NULL
) {
3214 if(cltype20
>= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->table_size
) {
3217 var19
= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->type_table
[cltype20
] == idtype21
;
3220 if (unlikely(!var19
)) {
3221 PRINT_ERROR("Runtime error: %s", "Assert failed");
3222 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6016);
3225 var22
= NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr
);
3227 nit__parser_prod___ACallAssignExpr___init_acallassignexpr(var22
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_tassignnode5
, var_pexprnode6
); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on <var22:ACallAssignExpr>*/
3229 var_pexprnode1
= var22
;
3230 var_node_list
= var_pexprnode1
;
3231 var23
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction213> */
3233 var24
= nit___nit__Parser___go_to(var_p
, var23
);
3236 nit___nit__Parser___push(var_p
, var24
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3240 /* method parser#ReduceAction214#action for (self: ReduceAction214, Parser) */
3241 void nit__parser___nit__parser__ReduceAction214___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3242 val
* var_p
/* var p: Parser */;
3243 val
* var_node_list
/* var node_list: nullable Object */;
3244 val
* var
/* : nullable Object */;
3245 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
3246 val
* var1
/* : nullable Object */;
3247 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
3248 val
* var2
/* : nullable Object */;
3249 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
3250 val
* var3
/* : nullable Object */;
3251 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3252 val
* var4
/* : nullable Object */;
3253 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3254 val
* var5
/* : nullable Object */;
3255 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3256 val
* var6
/* : nullable Object */;
3257 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3258 val
* var7
/* : nullable Object */;
3259 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3260 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3261 short int var8
/* : Bool */;
3264 val
* var_tidnode3
/* var tidnode3: nullable Object */;
3265 short int var9
/* : Bool */;
3268 val
* var12
/* : Array[Object] */;
3269 val
* var_listnode5
/* var listnode5: Array[Object] */;
3270 val
* var13
/* : AListExprs */;
3271 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
3272 val
* var_tassignnode6
/* var tassignnode6: nullable Object */;
3273 short int var14
/* : Bool */;
3276 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
3277 short int var17
/* : Bool */;
3280 val
* var20
/* : ACallAssignExpr */;
3281 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
3282 long var21
/* : Int */;
3283 long var22
/* : Int */;
3285 var_node_list
= ((val
*)NULL
);
3287 var
= nit___nit__Parser___pop(var_p
);
3289 var_nodearraylist8
= var
;
3291 var1
= nit___nit__Parser___pop(var_p
);
3293 var_nodearraylist7
= var1
;
3295 var2
= nit___nit__Parser___pop(var_p
);
3297 var_nodearraylist6
= var2
;
3299 var3
= nit___nit__Parser___pop(var_p
);
3301 var_nodearraylist5
= var3
;
3303 var4
= nit___nit__Parser___pop(var_p
);
3305 var_nodearraylist4
= var4
;
3307 var5
= nit___nit__Parser___pop(var_p
);
3309 var_nodearraylist3
= var5
;
3311 var6
= nit___nit__Parser___pop(var_p
);
3313 var_nodearraylist2
= var6
;
3315 var7
= nit___nit__Parser___pop(var_p
);
3317 var_nodearraylist1
= var7
;
3318 var_pexprnode2
= var_nodearraylist1
;
3319 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3320 cltype
= type_nullable__nit__AExpr
.color
;
3321 idtype
= type_nullable__nit__AExpr
.id
;
3322 if(var_pexprnode2
== NULL
) {
3325 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
3328 var8
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
3331 if (unlikely(!var8
)) {
3332 PRINT_ERROR("Runtime error: %s", "Assert failed");
3333 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6042);
3336 var_tidnode3
= var_nodearraylist6
;
3337 /* <var_tidnode3:nullable Object> isa nullable TId */
3338 cltype10
= type_nullable__nit__TId
.color
;
3339 idtype11
= type_nullable__nit__TId
.id
;
3340 if(var_tidnode3
== NULL
) {
3343 if(cltype10
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
3346 var9
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype10
] == idtype11
;
3349 if (unlikely(!var9
)) {
3350 PRINT_ERROR("Runtime error: %s", "Assert failed");
3351 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6044);
3354 var12
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3356 standard___standard__Array___standard__kernel__Object__init(var12
); /* Direct call array#Array#init on <var12:Array[Object]>*/
3358 var_listnode5
= var12
;
3359 var13
= NEW_nit__AListExprs(&type_nit__AListExprs
);
3361 nit__parser_prod___AListExprs___init_alistexprs(var13
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var13:AListExprs>*/
3363 var_pexprsnode4
= var13
;
3364 var_tassignnode6
= var_nodearraylist7
;
3365 /* <var_tassignnode6:nullable Object> isa nullable TAssign */
3366 cltype15
= type_nullable__nit__TAssign
.color
;
3367 idtype16
= type_nullable__nit__TAssign
.id
;
3368 if(var_tassignnode6
== NULL
) {
3371 if(cltype15
>= (((long)var_tassignnode6
&3)?type_info
[((long)var_tassignnode6
&3)]:var_tassignnode6
->type
)->table_size
) {
3374 var14
= (((long)var_tassignnode6
&3)?type_info
[((long)var_tassignnode6
&3)]:var_tassignnode6
->type
)->type_table
[cltype15
] == idtype16
;
3377 if (unlikely(!var14
)) {
3378 PRINT_ERROR("Runtime error: %s", "Assert failed");
3379 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6050);
3382 var_pexprnode7
= var_nodearraylist8
;
3383 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
3384 cltype18
= type_nullable__nit__AExpr
.color
;
3385 idtype19
= type_nullable__nit__AExpr
.id
;
3386 if(var_pexprnode7
== NULL
) {
3389 if(cltype18
>= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->table_size
) {
3392 var17
= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->type_table
[cltype18
] == idtype19
;
3395 if (unlikely(!var17
)) {
3396 PRINT_ERROR("Runtime error: %s", "Assert failed");
3397 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6052);
3400 var20
= NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr
);
3402 nit__parser_prod___ACallAssignExpr___init_acallassignexpr(var20
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_tassignnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on <var20:ACallAssignExpr>*/
3404 var_pexprnode1
= var20
;
3405 var_node_list
= var_pexprnode1
;
3406 var21
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction214> */
3408 var22
= nit___nit__Parser___go_to(var_p
, var21
);
3411 nit___nit__Parser___push(var_p
, var22
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3415 /* method parser#ReduceAction217#action for (self: ReduceAction217, Parser) */
3416 void nit__parser___nit__parser__ReduceAction217___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3417 val
* var_p
/* var p: Parser */;
3418 val
* var_node_list
/* var node_list: nullable Object */;
3419 val
* var
/* : nullable Object */;
3420 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3421 val
* var1
/* : nullable Object */;
3422 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3423 val
* var2
/* : nullable Object */;
3424 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3425 val
* var3
/* : nullable Object */;
3426 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3427 val
* var4
/* : AImplicitSelfExpr */;
3428 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
3429 val
* var_tidnode3
/* var tidnode3: nullable Object */;
3430 short int var5
/* : Bool */;
3433 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
3434 short int var6
/* : Bool */;
3437 val
* var_tassignnode5
/* var tassignnode5: nullable Object */;
3438 short int var9
/* : Bool */;
3441 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
3442 short int var12
/* : Bool */;
3445 val
* var15
/* : ACallAssignExpr */;
3446 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
3447 long var16
/* : Int */;
3448 long var17
/* : Int */;
3450 var_node_list
= ((val
*)NULL
);
3452 var
= nit___nit__Parser___pop(var_p
);
3454 var_nodearraylist4
= var
;
3456 var1
= nit___nit__Parser___pop(var_p
);
3458 var_nodearraylist3
= var1
;
3460 var2
= nit___nit__Parser___pop(var_p
);
3462 var_nodearraylist2
= var2
;
3464 var3
= nit___nit__Parser___pop(var_p
);
3466 var_nodearraylist1
= var3
;
3467 var4
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
3469 nit__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var4
); /* Direct call parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr on <var4:AImplicitSelfExpr>*/
3471 var_pexprnode2
= var4
;
3472 var_tidnode3
= var_nodearraylist1
;
3473 /* <var_tidnode3:nullable Object> isa nullable TId */
3474 cltype
= type_nullable__nit__TId
.color
;
3475 idtype
= type_nullable__nit__TId
.id
;
3476 if(var_tidnode3
== NULL
) {
3479 if(cltype
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
3482 var5
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype
] == idtype
;
3485 if (unlikely(!var5
)) {
3486 PRINT_ERROR("Runtime error: %s", "Assert failed");
3487 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6075);
3490 var_pexprsnode4
= var_nodearraylist2
;
3491 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
3492 cltype7
= type_nullable__nit__AExprs
.color
;
3493 idtype8
= type_nullable__nit__AExprs
.id
;
3494 if(var_pexprsnode4
== NULL
) {
3497 if(cltype7
>= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->table_size
) {
3500 var6
= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->type_table
[cltype7
] == idtype8
;
3503 if (unlikely(!var6
)) {
3504 PRINT_ERROR("Runtime error: %s", "Assert failed");
3505 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6077);
3508 var_tassignnode5
= var_nodearraylist3
;
3509 /* <var_tassignnode5:nullable Object> isa nullable TAssign */
3510 cltype10
= type_nullable__nit__TAssign
.color
;
3511 idtype11
= type_nullable__nit__TAssign
.id
;
3512 if(var_tassignnode5
== NULL
) {
3515 if(cltype10
>= (((long)var_tassignnode5
&3)?type_info
[((long)var_tassignnode5
&3)]:var_tassignnode5
->type
)->table_size
) {
3518 var9
= (((long)var_tassignnode5
&3)?type_info
[((long)var_tassignnode5
&3)]:var_tassignnode5
->type
)->type_table
[cltype10
] == idtype11
;
3521 if (unlikely(!var9
)) {
3522 PRINT_ERROR("Runtime error: %s", "Assert failed");
3523 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6079);
3526 var_pexprnode6
= var_nodearraylist4
;
3527 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
3528 cltype13
= type_nullable__nit__AExpr
.color
;
3529 idtype14
= type_nullable__nit__AExpr
.id
;
3530 if(var_pexprnode6
== NULL
) {
3533 if(cltype13
>= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->table_size
) {
3536 var12
= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->type_table
[cltype13
] == idtype14
;
3539 if (unlikely(!var12
)) {
3540 PRINT_ERROR("Runtime error: %s", "Assert failed");
3541 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6081);
3544 var15
= NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr
);
3546 nit__parser_prod___ACallAssignExpr___init_acallassignexpr(var15
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_tassignnode5
, var_pexprnode6
); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on <var15:ACallAssignExpr>*/
3548 var_pexprnode1
= var15
;
3549 var_node_list
= var_pexprnode1
;
3550 var16
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction217> */
3552 var17
= nit___nit__Parser___go_to(var_p
, var16
);
3555 nit___nit__Parser___push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3559 /* method parser#ReduceAction218#action for (self: ReduceAction218, Parser) */
3560 void nit__parser___nit__parser__ReduceAction218___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3561 val
* var_p
/* var p: Parser */;
3562 val
* var_node_list
/* var node_list: nullable Object */;
3563 val
* var
/* : nullable Object */;
3564 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3565 val
* var1
/* : nullable Object */;
3566 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3567 val
* var2
/* : nullable Object */;
3568 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3569 val
* var3
/* : AImplicitSelfExpr */;
3570 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
3571 val
* var_tidnode3
/* var tidnode3: nullable Object */;
3572 short int var4
/* : Bool */;
3575 val
* var5
/* : Array[Object] */;
3576 val
* var_listnode5
/* var listnode5: Array[Object] */;
3577 val
* var6
/* : AListExprs */;
3578 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
3579 val
* var_tassignnode6
/* var tassignnode6: nullable Object */;
3580 short int var7
/* : Bool */;
3583 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
3584 short int var10
/* : Bool */;
3587 val
* var13
/* : ACallAssignExpr */;
3588 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
3589 long var14
/* : Int */;
3590 long var15
/* : Int */;
3592 var_node_list
= ((val
*)NULL
);
3594 var
= nit___nit__Parser___pop(var_p
);
3596 var_nodearraylist3
= var
;
3598 var1
= nit___nit__Parser___pop(var_p
);
3600 var_nodearraylist2
= var1
;
3602 var2
= nit___nit__Parser___pop(var_p
);
3604 var_nodearraylist1
= var2
;
3605 var3
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
3607 nit__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var3
); /* Direct call parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr on <var3:AImplicitSelfExpr>*/
3609 var_pexprnode2
= var3
;
3610 var_tidnode3
= var_nodearraylist1
;
3611 /* <var_tidnode3:nullable Object> isa nullable TId */
3612 cltype
= type_nullable__nit__TId
.color
;
3613 idtype
= type_nullable__nit__TId
.id
;
3614 if(var_tidnode3
== NULL
) {
3617 if(cltype
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
3620 var4
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype
] == idtype
;
3623 if (unlikely(!var4
)) {
3624 PRINT_ERROR("Runtime error: %s", "Assert failed");
3625 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6103);
3628 var5
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3630 standard___standard__Array___standard__kernel__Object__init(var5
); /* Direct call array#Array#init on <var5:Array[Object]>*/
3632 var_listnode5
= var5
;
3633 var6
= NEW_nit__AListExprs(&type_nit__AListExprs
);
3635 nit__parser_prod___AListExprs___init_alistexprs(var6
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var6:AListExprs>*/
3637 var_pexprsnode4
= var6
;
3638 var_tassignnode6
= var_nodearraylist2
;
3639 /* <var_tassignnode6:nullable Object> isa nullable TAssign */
3640 cltype8
= type_nullable__nit__TAssign
.color
;
3641 idtype9
= type_nullable__nit__TAssign
.id
;
3642 if(var_tassignnode6
== NULL
) {
3645 if(cltype8
>= (((long)var_tassignnode6
&3)?type_info
[((long)var_tassignnode6
&3)]:var_tassignnode6
->type
)->table_size
) {
3648 var7
= (((long)var_tassignnode6
&3)?type_info
[((long)var_tassignnode6
&3)]:var_tassignnode6
->type
)->type_table
[cltype8
] == idtype9
;
3651 if (unlikely(!var7
)) {
3652 PRINT_ERROR("Runtime error: %s", "Assert failed");
3653 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6109);
3656 var_pexprnode7
= var_nodearraylist3
;
3657 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
3658 cltype11
= type_nullable__nit__AExpr
.color
;
3659 idtype12
= type_nullable__nit__AExpr
.id
;
3660 if(var_pexprnode7
== NULL
) {
3663 if(cltype11
>= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->table_size
) {
3666 var10
= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->type_table
[cltype11
] == idtype12
;
3669 if (unlikely(!var10
)) {
3670 PRINT_ERROR("Runtime error: %s", "Assert failed");
3671 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6111);
3674 var13
= NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr
);
3676 nit__parser_prod___ACallAssignExpr___init_acallassignexpr(var13
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_tassignnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on <var13:ACallAssignExpr>*/
3678 var_pexprnode1
= var13
;
3679 var_node_list
= var_pexprnode1
;
3680 var14
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction218> */
3682 var15
= nit___nit__Parser___go_to(var_p
, var14
);
3685 nit___nit__Parser___push(var_p
, var15
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3689 /* method parser#ReduceAction219#action for (self: ReduceAction219, Parser) */
3690 void nit__parser___nit__parser__ReduceAction219___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_nodearraylist5
/* var nodearraylist5: nullable Object */;
3695 val
* var1
/* : nullable Object */;
3696 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3697 val
* var2
/* : nullable Object */;
3698 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3699 val
* var3
/* : nullable Object */;
3700 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3701 val
* var4
/* : nullable Object */;
3702 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3703 val
* var5
/* : AImplicitSelfExpr */;
3704 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
3705 val
* var_tidnode3
/* var tidnode3: nullable Object */;
3706 short int var6
/* : Bool */;
3709 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
3710 short int var7
/* : Bool */;
3713 val
* var_tassignnode5
/* var tassignnode5: nullable Object */;
3714 short int var10
/* : Bool */;
3717 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
3718 short int var13
/* : Bool */;
3721 val
* var16
/* : ACallAssignExpr */;
3722 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
3723 long var17
/* : Int */;
3724 long var18
/* : Int */;
3726 var_node_list
= ((val
*)NULL
);
3728 var
= nit___nit__Parser___pop(var_p
);
3730 var_nodearraylist5
= var
;
3732 var1
= nit___nit__Parser___pop(var_p
);
3734 var_nodearraylist4
= var1
;
3736 var2
= nit___nit__Parser___pop(var_p
);
3738 var_nodearraylist3
= var2
;
3740 var3
= nit___nit__Parser___pop(var_p
);
3742 var_nodearraylist2
= var3
;
3744 var4
= nit___nit__Parser___pop(var_p
);
3746 var_nodearraylist1
= var4
;
3747 var5
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
3749 nit__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var5
); /* Direct call parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr on <var5:AImplicitSelfExpr>*/
3751 var_pexprnode2
= var5
;
3752 var_tidnode3
= var_nodearraylist2
;
3753 /* <var_tidnode3:nullable Object> isa nullable TId */
3754 cltype
= type_nullable__nit__TId
.color
;
3755 idtype
= type_nullable__nit__TId
.id
;
3756 if(var_tidnode3
== NULL
) {
3759 if(cltype
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
3762 var6
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype
] == idtype
;
3765 if (unlikely(!var6
)) {
3766 PRINT_ERROR("Runtime error: %s", "Assert failed");
3767 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6135);
3770 var_pexprsnode4
= var_nodearraylist3
;
3771 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
3772 cltype8
= type_nullable__nit__AExprs
.color
;
3773 idtype9
= type_nullable__nit__AExprs
.id
;
3774 if(var_pexprsnode4
== NULL
) {
3777 if(cltype8
>= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->table_size
) {
3780 var7
= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->type_table
[cltype8
] == idtype9
;
3783 if (unlikely(!var7
)) {
3784 PRINT_ERROR("Runtime error: %s", "Assert failed");
3785 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6137);
3788 var_tassignnode5
= var_nodearraylist4
;
3789 /* <var_tassignnode5:nullable Object> isa nullable TAssign */
3790 cltype11
= type_nullable__nit__TAssign
.color
;
3791 idtype12
= type_nullable__nit__TAssign
.id
;
3792 if(var_tassignnode5
== NULL
) {
3795 if(cltype11
>= (((long)var_tassignnode5
&3)?type_info
[((long)var_tassignnode5
&3)]:var_tassignnode5
->type
)->table_size
) {
3798 var10
= (((long)var_tassignnode5
&3)?type_info
[((long)var_tassignnode5
&3)]:var_tassignnode5
->type
)->type_table
[cltype11
] == idtype12
;
3801 if (unlikely(!var10
)) {
3802 PRINT_ERROR("Runtime error: %s", "Assert failed");
3803 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6139);
3806 var_pexprnode6
= var_nodearraylist5
;
3807 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
3808 cltype14
= type_nullable__nit__AExpr
.color
;
3809 idtype15
= type_nullable__nit__AExpr
.id
;
3810 if(var_pexprnode6
== NULL
) {
3813 if(cltype14
>= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->table_size
) {
3816 var13
= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->type_table
[cltype14
] == idtype15
;
3819 if (unlikely(!var13
)) {
3820 PRINT_ERROR("Runtime error: %s", "Assert failed");
3821 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6141);
3824 var16
= NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr
);
3826 nit__parser_prod___ACallAssignExpr___init_acallassignexpr(var16
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_tassignnode5
, var_pexprnode6
); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on <var16:ACallAssignExpr>*/
3828 var_pexprnode1
= var16
;
3829 var_node_list
= var_pexprnode1
;
3830 var17
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction219> */
3832 var18
= nit___nit__Parser___go_to(var_p
, var17
);
3835 nit___nit__Parser___push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3839 /* method parser#ReduceAction220#action for (self: ReduceAction220, Parser) */
3840 void nit__parser___nit__parser__ReduceAction220___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3841 val
* var_p
/* var p: Parser */;
3842 val
* var_node_list
/* var node_list: nullable Object */;
3843 val
* var
/* : nullable Object */;
3844 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3845 val
* var1
/* : nullable Object */;
3846 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3847 val
* var2
/* : nullable Object */;
3848 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3849 val
* var3
/* : nullable Object */;
3850 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3851 val
* var4
/* : AImplicitSelfExpr */;
3852 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
3853 val
* var_tidnode3
/* var tidnode3: nullable Object */;
3854 short int var5
/* : Bool */;
3857 val
* var6
/* : Array[Object] */;
3858 val
* var_listnode5
/* var listnode5: Array[Object] */;
3859 val
* var7
/* : AListExprs */;
3860 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
3861 val
* var_tassignnode6
/* var tassignnode6: nullable Object */;
3862 short int var8
/* : Bool */;
3865 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
3866 short int var11
/* : Bool */;
3869 val
* var14
/* : ACallAssignExpr */;
3870 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
3871 long var15
/* : Int */;
3872 long var16
/* : Int */;
3874 var_node_list
= ((val
*)NULL
);
3876 var
= nit___nit__Parser___pop(var_p
);
3878 var_nodearraylist4
= var
;
3880 var1
= nit___nit__Parser___pop(var_p
);
3882 var_nodearraylist3
= var1
;
3884 var2
= nit___nit__Parser___pop(var_p
);
3886 var_nodearraylist2
= var2
;
3888 var3
= nit___nit__Parser___pop(var_p
);
3890 var_nodearraylist1
= var3
;
3891 var4
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
3893 nit__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var4
); /* Direct call parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr on <var4:AImplicitSelfExpr>*/
3895 var_pexprnode2
= var4
;
3896 var_tidnode3
= var_nodearraylist2
;
3897 /* <var_tidnode3:nullable Object> isa nullable TId */
3898 cltype
= type_nullable__nit__TId
.color
;
3899 idtype
= type_nullable__nit__TId
.id
;
3900 if(var_tidnode3
== NULL
) {
3903 if(cltype
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
3906 var5
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype
] == idtype
;
3909 if (unlikely(!var5
)) {
3910 PRINT_ERROR("Runtime error: %s", "Assert failed");
3911 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6164);
3914 var6
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3916 standard___standard__Array___standard__kernel__Object__init(var6
); /* Direct call array#Array#init on <var6:Array[Object]>*/
3918 var_listnode5
= var6
;
3919 var7
= NEW_nit__AListExprs(&type_nit__AListExprs
);
3921 nit__parser_prod___AListExprs___init_alistexprs(var7
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var7:AListExprs>*/
3923 var_pexprsnode4
= var7
;
3924 var_tassignnode6
= var_nodearraylist3
;
3925 /* <var_tassignnode6:nullable Object> isa nullable TAssign */
3926 cltype9
= type_nullable__nit__TAssign
.color
;
3927 idtype10
= type_nullable__nit__TAssign
.id
;
3928 if(var_tassignnode6
== NULL
) {
3931 if(cltype9
>= (((long)var_tassignnode6
&3)?type_info
[((long)var_tassignnode6
&3)]:var_tassignnode6
->type
)->table_size
) {
3934 var8
= (((long)var_tassignnode6
&3)?type_info
[((long)var_tassignnode6
&3)]:var_tassignnode6
->type
)->type_table
[cltype9
] == idtype10
;
3937 if (unlikely(!var8
)) {
3938 PRINT_ERROR("Runtime error: %s", "Assert failed");
3939 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6170);
3942 var_pexprnode7
= var_nodearraylist4
;
3943 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
3944 cltype12
= type_nullable__nit__AExpr
.color
;
3945 idtype13
= type_nullable__nit__AExpr
.id
;
3946 if(var_pexprnode7
== NULL
) {
3949 if(cltype12
>= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->table_size
) {
3952 var11
= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->type_table
[cltype12
] == idtype13
;
3955 if (unlikely(!var11
)) {
3956 PRINT_ERROR("Runtime error: %s", "Assert failed");
3957 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6172);
3960 var14
= NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr
);
3962 nit__parser_prod___ACallAssignExpr___init_acallassignexpr(var14
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_tassignnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on <var14:ACallAssignExpr>*/
3964 var_pexprnode1
= var14
;
3965 var_node_list
= var_pexprnode1
;
3966 var15
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction220> */
3968 var16
= nit___nit__Parser___go_to(var_p
, var15
);
3971 nit___nit__Parser___push(var_p
, var16
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3975 /* method parser#ReduceAction221#action for (self: ReduceAction221, Parser) */
3976 void nit__parser___nit__parser__ReduceAction221___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3977 val
* var_p
/* var p: Parser */;
3978 val
* var_node_list
/* var node_list: nullable Object */;
3979 val
* var
/* : nullable Object */;
3980 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
3981 val
* var1
/* : nullable Object */;
3982 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3983 val
* var2
/* : nullable Object */;
3984 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3985 val
* var3
/* : nullable Object */;
3986 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3987 val
* var4
/* : nullable Object */;
3988 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3989 val
* var5
/* : nullable Object */;
3990 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3991 val
* var6
/* : AImplicitSelfExpr */;
3992 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
3993 val
* var_tidnode3
/* var tidnode3: nullable Object */;
3994 short int var7
/* : Bool */;
3997 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
3998 short int var8
/* : Bool */;
4001 val
* var_tassignnode5
/* var tassignnode5: nullable Object */;
4002 short int var11
/* : Bool */;
4005 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
4006 short int var14
/* : Bool */;
4009 val
* var17
/* : ACallAssignExpr */;
4010 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
4011 long var18
/* : Int */;
4012 long var19
/* : Int */;
4014 var_node_list
= ((val
*)NULL
);
4016 var
= nit___nit__Parser___pop(var_p
);
4018 var_nodearraylist6
= var
;
4020 var1
= nit___nit__Parser___pop(var_p
);
4022 var_nodearraylist5
= var1
;
4024 var2
= nit___nit__Parser___pop(var_p
);
4026 var_nodearraylist4
= var2
;
4028 var3
= nit___nit__Parser___pop(var_p
);
4030 var_nodearraylist3
= var3
;
4032 var4
= nit___nit__Parser___pop(var_p
);
4034 var_nodearraylist2
= var4
;
4036 var5
= nit___nit__Parser___pop(var_p
);
4038 var_nodearraylist1
= var5
;
4039 var6
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
4041 nit__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var6
); /* Direct call parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr on <var6:AImplicitSelfExpr>*/
4043 var_pexprnode2
= var6
;
4044 var_tidnode3
= var_nodearraylist3
;
4045 /* <var_tidnode3:nullable Object> isa nullable TId */
4046 cltype
= type_nullable__nit__TId
.color
;
4047 idtype
= type_nullable__nit__TId
.id
;
4048 if(var_tidnode3
== NULL
) {
4051 if(cltype
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
4054 var7
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype
] == idtype
;
4057 if (unlikely(!var7
)) {
4058 PRINT_ERROR("Runtime error: %s", "Assert failed");
4059 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6197);
4062 var_pexprsnode4
= var_nodearraylist4
;
4063 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
4064 cltype9
= type_nullable__nit__AExprs
.color
;
4065 idtype10
= type_nullable__nit__AExprs
.id
;
4066 if(var_pexprsnode4
== NULL
) {
4069 if(cltype9
>= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->table_size
) {
4072 var8
= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->type_table
[cltype9
] == idtype10
;
4075 if (unlikely(!var8
)) {
4076 PRINT_ERROR("Runtime error: %s", "Assert failed");
4077 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6199);
4080 var_tassignnode5
= var_nodearraylist5
;
4081 /* <var_tassignnode5:nullable Object> isa nullable TAssign */
4082 cltype12
= type_nullable__nit__TAssign
.color
;
4083 idtype13
= type_nullable__nit__TAssign
.id
;
4084 if(var_tassignnode5
== NULL
) {
4087 if(cltype12
>= (((long)var_tassignnode5
&3)?type_info
[((long)var_tassignnode5
&3)]:var_tassignnode5
->type
)->table_size
) {
4090 var11
= (((long)var_tassignnode5
&3)?type_info
[((long)var_tassignnode5
&3)]:var_tassignnode5
->type
)->type_table
[cltype12
] == idtype13
;
4093 if (unlikely(!var11
)) {
4094 PRINT_ERROR("Runtime error: %s", "Assert failed");
4095 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6201);
4098 var_pexprnode6
= var_nodearraylist6
;
4099 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
4100 cltype15
= type_nullable__nit__AExpr
.color
;
4101 idtype16
= type_nullable__nit__AExpr
.id
;
4102 if(var_pexprnode6
== NULL
) {
4105 if(cltype15
>= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->table_size
) {
4108 var14
= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->type_table
[cltype15
] == idtype16
;
4111 if (unlikely(!var14
)) {
4112 PRINT_ERROR("Runtime error: %s", "Assert failed");
4113 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6203);
4116 var17
= NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr
);
4118 nit__parser_prod___ACallAssignExpr___init_acallassignexpr(var17
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_tassignnode5
, var_pexprnode6
); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on <var17:ACallAssignExpr>*/
4120 var_pexprnode1
= var17
;
4121 var_node_list
= var_pexprnode1
;
4122 var18
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction221> */
4124 var19
= nit___nit__Parser___go_to(var_p
, var18
);
4127 nit___nit__Parser___push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4131 /* method parser#ReduceAction222#action for (self: ReduceAction222, Parser) */
4132 void nit__parser___nit__parser__ReduceAction222___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4133 val
* var_p
/* var p: Parser */;
4134 val
* var_node_list
/* var node_list: nullable Object */;
4135 val
* var
/* : nullable Object */;
4136 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4137 val
* var1
/* : nullable Object */;
4138 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4139 val
* var2
/* : nullable Object */;
4140 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4141 val
* var3
/* : nullable Object */;
4142 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4143 val
* var4
/* : nullable Object */;
4144 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4145 val
* var5
/* : AImplicitSelfExpr */;
4146 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
4147 val
* var_tidnode3
/* var tidnode3: nullable Object */;
4148 short int var6
/* : Bool */;
4151 val
* var7
/* : Array[Object] */;
4152 val
* var_listnode5
/* var listnode5: Array[Object] */;
4153 val
* var8
/* : AListExprs */;
4154 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
4155 val
* var_tassignnode6
/* var tassignnode6: nullable Object */;
4156 short int var9
/* : Bool */;
4159 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
4160 short int var12
/* : Bool */;
4163 val
* var15
/* : ACallAssignExpr */;
4164 val
* var_pexprnode1
/* var pexprnode1: nullable ACallAssignExpr */;
4165 long var16
/* : Int */;
4166 long var17
/* : Int */;
4168 var_node_list
= ((val
*)NULL
);
4170 var
= nit___nit__Parser___pop(var_p
);
4172 var_nodearraylist5
= var
;
4174 var1
= nit___nit__Parser___pop(var_p
);
4176 var_nodearraylist4
= var1
;
4178 var2
= nit___nit__Parser___pop(var_p
);
4180 var_nodearraylist3
= var2
;
4182 var3
= nit___nit__Parser___pop(var_p
);
4184 var_nodearraylist2
= var3
;
4186 var4
= nit___nit__Parser___pop(var_p
);
4188 var_nodearraylist1
= var4
;
4189 var5
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
4191 nit__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var5
); /* Direct call parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr on <var5:AImplicitSelfExpr>*/
4193 var_pexprnode2
= var5
;
4194 var_tidnode3
= var_nodearraylist3
;
4195 /* <var_tidnode3:nullable Object> isa nullable TId */
4196 cltype
= type_nullable__nit__TId
.color
;
4197 idtype
= type_nullable__nit__TId
.id
;
4198 if(var_tidnode3
== NULL
) {
4201 if(cltype
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
4204 var6
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype
] == idtype
;
4207 if (unlikely(!var6
)) {
4208 PRINT_ERROR("Runtime error: %s", "Assert failed");
4209 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6227);
4212 var7
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4214 standard___standard__Array___standard__kernel__Object__init(var7
); /* Direct call array#Array#init on <var7:Array[Object]>*/
4216 var_listnode5
= var7
;
4217 var8
= NEW_nit__AListExprs(&type_nit__AListExprs
);
4219 nit__parser_prod___AListExprs___init_alistexprs(var8
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var8:AListExprs>*/
4221 var_pexprsnode4
= var8
;
4222 var_tassignnode6
= var_nodearraylist4
;
4223 /* <var_tassignnode6:nullable Object> isa nullable TAssign */
4224 cltype10
= type_nullable__nit__TAssign
.color
;
4225 idtype11
= type_nullable__nit__TAssign
.id
;
4226 if(var_tassignnode6
== NULL
) {
4229 if(cltype10
>= (((long)var_tassignnode6
&3)?type_info
[((long)var_tassignnode6
&3)]:var_tassignnode6
->type
)->table_size
) {
4232 var9
= (((long)var_tassignnode6
&3)?type_info
[((long)var_tassignnode6
&3)]:var_tassignnode6
->type
)->type_table
[cltype10
] == idtype11
;
4235 if (unlikely(!var9
)) {
4236 PRINT_ERROR("Runtime error: %s", "Assert failed");
4237 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6233);
4240 var_pexprnode7
= var_nodearraylist5
;
4241 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
4242 cltype13
= type_nullable__nit__AExpr
.color
;
4243 idtype14
= type_nullable__nit__AExpr
.id
;
4244 if(var_pexprnode7
== NULL
) {
4247 if(cltype13
>= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->table_size
) {
4250 var12
= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->type_table
[cltype13
] == idtype14
;
4253 if (unlikely(!var12
)) {
4254 PRINT_ERROR("Runtime error: %s", "Assert failed");
4255 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6235);
4258 var15
= NEW_nit__ACallAssignExpr(&type_nit__ACallAssignExpr
);
4260 nit__parser_prod___ACallAssignExpr___init_acallassignexpr(var15
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_tassignnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on <var15:ACallAssignExpr>*/
4262 var_pexprnode1
= var15
;
4263 var_node_list
= var_pexprnode1
;
4264 var16
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction222> */
4266 var17
= nit___nit__Parser___go_to(var_p
, var16
);
4269 nit___nit__Parser___push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4273 /* method parser#ReduceAction225#action for (self: ReduceAction225, Parser) */
4274 void nit__parser___nit__parser__ReduceAction225___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4275 val
* var_p
/* var p: Parser */;
4276 val
* var_node_list
/* var node_list: nullable Object */;
4277 val
* var
/* : nullable Object */;
4278 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4279 val
* var1
/* : nullable Object */;
4280 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4281 val
* var2
/* : nullable Object */;
4282 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4283 val
* var3
/* : nullable Object */;
4284 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4285 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4286 short int var4
/* : Bool */;
4289 val
* var_pexprsnode3
/* var pexprsnode3: nullable Object */;
4290 short int var5
/* : Bool */;
4293 val
* var_tassignnode4
/* var tassignnode4: nullable Object */;
4294 short int var8
/* : Bool */;
4297 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
4298 short int var11
/* : Bool */;
4301 val
* var14
/* : ABraAssignExpr */;
4302 val
* var_pexprnode1
/* var pexprnode1: nullable ABraAssignExpr */;
4303 long var15
/* : Int */;
4304 long var16
/* : Int */;
4306 var_node_list
= ((val
*)NULL
);
4308 var
= nit___nit__Parser___pop(var_p
);
4310 var_nodearraylist4
= var
;
4312 var1
= nit___nit__Parser___pop(var_p
);
4314 var_nodearraylist3
= var1
;
4316 var2
= nit___nit__Parser___pop(var_p
);
4318 var_nodearraylist2
= var2
;
4320 var3
= nit___nit__Parser___pop(var_p
);
4322 var_nodearraylist1
= var3
;
4323 var_pexprnode2
= var_nodearraylist1
;
4324 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4325 cltype
= type_nullable__nit__AExpr
.color
;
4326 idtype
= type_nullable__nit__AExpr
.id
;
4327 if(var_pexprnode2
== NULL
) {
4330 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
4333 var4
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
4336 if (unlikely(!var4
)) {
4337 PRINT_ERROR("Runtime error: %s", "Assert failed");
4338 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6257);
4341 var_pexprsnode3
= var_nodearraylist2
;
4342 /* <var_pexprsnode3:nullable Object> isa nullable AExprs */
4343 cltype6
= type_nullable__nit__AExprs
.color
;
4344 idtype7
= type_nullable__nit__AExprs
.id
;
4345 if(var_pexprsnode3
== NULL
) {
4348 if(cltype6
>= (((long)var_pexprsnode3
&3)?type_info
[((long)var_pexprsnode3
&3)]:var_pexprsnode3
->type
)->table_size
) {
4351 var5
= (((long)var_pexprsnode3
&3)?type_info
[((long)var_pexprsnode3
&3)]:var_pexprsnode3
->type
)->type_table
[cltype6
] == idtype7
;
4354 if (unlikely(!var5
)) {
4355 PRINT_ERROR("Runtime error: %s", "Assert failed");
4356 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6259);
4359 var_tassignnode4
= var_nodearraylist3
;
4360 /* <var_tassignnode4:nullable Object> isa nullable TAssign */
4361 cltype9
= type_nullable__nit__TAssign
.color
;
4362 idtype10
= type_nullable__nit__TAssign
.id
;
4363 if(var_tassignnode4
== NULL
) {
4366 if(cltype9
>= (((long)var_tassignnode4
&3)?type_info
[((long)var_tassignnode4
&3)]:var_tassignnode4
->type
)->table_size
) {
4369 var8
= (((long)var_tassignnode4
&3)?type_info
[((long)var_tassignnode4
&3)]:var_tassignnode4
->type
)->type_table
[cltype9
] == idtype10
;
4372 if (unlikely(!var8
)) {
4373 PRINT_ERROR("Runtime error: %s", "Assert failed");
4374 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6261);
4377 var_pexprnode5
= var_nodearraylist4
;
4378 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
4379 cltype12
= type_nullable__nit__AExpr
.color
;
4380 idtype13
= type_nullable__nit__AExpr
.id
;
4381 if(var_pexprnode5
== NULL
) {
4384 if(cltype12
>= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->table_size
) {
4387 var11
= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->type_table
[cltype12
] == idtype13
;
4390 if (unlikely(!var11
)) {
4391 PRINT_ERROR("Runtime error: %s", "Assert failed");
4392 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6263);
4395 var14
= NEW_nit__ABraAssignExpr(&type_nit__ABraAssignExpr
);
4397 nit__parser_prod___ABraAssignExpr___init_abraassignexpr(var14
, var_pexprnode2
, var_pexprsnode3
, var_tassignnode4
, var_pexprnode5
); /* Direct call parser_prod#ABraAssignExpr#init_abraassignexpr on <var14:ABraAssignExpr>*/
4399 var_pexprnode1
= var14
;
4400 var_node_list
= var_pexprnode1
;
4401 var15
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction225> */
4403 var16
= nit___nit__Parser___go_to(var_p
, var15
);
4406 nit___nit__Parser___push(var_p
, var16
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4410 /* method parser#ReduceAction226#action for (self: ReduceAction226, Parser) */
4411 void nit__parser___nit__parser__ReduceAction226___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4412 val
* var_p
/* var p: Parser */;
4413 val
* var_node_list
/* var node_list: nullable Object */;
4414 val
* var
/* : nullable Object */;
4415 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
4416 val
* var1
/* : nullable Object */;
4417 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4418 val
* var2
/* : nullable Object */;
4419 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4420 val
* var3
/* : nullable Object */;
4421 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4422 val
* var4
/* : nullable Object */;
4423 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4424 val
* var5
/* : nullable Object */;
4425 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4426 val
* var6
/* : nullable Object */;
4427 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4428 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4429 short int var7
/* : Bool */;
4432 val
* var_tattridnode3
/* var tattridnode3: nullable Object */;
4433 short int var8
/* : Bool */;
4436 val
* var_passignopnode4
/* var passignopnode4: nullable Object */;
4437 short int var11
/* : Bool */;
4440 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
4441 short int var14
/* : Bool */;
4444 val
* var17
/* : AAttrReassignExpr */;
4445 val
* var_pexprnode1
/* var pexprnode1: nullable AAttrReassignExpr */;
4446 long var18
/* : Int */;
4447 long var19
/* : Int */;
4449 var_node_list
= ((val
*)NULL
);
4451 var
= nit___nit__Parser___pop(var_p
);
4453 var_nodearraylist7
= var
;
4455 var1
= nit___nit__Parser___pop(var_p
);
4457 var_nodearraylist6
= var1
;
4459 var2
= nit___nit__Parser___pop(var_p
);
4461 var_nodearraylist5
= var2
;
4463 var3
= nit___nit__Parser___pop(var_p
);
4465 var_nodearraylist4
= var3
;
4467 var4
= nit___nit__Parser___pop(var_p
);
4469 var_nodearraylist3
= var4
;
4471 var5
= nit___nit__Parser___pop(var_p
);
4473 var_nodearraylist2
= var5
;
4475 var6
= nit___nit__Parser___pop(var_p
);
4477 var_nodearraylist1
= var6
;
4478 var_pexprnode2
= var_nodearraylist1
;
4479 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4480 cltype
= type_nullable__nit__AExpr
.color
;
4481 idtype
= type_nullable__nit__AExpr
.id
;
4482 if(var_pexprnode2
== NULL
) {
4485 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
4488 var7
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
4491 if (unlikely(!var7
)) {
4492 PRINT_ERROR("Runtime error: %s", "Assert failed");
4493 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6287);
4496 var_tattridnode3
= var_nodearraylist5
;
4497 /* <var_tattridnode3:nullable Object> isa nullable TAttrid */
4498 cltype9
= type_nullable__nit__TAttrid
.color
;
4499 idtype10
= type_nullable__nit__TAttrid
.id
;
4500 if(var_tattridnode3
== NULL
) {
4503 if(cltype9
>= (((long)var_tattridnode3
&3)?type_info
[((long)var_tattridnode3
&3)]:var_tattridnode3
->type
)->table_size
) {
4506 var8
= (((long)var_tattridnode3
&3)?type_info
[((long)var_tattridnode3
&3)]:var_tattridnode3
->type
)->type_table
[cltype9
] == idtype10
;
4509 if (unlikely(!var8
)) {
4510 PRINT_ERROR("Runtime error: %s", "Assert failed");
4511 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6289);
4514 var_passignopnode4
= var_nodearraylist6
;
4515 /* <var_passignopnode4:nullable Object> isa nullable AAssignOp */
4516 cltype12
= type_nullable__nit__AAssignOp
.color
;
4517 idtype13
= type_nullable__nit__AAssignOp
.id
;
4518 if(var_passignopnode4
== NULL
) {
4521 if(cltype12
>= (((long)var_passignopnode4
&3)?type_info
[((long)var_passignopnode4
&3)]:var_passignopnode4
->type
)->table_size
) {
4524 var11
= (((long)var_passignopnode4
&3)?type_info
[((long)var_passignopnode4
&3)]:var_passignopnode4
->type
)->type_table
[cltype12
] == idtype13
;
4527 if (unlikely(!var11
)) {
4528 PRINT_ERROR("Runtime error: %s", "Assert failed");
4529 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6291);
4532 var_pexprnode5
= var_nodearraylist7
;
4533 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
4534 cltype15
= type_nullable__nit__AExpr
.color
;
4535 idtype16
= type_nullable__nit__AExpr
.id
;
4536 if(var_pexprnode5
== NULL
) {
4539 if(cltype15
>= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->table_size
) {
4542 var14
= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->type_table
[cltype15
] == idtype16
;
4545 if (unlikely(!var14
)) {
4546 PRINT_ERROR("Runtime error: %s", "Assert failed");
4547 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6293);
4550 var17
= NEW_nit__AAttrReassignExpr(&type_nit__AAttrReassignExpr
);
4552 nit__parser_prod___AAttrReassignExpr___init_aattrreassignexpr(var17
, var_pexprnode2
, var_tattridnode3
, var_passignopnode4
, var_pexprnode5
); /* Direct call parser_prod#AAttrReassignExpr#init_aattrreassignexpr on <var17:AAttrReassignExpr>*/
4554 var_pexprnode1
= var17
;
4555 var_node_list
= var_pexprnode1
;
4556 var18
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction226> */
4558 var19
= nit___nit__Parser___go_to(var_p
, var18
);
4561 nit___nit__Parser___push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4565 /* method parser#ReduceAction227#action for (self: ReduceAction227, Parser) */
4566 void nit__parser___nit__parser__ReduceAction227___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4567 val
* var_p
/* var p: Parser */;
4568 val
* var_node_list
/* var node_list: nullable Object */;
4569 val
* var
/* : nullable Object */;
4570 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4571 val
* var1
/* : nullable Object */;
4572 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4573 val
* var2
/* : nullable Object */;
4574 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4575 val
* var3
/* : nullable Object */;
4576 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4577 val
* var4
/* : AImplicitSelfExpr */;
4578 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
4579 val
* var_tattridnode3
/* var tattridnode3: nullable Object */;
4580 short int var5
/* : Bool */;
4583 val
* var_passignopnode4
/* var passignopnode4: nullable Object */;
4584 short int var6
/* : Bool */;
4587 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
4588 short int var9
/* : Bool */;
4591 val
* var12
/* : AAttrReassignExpr */;
4592 val
* var_pexprnode1
/* var pexprnode1: nullable AAttrReassignExpr */;
4593 long var13
/* : Int */;
4594 long var14
/* : Int */;
4596 var_node_list
= ((val
*)NULL
);
4598 var
= nit___nit__Parser___pop(var_p
);
4600 var_nodearraylist4
= var
;
4602 var1
= nit___nit__Parser___pop(var_p
);
4604 var_nodearraylist3
= var1
;
4606 var2
= nit___nit__Parser___pop(var_p
);
4608 var_nodearraylist2
= var2
;
4610 var3
= nit___nit__Parser___pop(var_p
);
4612 var_nodearraylist1
= var3
;
4613 var4
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
4615 nit__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var4
); /* Direct call parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr on <var4:AImplicitSelfExpr>*/
4617 var_pexprnode2
= var4
;
4618 var_tattridnode3
= var_nodearraylist2
;
4619 /* <var_tattridnode3:nullable Object> isa nullable TAttrid */
4620 cltype
= type_nullable__nit__TAttrid
.color
;
4621 idtype
= type_nullable__nit__TAttrid
.id
;
4622 if(var_tattridnode3
== NULL
) {
4625 if(cltype
>= (((long)var_tattridnode3
&3)?type_info
[((long)var_tattridnode3
&3)]:var_tattridnode3
->type
)->table_size
) {
4628 var5
= (((long)var_tattridnode3
&3)?type_info
[((long)var_tattridnode3
&3)]:var_tattridnode3
->type
)->type_table
[cltype
] == idtype
;
4631 if (unlikely(!var5
)) {
4632 PRINT_ERROR("Runtime error: %s", "Assert failed");
4633 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6315);
4636 var_passignopnode4
= var_nodearraylist3
;
4637 /* <var_passignopnode4:nullable Object> isa nullable AAssignOp */
4638 cltype7
= type_nullable__nit__AAssignOp
.color
;
4639 idtype8
= type_nullable__nit__AAssignOp
.id
;
4640 if(var_passignopnode4
== NULL
) {
4643 if(cltype7
>= (((long)var_passignopnode4
&3)?type_info
[((long)var_passignopnode4
&3)]:var_passignopnode4
->type
)->table_size
) {
4646 var6
= (((long)var_passignopnode4
&3)?type_info
[((long)var_passignopnode4
&3)]:var_passignopnode4
->type
)->type_table
[cltype7
] == idtype8
;
4649 if (unlikely(!var6
)) {
4650 PRINT_ERROR("Runtime error: %s", "Assert failed");
4651 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6317);
4654 var_pexprnode5
= var_nodearraylist4
;
4655 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
4656 cltype10
= type_nullable__nit__AExpr
.color
;
4657 idtype11
= type_nullable__nit__AExpr
.id
;
4658 if(var_pexprnode5
== NULL
) {
4661 if(cltype10
>= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->table_size
) {
4664 var9
= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->type_table
[cltype10
] == idtype11
;
4667 if (unlikely(!var9
)) {
4668 PRINT_ERROR("Runtime error: %s", "Assert failed");
4669 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6319);
4672 var12
= NEW_nit__AAttrReassignExpr(&type_nit__AAttrReassignExpr
);
4674 nit__parser_prod___AAttrReassignExpr___init_aattrreassignexpr(var12
, var_pexprnode2
, var_tattridnode3
, var_passignopnode4
, var_pexprnode5
); /* Direct call parser_prod#AAttrReassignExpr#init_aattrreassignexpr on <var12:AAttrReassignExpr>*/
4676 var_pexprnode1
= var12
;
4677 var_node_list
= var_pexprnode1
;
4678 var13
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction227> */
4680 var14
= nit___nit__Parser___go_to(var_p
, var13
);
4683 nit___nit__Parser___push(var_p
, var14
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4687 /* method parser#ReduceAction228#action for (self: ReduceAction228, Parser) */
4688 void nit__parser___nit__parser__ReduceAction228___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4689 val
* var_p
/* var p: Parser */;
4690 val
* var_node_list
/* var node_list: nullable Object */;
4691 val
* var
/* : nullable Object */;
4692 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
4693 val
* var1
/* : nullable Object */;
4694 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4695 val
* var2
/* : nullable Object */;
4696 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4697 val
* var3
/* : nullable Object */;
4698 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4699 val
* var4
/* : nullable Object */;
4700 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4701 val
* var5
/* : nullable Object */;
4702 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4703 val
* var6
/* : nullable Object */;
4704 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4705 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4706 short int var7
/* : Bool */;
4709 val
* var_tidnode3
/* var tidnode3: nullable Object */;
4710 short int var8
/* : Bool */;
4713 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
4714 short int var11
/* : Bool */;
4717 val
* var_passignopnode5
/* var passignopnode5: nullable Object */;
4718 short int var14
/* : Bool */;
4721 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
4722 short int var17
/* : Bool */;
4725 val
* var20
/* : ACallReassignExpr */;
4726 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
4727 long var21
/* : Int */;
4728 long var22
/* : Int */;
4730 var_node_list
= ((val
*)NULL
);
4732 var
= nit___nit__Parser___pop(var_p
);
4734 var_nodearraylist7
= var
;
4736 var1
= nit___nit__Parser___pop(var_p
);
4738 var_nodearraylist6
= var1
;
4740 var2
= nit___nit__Parser___pop(var_p
);
4742 var_nodearraylist5
= var2
;
4744 var3
= nit___nit__Parser___pop(var_p
);
4746 var_nodearraylist4
= var3
;
4748 var4
= nit___nit__Parser___pop(var_p
);
4750 var_nodearraylist3
= var4
;
4752 var5
= nit___nit__Parser___pop(var_p
);
4754 var_nodearraylist2
= var5
;
4756 var6
= nit___nit__Parser___pop(var_p
);
4758 var_nodearraylist1
= var6
;
4759 var_pexprnode2
= var_nodearraylist1
;
4760 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4761 cltype
= type_nullable__nit__AExpr
.color
;
4762 idtype
= type_nullable__nit__AExpr
.id
;
4763 if(var_pexprnode2
== NULL
) {
4766 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
4769 var7
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
4772 if (unlikely(!var7
)) {
4773 PRINT_ERROR("Runtime error: %s", "Assert failed");
4774 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6343);
4777 var_tidnode3
= var_nodearraylist4
;
4778 /* <var_tidnode3:nullable Object> isa nullable TId */
4779 cltype9
= type_nullable__nit__TId
.color
;
4780 idtype10
= type_nullable__nit__TId
.id
;
4781 if(var_tidnode3
== NULL
) {
4784 if(cltype9
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
4787 var8
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype9
] == idtype10
;
4790 if (unlikely(!var8
)) {
4791 PRINT_ERROR("Runtime error: %s", "Assert failed");
4792 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6345);
4795 var_pexprsnode4
= var_nodearraylist5
;
4796 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
4797 cltype12
= type_nullable__nit__AExprs
.color
;
4798 idtype13
= type_nullable__nit__AExprs
.id
;
4799 if(var_pexprsnode4
== NULL
) {
4802 if(cltype12
>= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->table_size
) {
4805 var11
= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->type_table
[cltype12
] == idtype13
;
4808 if (unlikely(!var11
)) {
4809 PRINT_ERROR("Runtime error: %s", "Assert failed");
4810 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6347);
4813 var_passignopnode5
= var_nodearraylist6
;
4814 /* <var_passignopnode5:nullable Object> isa nullable AAssignOp */
4815 cltype15
= type_nullable__nit__AAssignOp
.color
;
4816 idtype16
= type_nullable__nit__AAssignOp
.id
;
4817 if(var_passignopnode5
== NULL
) {
4820 if(cltype15
>= (((long)var_passignopnode5
&3)?type_info
[((long)var_passignopnode5
&3)]:var_passignopnode5
->type
)->table_size
) {
4823 var14
= (((long)var_passignopnode5
&3)?type_info
[((long)var_passignopnode5
&3)]:var_passignopnode5
->type
)->type_table
[cltype15
] == idtype16
;
4826 if (unlikely(!var14
)) {
4827 PRINT_ERROR("Runtime error: %s", "Assert failed");
4828 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6349);
4831 var_pexprnode6
= var_nodearraylist7
;
4832 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
4833 cltype18
= type_nullable__nit__AExpr
.color
;
4834 idtype19
= type_nullable__nit__AExpr
.id
;
4835 if(var_pexprnode6
== NULL
) {
4838 if(cltype18
>= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->table_size
) {
4841 var17
= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->type_table
[cltype18
] == idtype19
;
4844 if (unlikely(!var17
)) {
4845 PRINT_ERROR("Runtime error: %s", "Assert failed");
4846 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6351);
4849 var20
= NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr
);
4851 nit__parser_prod___ACallReassignExpr___init_acallreassignexpr(var20
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_passignopnode5
, var_pexprnode6
); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on <var20:ACallReassignExpr>*/
4853 var_pexprnode1
= var20
;
4854 var_node_list
= var_pexprnode1
;
4855 var21
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction228> */
4857 var22
= nit___nit__Parser___go_to(var_p
, var21
);
4860 nit___nit__Parser___push(var_p
, var22
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4864 /* method parser#ReduceAction229#action for (self: ReduceAction229, Parser) */
4865 void nit__parser___nit__parser__ReduceAction229___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4866 val
* var_p
/* var p: Parser */;
4867 val
* var_node_list
/* var node_list: nullable Object */;
4868 val
* var
/* : nullable Object */;
4869 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4870 val
* var1
/* : nullable Object */;
4871 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4872 val
* var2
/* : nullable Object */;
4873 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4874 val
* var3
/* : nullable Object */;
4875 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4876 val
* var4
/* : nullable Object */;
4877 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4878 val
* var5
/* : nullable Object */;
4879 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4880 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4881 short int var6
/* : Bool */;
4884 val
* var_tidnode3
/* var tidnode3: nullable Object */;
4885 short int var7
/* : Bool */;
4888 val
* var10
/* : Array[Object] */;
4889 val
* var_listnode5
/* var listnode5: Array[Object] */;
4890 val
* var11
/* : AListExprs */;
4891 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
4892 val
* var_passignopnode6
/* var passignopnode6: nullable Object */;
4893 short int var12
/* : Bool */;
4896 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
4897 short int var15
/* : Bool */;
4900 val
* var18
/* : ACallReassignExpr */;
4901 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
4902 long var19
/* : Int */;
4903 long var20
/* : Int */;
4905 var_node_list
= ((val
*)NULL
);
4907 var
= nit___nit__Parser___pop(var_p
);
4909 var_nodearraylist6
= var
;
4911 var1
= nit___nit__Parser___pop(var_p
);
4913 var_nodearraylist5
= var1
;
4915 var2
= nit___nit__Parser___pop(var_p
);
4917 var_nodearraylist4
= var2
;
4919 var3
= nit___nit__Parser___pop(var_p
);
4921 var_nodearraylist3
= var3
;
4923 var4
= nit___nit__Parser___pop(var_p
);
4925 var_nodearraylist2
= var4
;
4927 var5
= nit___nit__Parser___pop(var_p
);
4929 var_nodearraylist1
= var5
;
4930 var_pexprnode2
= var_nodearraylist1
;
4931 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4932 cltype
= type_nullable__nit__AExpr
.color
;
4933 idtype
= type_nullable__nit__AExpr
.id
;
4934 if(var_pexprnode2
== NULL
) {
4937 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
4940 var6
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
4943 if (unlikely(!var6
)) {
4944 PRINT_ERROR("Runtime error: %s", "Assert failed");
4945 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6375);
4948 var_tidnode3
= var_nodearraylist4
;
4949 /* <var_tidnode3:nullable Object> isa nullable TId */
4950 cltype8
= type_nullable__nit__TId
.color
;
4951 idtype9
= type_nullable__nit__TId
.id
;
4952 if(var_tidnode3
== NULL
) {
4955 if(cltype8
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
4958 var7
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype8
] == idtype9
;
4961 if (unlikely(!var7
)) {
4962 PRINT_ERROR("Runtime error: %s", "Assert failed");
4963 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6377);
4966 var10
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4968 standard___standard__Array___standard__kernel__Object__init(var10
); /* Direct call array#Array#init on <var10:Array[Object]>*/
4970 var_listnode5
= var10
;
4971 var11
= NEW_nit__AListExprs(&type_nit__AListExprs
);
4973 nit__parser_prod___AListExprs___init_alistexprs(var11
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var11:AListExprs>*/
4975 var_pexprsnode4
= var11
;
4976 var_passignopnode6
= var_nodearraylist5
;
4977 /* <var_passignopnode6:nullable Object> isa nullable AAssignOp */
4978 cltype13
= type_nullable__nit__AAssignOp
.color
;
4979 idtype14
= type_nullable__nit__AAssignOp
.id
;
4980 if(var_passignopnode6
== NULL
) {
4983 if(cltype13
>= (((long)var_passignopnode6
&3)?type_info
[((long)var_passignopnode6
&3)]:var_passignopnode6
->type
)->table_size
) {
4986 var12
= (((long)var_passignopnode6
&3)?type_info
[((long)var_passignopnode6
&3)]:var_passignopnode6
->type
)->type_table
[cltype13
] == idtype14
;
4989 if (unlikely(!var12
)) {
4990 PRINT_ERROR("Runtime error: %s", "Assert failed");
4991 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6383);
4994 var_pexprnode7
= var_nodearraylist6
;
4995 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
4996 cltype16
= type_nullable__nit__AExpr
.color
;
4997 idtype17
= type_nullable__nit__AExpr
.id
;
4998 if(var_pexprnode7
== NULL
) {
5001 if(cltype16
>= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->table_size
) {
5004 var15
= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->type_table
[cltype16
] == idtype17
;
5007 if (unlikely(!var15
)) {
5008 PRINT_ERROR("Runtime error: %s", "Assert failed");
5009 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6385);
5012 var18
= NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr
);
5014 nit__parser_prod___ACallReassignExpr___init_acallreassignexpr(var18
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_passignopnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on <var18:ACallReassignExpr>*/
5016 var_pexprnode1
= var18
;
5017 var_node_list
= var_pexprnode1
;
5018 var19
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction229> */
5020 var20
= nit___nit__Parser___go_to(var_p
, var19
);
5023 nit___nit__Parser___push(var_p
, var20
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5027 /* method parser#ReduceAction230#action for (self: ReduceAction230, Parser) */
5028 void nit__parser___nit__parser__ReduceAction230___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5029 val
* var_p
/* var p: Parser */;
5030 val
* var_node_list
/* var node_list: nullable Object */;
5031 val
* var
/* : nullable Object */;
5032 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
5033 val
* var1
/* : nullable Object */;
5034 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
5035 val
* var2
/* : nullable Object */;
5036 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
5037 val
* var3
/* : nullable Object */;
5038 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
5039 val
* var4
/* : nullable Object */;
5040 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5041 val
* var5
/* : nullable Object */;
5042 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5043 val
* var6
/* : nullable Object */;
5044 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5045 val
* var7
/* : nullable Object */;
5046 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5047 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
5048 short int var8
/* : Bool */;
5051 val
* var_tidnode3
/* var tidnode3: nullable Object */;
5052 short int var9
/* : Bool */;
5055 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
5056 short int var12
/* : Bool */;
5059 val
* var_passignopnode5
/* var passignopnode5: nullable Object */;
5060 short int var15
/* : Bool */;
5063 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
5064 short int var18
/* : Bool */;
5067 val
* var21
/* : ACallReassignExpr */;
5068 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
5069 long var22
/* : Int */;
5070 long var23
/* : Int */;
5072 var_node_list
= ((val
*)NULL
);
5074 var
= nit___nit__Parser___pop(var_p
);
5076 var_nodearraylist8
= var
;
5078 var1
= nit___nit__Parser___pop(var_p
);
5080 var_nodearraylist7
= var1
;
5082 var2
= nit___nit__Parser___pop(var_p
);
5084 var_nodearraylist6
= var2
;
5086 var3
= nit___nit__Parser___pop(var_p
);
5088 var_nodearraylist5
= var3
;
5090 var4
= nit___nit__Parser___pop(var_p
);
5092 var_nodearraylist4
= var4
;
5094 var5
= nit___nit__Parser___pop(var_p
);
5096 var_nodearraylist3
= var5
;
5098 var6
= nit___nit__Parser___pop(var_p
);
5100 var_nodearraylist2
= var6
;
5102 var7
= nit___nit__Parser___pop(var_p
);
5104 var_nodearraylist1
= var7
;
5105 var_pexprnode2
= var_nodearraylist1
;
5106 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
5107 cltype
= type_nullable__nit__AExpr
.color
;
5108 idtype
= type_nullable__nit__AExpr
.id
;
5109 if(var_pexprnode2
== NULL
) {
5112 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
5115 var8
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
5118 if (unlikely(!var8
)) {
5119 PRINT_ERROR("Runtime error: %s", "Assert failed");
5120 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6411);
5123 var_tidnode3
= var_nodearraylist5
;
5124 /* <var_tidnode3:nullable Object> isa nullable TId */
5125 cltype10
= type_nullable__nit__TId
.color
;
5126 idtype11
= type_nullable__nit__TId
.id
;
5127 if(var_tidnode3
== NULL
) {
5130 if(cltype10
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
5133 var9
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype10
] == idtype11
;
5136 if (unlikely(!var9
)) {
5137 PRINT_ERROR("Runtime error: %s", "Assert failed");
5138 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6413);
5141 var_pexprsnode4
= var_nodearraylist6
;
5142 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
5143 cltype13
= type_nullable__nit__AExprs
.color
;
5144 idtype14
= type_nullable__nit__AExprs
.id
;
5145 if(var_pexprsnode4
== NULL
) {
5148 if(cltype13
>= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->table_size
) {
5151 var12
= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->type_table
[cltype13
] == idtype14
;
5154 if (unlikely(!var12
)) {
5155 PRINT_ERROR("Runtime error: %s", "Assert failed");
5156 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6415);
5159 var_passignopnode5
= var_nodearraylist7
;
5160 /* <var_passignopnode5:nullable Object> isa nullable AAssignOp */
5161 cltype16
= type_nullable__nit__AAssignOp
.color
;
5162 idtype17
= type_nullable__nit__AAssignOp
.id
;
5163 if(var_passignopnode5
== NULL
) {
5166 if(cltype16
>= (((long)var_passignopnode5
&3)?type_info
[((long)var_passignopnode5
&3)]:var_passignopnode5
->type
)->table_size
) {
5169 var15
= (((long)var_passignopnode5
&3)?type_info
[((long)var_passignopnode5
&3)]:var_passignopnode5
->type
)->type_table
[cltype16
] == idtype17
;
5172 if (unlikely(!var15
)) {
5173 PRINT_ERROR("Runtime error: %s", "Assert failed");
5174 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6417);
5177 var_pexprnode6
= var_nodearraylist8
;
5178 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
5179 cltype19
= type_nullable__nit__AExpr
.color
;
5180 idtype20
= type_nullable__nit__AExpr
.id
;
5181 if(var_pexprnode6
== NULL
) {
5184 if(cltype19
>= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->table_size
) {
5187 var18
= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->type_table
[cltype19
] == idtype20
;
5190 if (unlikely(!var18
)) {
5191 PRINT_ERROR("Runtime error: %s", "Assert failed");
5192 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6419);
5195 var21
= NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr
);
5197 nit__parser_prod___ACallReassignExpr___init_acallreassignexpr(var21
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_passignopnode5
, var_pexprnode6
); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on <var21:ACallReassignExpr>*/
5199 var_pexprnode1
= var21
;
5200 var_node_list
= var_pexprnode1
;
5201 var22
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction230> */
5203 var23
= nit___nit__Parser___go_to(var_p
, var22
);
5206 nit___nit__Parser___push(var_p
, var23
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5210 /* method parser#ReduceAction231#action for (self: ReduceAction231, Parser) */
5211 void nit__parser___nit__parser__ReduceAction231___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5212 val
* var_p
/* var p: Parser */;
5213 val
* var_node_list
/* var node_list: nullable Object */;
5214 val
* var
/* : nullable Object */;
5215 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
5216 val
* var1
/* : nullable Object */;
5217 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
5218 val
* var2
/* : nullable Object */;
5219 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
5220 val
* var3
/* : nullable Object */;
5221 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5222 val
* var4
/* : nullable Object */;
5223 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5224 val
* var5
/* : nullable Object */;
5225 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5226 val
* var6
/* : nullable Object */;
5227 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5228 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
5229 short int var7
/* : Bool */;
5232 val
* var_tidnode3
/* var tidnode3: nullable Object */;
5233 short int var8
/* : Bool */;
5236 val
* var11
/* : Array[Object] */;
5237 val
* var_listnode5
/* var listnode5: Array[Object] */;
5238 val
* var12
/* : AListExprs */;
5239 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
5240 val
* var_passignopnode6
/* var passignopnode6: nullable Object */;
5241 short int var13
/* : Bool */;
5244 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
5245 short int var16
/* : Bool */;
5248 val
* var19
/* : ACallReassignExpr */;
5249 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
5250 long var20
/* : Int */;
5251 long var21
/* : Int */;
5253 var_node_list
= ((val
*)NULL
);
5255 var
= nit___nit__Parser___pop(var_p
);
5257 var_nodearraylist7
= var
;
5259 var1
= nit___nit__Parser___pop(var_p
);
5261 var_nodearraylist6
= var1
;
5263 var2
= nit___nit__Parser___pop(var_p
);
5265 var_nodearraylist5
= var2
;
5267 var3
= nit___nit__Parser___pop(var_p
);
5269 var_nodearraylist4
= var3
;
5271 var4
= nit___nit__Parser___pop(var_p
);
5273 var_nodearraylist3
= var4
;
5275 var5
= nit___nit__Parser___pop(var_p
);
5277 var_nodearraylist2
= var5
;
5279 var6
= nit___nit__Parser___pop(var_p
);
5281 var_nodearraylist1
= var6
;
5282 var_pexprnode2
= var_nodearraylist1
;
5283 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
5284 cltype
= type_nullable__nit__AExpr
.color
;
5285 idtype
= type_nullable__nit__AExpr
.id
;
5286 if(var_pexprnode2
== NULL
) {
5289 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
5292 var7
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
5295 if (unlikely(!var7
)) {
5296 PRINT_ERROR("Runtime error: %s", "Assert failed");
5297 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6444);
5300 var_tidnode3
= var_nodearraylist5
;
5301 /* <var_tidnode3:nullable Object> isa nullable TId */
5302 cltype9
= type_nullable__nit__TId
.color
;
5303 idtype10
= type_nullable__nit__TId
.id
;
5304 if(var_tidnode3
== NULL
) {
5307 if(cltype9
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
5310 var8
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype9
] == idtype10
;
5313 if (unlikely(!var8
)) {
5314 PRINT_ERROR("Runtime error: %s", "Assert failed");
5315 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6446);
5318 var11
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5320 standard___standard__Array___standard__kernel__Object__init(var11
); /* Direct call array#Array#init on <var11:Array[Object]>*/
5322 var_listnode5
= var11
;
5323 var12
= NEW_nit__AListExprs(&type_nit__AListExprs
);
5325 nit__parser_prod___AListExprs___init_alistexprs(var12
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var12:AListExprs>*/
5327 var_pexprsnode4
= var12
;
5328 var_passignopnode6
= var_nodearraylist6
;
5329 /* <var_passignopnode6:nullable Object> isa nullable AAssignOp */
5330 cltype14
= type_nullable__nit__AAssignOp
.color
;
5331 idtype15
= type_nullable__nit__AAssignOp
.id
;
5332 if(var_passignopnode6
== NULL
) {
5335 if(cltype14
>= (((long)var_passignopnode6
&3)?type_info
[((long)var_passignopnode6
&3)]:var_passignopnode6
->type
)->table_size
) {
5338 var13
= (((long)var_passignopnode6
&3)?type_info
[((long)var_passignopnode6
&3)]:var_passignopnode6
->type
)->type_table
[cltype14
] == idtype15
;
5341 if (unlikely(!var13
)) {
5342 PRINT_ERROR("Runtime error: %s", "Assert failed");
5343 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6452);
5346 var_pexprnode7
= var_nodearraylist7
;
5347 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
5348 cltype17
= type_nullable__nit__AExpr
.color
;
5349 idtype18
= type_nullable__nit__AExpr
.id
;
5350 if(var_pexprnode7
== NULL
) {
5353 if(cltype17
>= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->table_size
) {
5356 var16
= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->type_table
[cltype17
] == idtype18
;
5359 if (unlikely(!var16
)) {
5360 PRINT_ERROR("Runtime error: %s", "Assert failed");
5361 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6454);
5364 var19
= NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr
);
5366 nit__parser_prod___ACallReassignExpr___init_acallreassignexpr(var19
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_passignopnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on <var19:ACallReassignExpr>*/
5368 var_pexprnode1
= var19
;
5369 var_node_list
= var_pexprnode1
;
5370 var20
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction231> */
5372 var21
= nit___nit__Parser___go_to(var_p
, var20
);
5375 nit___nit__Parser___push(var_p
, var21
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5379 /* method parser#ReduceAction232#action for (self: ReduceAction232, Parser) */
5380 void nit__parser___nit__parser__ReduceAction232___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5381 val
* var_p
/* var p: Parser */;
5382 val
* var_node_list
/* var node_list: nullable Object */;
5383 val
* var
/* : nullable Object */;
5384 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
5385 val
* var1
/* : nullable Object */;
5386 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
5387 val
* var2
/* : nullable Object */;
5388 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
5389 val
* var3
/* : nullable Object */;
5390 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
5391 val
* var4
/* : nullable Object */;
5392 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
5393 val
* var5
/* : nullable Object */;
5394 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5395 val
* var6
/* : nullable Object */;
5396 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5397 val
* var7
/* : nullable Object */;
5398 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5399 val
* var8
/* : nullable Object */;
5400 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5401 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
5402 short int var9
/* : Bool */;
5405 val
* var_tidnode3
/* var tidnode3: nullable Object */;
5406 short int var10
/* : Bool */;
5409 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
5410 short int var13
/* : Bool */;
5413 val
* var_passignopnode5
/* var passignopnode5: nullable Object */;
5414 short int var16
/* : Bool */;
5417 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
5418 short int var19
/* : Bool */;
5421 val
* var22
/* : ACallReassignExpr */;
5422 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
5423 long var23
/* : Int */;
5424 long var24
/* : Int */;
5426 var_node_list
= ((val
*)NULL
);
5428 var
= nit___nit__Parser___pop(var_p
);
5430 var_nodearraylist9
= var
;
5432 var1
= nit___nit__Parser___pop(var_p
);
5434 var_nodearraylist8
= var1
;
5436 var2
= nit___nit__Parser___pop(var_p
);
5438 var_nodearraylist7
= var2
;
5440 var3
= nit___nit__Parser___pop(var_p
);
5442 var_nodearraylist6
= var3
;
5444 var4
= nit___nit__Parser___pop(var_p
);
5446 var_nodearraylist5
= var4
;
5448 var5
= nit___nit__Parser___pop(var_p
);
5450 var_nodearraylist4
= var5
;
5452 var6
= nit___nit__Parser___pop(var_p
);
5454 var_nodearraylist3
= var6
;
5456 var7
= nit___nit__Parser___pop(var_p
);
5458 var_nodearraylist2
= var7
;
5460 var8
= nit___nit__Parser___pop(var_p
);
5462 var_nodearraylist1
= var8
;
5463 var_pexprnode2
= var_nodearraylist1
;
5464 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
5465 cltype
= type_nullable__nit__AExpr
.color
;
5466 idtype
= type_nullable__nit__AExpr
.id
;
5467 if(var_pexprnode2
== NULL
) {
5470 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
5473 var9
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
5476 if (unlikely(!var9
)) {
5477 PRINT_ERROR("Runtime error: %s", "Assert failed");
5478 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6481);
5481 var_tidnode3
= var_nodearraylist6
;
5482 /* <var_tidnode3:nullable Object> isa nullable TId */
5483 cltype11
= type_nullable__nit__TId
.color
;
5484 idtype12
= type_nullable__nit__TId
.id
;
5485 if(var_tidnode3
== NULL
) {
5488 if(cltype11
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
5491 var10
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype11
] == idtype12
;
5494 if (unlikely(!var10
)) {
5495 PRINT_ERROR("Runtime error: %s", "Assert failed");
5496 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6483);
5499 var_pexprsnode4
= var_nodearraylist7
;
5500 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
5501 cltype14
= type_nullable__nit__AExprs
.color
;
5502 idtype15
= type_nullable__nit__AExprs
.id
;
5503 if(var_pexprsnode4
== NULL
) {
5506 if(cltype14
>= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->table_size
) {
5509 var13
= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->type_table
[cltype14
] == idtype15
;
5512 if (unlikely(!var13
)) {
5513 PRINT_ERROR("Runtime error: %s", "Assert failed");
5514 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6485);
5517 var_passignopnode5
= var_nodearraylist8
;
5518 /* <var_passignopnode5:nullable Object> isa nullable AAssignOp */
5519 cltype17
= type_nullable__nit__AAssignOp
.color
;
5520 idtype18
= type_nullable__nit__AAssignOp
.id
;
5521 if(var_passignopnode5
== NULL
) {
5524 if(cltype17
>= (((long)var_passignopnode5
&3)?type_info
[((long)var_passignopnode5
&3)]:var_passignopnode5
->type
)->table_size
) {
5527 var16
= (((long)var_passignopnode5
&3)?type_info
[((long)var_passignopnode5
&3)]:var_passignopnode5
->type
)->type_table
[cltype17
] == idtype18
;
5530 if (unlikely(!var16
)) {
5531 PRINT_ERROR("Runtime error: %s", "Assert failed");
5532 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6487);
5535 var_pexprnode6
= var_nodearraylist9
;
5536 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
5537 cltype20
= type_nullable__nit__AExpr
.color
;
5538 idtype21
= type_nullable__nit__AExpr
.id
;
5539 if(var_pexprnode6
== NULL
) {
5542 if(cltype20
>= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->table_size
) {
5545 var19
= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->type_table
[cltype20
] == idtype21
;
5548 if (unlikely(!var19
)) {
5549 PRINT_ERROR("Runtime error: %s", "Assert failed");
5550 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6489);
5553 var22
= NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr
);
5555 nit__parser_prod___ACallReassignExpr___init_acallreassignexpr(var22
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_passignopnode5
, var_pexprnode6
); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on <var22:ACallReassignExpr>*/
5557 var_pexprnode1
= var22
;
5558 var_node_list
= var_pexprnode1
;
5559 var23
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction232> */
5561 var24
= nit___nit__Parser___go_to(var_p
, var23
);
5564 nit___nit__Parser___push(var_p
, var24
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5568 /* method parser#ReduceAction233#action for (self: ReduceAction233, Parser) */
5569 void nit__parser___nit__parser__ReduceAction233___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5570 val
* var_p
/* var p: Parser */;
5571 val
* var_node_list
/* var node_list: nullable Object */;
5572 val
* var
/* : nullable Object */;
5573 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
5574 val
* var1
/* : nullable Object */;
5575 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
5576 val
* var2
/* : nullable Object */;
5577 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
5578 val
* var3
/* : nullable Object */;
5579 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
5580 val
* var4
/* : nullable Object */;
5581 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5582 val
* var5
/* : nullable Object */;
5583 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5584 val
* var6
/* : nullable Object */;
5585 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5586 val
* var7
/* : nullable Object */;
5587 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5588 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
5589 short int var8
/* : Bool */;
5592 val
* var_tidnode3
/* var tidnode3: nullable Object */;
5593 short int var9
/* : Bool */;
5596 val
* var12
/* : Array[Object] */;
5597 val
* var_listnode5
/* var listnode5: Array[Object] */;
5598 val
* var13
/* : AListExprs */;
5599 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
5600 val
* var_passignopnode6
/* var passignopnode6: nullable Object */;
5601 short int var14
/* : Bool */;
5604 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
5605 short int var17
/* : Bool */;
5608 val
* var20
/* : ACallReassignExpr */;
5609 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
5610 long var21
/* : Int */;
5611 long var22
/* : Int */;
5613 var_node_list
= ((val
*)NULL
);
5615 var
= nit___nit__Parser___pop(var_p
);
5617 var_nodearraylist8
= var
;
5619 var1
= nit___nit__Parser___pop(var_p
);
5621 var_nodearraylist7
= var1
;
5623 var2
= nit___nit__Parser___pop(var_p
);
5625 var_nodearraylist6
= var2
;
5627 var3
= nit___nit__Parser___pop(var_p
);
5629 var_nodearraylist5
= var3
;
5631 var4
= nit___nit__Parser___pop(var_p
);
5633 var_nodearraylist4
= var4
;
5635 var5
= nit___nit__Parser___pop(var_p
);
5637 var_nodearraylist3
= var5
;
5639 var6
= nit___nit__Parser___pop(var_p
);
5641 var_nodearraylist2
= var6
;
5643 var7
= nit___nit__Parser___pop(var_p
);
5645 var_nodearraylist1
= var7
;
5646 var_pexprnode2
= var_nodearraylist1
;
5647 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
5648 cltype
= type_nullable__nit__AExpr
.color
;
5649 idtype
= type_nullable__nit__AExpr
.id
;
5650 if(var_pexprnode2
== NULL
) {
5653 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
5656 var8
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
5659 if (unlikely(!var8
)) {
5660 PRINT_ERROR("Runtime error: %s", "Assert failed");
5661 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6515);
5664 var_tidnode3
= var_nodearraylist6
;
5665 /* <var_tidnode3:nullable Object> isa nullable TId */
5666 cltype10
= type_nullable__nit__TId
.color
;
5667 idtype11
= type_nullable__nit__TId
.id
;
5668 if(var_tidnode3
== NULL
) {
5671 if(cltype10
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
5674 var9
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype10
] == idtype11
;
5677 if (unlikely(!var9
)) {
5678 PRINT_ERROR("Runtime error: %s", "Assert failed");
5679 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6517);
5682 var12
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5684 standard___standard__Array___standard__kernel__Object__init(var12
); /* Direct call array#Array#init on <var12:Array[Object]>*/
5686 var_listnode5
= var12
;
5687 var13
= NEW_nit__AListExprs(&type_nit__AListExprs
);
5689 nit__parser_prod___AListExprs___init_alistexprs(var13
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var13:AListExprs>*/
5691 var_pexprsnode4
= var13
;
5692 var_passignopnode6
= var_nodearraylist7
;
5693 /* <var_passignopnode6:nullable Object> isa nullable AAssignOp */
5694 cltype15
= type_nullable__nit__AAssignOp
.color
;
5695 idtype16
= type_nullable__nit__AAssignOp
.id
;
5696 if(var_passignopnode6
== NULL
) {
5699 if(cltype15
>= (((long)var_passignopnode6
&3)?type_info
[((long)var_passignopnode6
&3)]:var_passignopnode6
->type
)->table_size
) {
5702 var14
= (((long)var_passignopnode6
&3)?type_info
[((long)var_passignopnode6
&3)]:var_passignopnode6
->type
)->type_table
[cltype15
] == idtype16
;
5705 if (unlikely(!var14
)) {
5706 PRINT_ERROR("Runtime error: %s", "Assert failed");
5707 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6523);
5710 var_pexprnode7
= var_nodearraylist8
;
5711 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
5712 cltype18
= type_nullable__nit__AExpr
.color
;
5713 idtype19
= type_nullable__nit__AExpr
.id
;
5714 if(var_pexprnode7
== NULL
) {
5717 if(cltype18
>= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->table_size
) {
5720 var17
= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->type_table
[cltype18
] == idtype19
;
5723 if (unlikely(!var17
)) {
5724 PRINT_ERROR("Runtime error: %s", "Assert failed");
5725 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6525);
5728 var20
= NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr
);
5730 nit__parser_prod___ACallReassignExpr___init_acallreassignexpr(var20
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_passignopnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on <var20:ACallReassignExpr>*/
5732 var_pexprnode1
= var20
;
5733 var_node_list
= var_pexprnode1
;
5734 var21
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction233> */
5736 var22
= nit___nit__Parser___go_to(var_p
, var21
);
5739 nit___nit__Parser___push(var_p
, var22
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5743 /* method parser#ReduceAction236#action for (self: ReduceAction236, Parser) */
5744 void nit__parser___nit__parser__ReduceAction236___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5745 val
* var_p
/* var p: Parser */;
5746 val
* var_node_list
/* var node_list: nullable Object */;
5747 val
* var
/* : nullable Object */;
5748 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5749 val
* var1
/* : nullable Object */;
5750 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5751 val
* var2
/* : nullable Object */;
5752 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5753 val
* var3
/* : nullable Object */;
5754 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5755 val
* var4
/* : AImplicitSelfExpr */;
5756 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
5757 val
* var_tidnode3
/* var tidnode3: nullable Object */;
5758 short int var5
/* : Bool */;
5761 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
5762 short int var6
/* : Bool */;
5765 val
* var_passignopnode5
/* var passignopnode5: nullable Object */;
5766 short int var9
/* : Bool */;
5769 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
5770 short int var12
/* : Bool */;
5773 val
* var15
/* : ACallReassignExpr */;
5774 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
5775 long var16
/* : Int */;
5776 long var17
/* : Int */;
5778 var_node_list
= ((val
*)NULL
);
5780 var
= nit___nit__Parser___pop(var_p
);
5782 var_nodearraylist4
= var
;
5784 var1
= nit___nit__Parser___pop(var_p
);
5786 var_nodearraylist3
= var1
;
5788 var2
= nit___nit__Parser___pop(var_p
);
5790 var_nodearraylist2
= var2
;
5792 var3
= nit___nit__Parser___pop(var_p
);
5794 var_nodearraylist1
= var3
;
5795 var4
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
5797 nit__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var4
); /* Direct call parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr on <var4:AImplicitSelfExpr>*/
5799 var_pexprnode2
= var4
;
5800 var_tidnode3
= var_nodearraylist1
;
5801 /* <var_tidnode3:nullable Object> isa nullable TId */
5802 cltype
= type_nullable__nit__TId
.color
;
5803 idtype
= type_nullable__nit__TId
.id
;
5804 if(var_tidnode3
== NULL
) {
5807 if(cltype
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
5810 var5
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype
] == idtype
;
5813 if (unlikely(!var5
)) {
5814 PRINT_ERROR("Runtime error: %s", "Assert failed");
5815 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6548);
5818 var_pexprsnode4
= var_nodearraylist2
;
5819 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
5820 cltype7
= type_nullable__nit__AExprs
.color
;
5821 idtype8
= type_nullable__nit__AExprs
.id
;
5822 if(var_pexprsnode4
== NULL
) {
5825 if(cltype7
>= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->table_size
) {
5828 var6
= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->type_table
[cltype7
] == idtype8
;
5831 if (unlikely(!var6
)) {
5832 PRINT_ERROR("Runtime error: %s", "Assert failed");
5833 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6550);
5836 var_passignopnode5
= var_nodearraylist3
;
5837 /* <var_passignopnode5:nullable Object> isa nullable AAssignOp */
5838 cltype10
= type_nullable__nit__AAssignOp
.color
;
5839 idtype11
= type_nullable__nit__AAssignOp
.id
;
5840 if(var_passignopnode5
== NULL
) {
5843 if(cltype10
>= (((long)var_passignopnode5
&3)?type_info
[((long)var_passignopnode5
&3)]:var_passignopnode5
->type
)->table_size
) {
5846 var9
= (((long)var_passignopnode5
&3)?type_info
[((long)var_passignopnode5
&3)]:var_passignopnode5
->type
)->type_table
[cltype10
] == idtype11
;
5849 if (unlikely(!var9
)) {
5850 PRINT_ERROR("Runtime error: %s", "Assert failed");
5851 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6552);
5854 var_pexprnode6
= var_nodearraylist4
;
5855 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
5856 cltype13
= type_nullable__nit__AExpr
.color
;
5857 idtype14
= type_nullable__nit__AExpr
.id
;
5858 if(var_pexprnode6
== NULL
) {
5861 if(cltype13
>= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->table_size
) {
5864 var12
= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->type_table
[cltype13
] == idtype14
;
5867 if (unlikely(!var12
)) {
5868 PRINT_ERROR("Runtime error: %s", "Assert failed");
5869 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6554);
5872 var15
= NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr
);
5874 nit__parser_prod___ACallReassignExpr___init_acallreassignexpr(var15
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_passignopnode5
, var_pexprnode6
); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on <var15:ACallReassignExpr>*/
5876 var_pexprnode1
= var15
;
5877 var_node_list
= var_pexprnode1
;
5878 var16
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction236> */
5880 var17
= nit___nit__Parser___go_to(var_p
, var16
);
5883 nit___nit__Parser___push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5887 /* method parser#ReduceAction237#action for (self: ReduceAction237, Parser) */
5888 void nit__parser___nit__parser__ReduceAction237___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5889 val
* var_p
/* var p: Parser */;
5890 val
* var_node_list
/* var node_list: nullable Object */;
5891 val
* var
/* : nullable Object */;
5892 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5893 val
* var1
/* : nullable Object */;
5894 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5895 val
* var2
/* : nullable Object */;
5896 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5897 val
* var3
/* : AImplicitSelfExpr */;
5898 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
5899 val
* var_tidnode3
/* var tidnode3: nullable Object */;
5900 short int var4
/* : Bool */;
5903 val
* var5
/* : Array[Object] */;
5904 val
* var_listnode5
/* var listnode5: Array[Object] */;
5905 val
* var6
/* : AListExprs */;
5906 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
5907 val
* var_passignopnode6
/* var passignopnode6: nullable Object */;
5908 short int var7
/* : Bool */;
5911 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
5912 short int var10
/* : Bool */;
5915 val
* var13
/* : ACallReassignExpr */;
5916 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
5917 long var14
/* : Int */;
5918 long var15
/* : Int */;
5920 var_node_list
= ((val
*)NULL
);
5922 var
= nit___nit__Parser___pop(var_p
);
5924 var_nodearraylist3
= var
;
5926 var1
= nit___nit__Parser___pop(var_p
);
5928 var_nodearraylist2
= var1
;
5930 var2
= nit___nit__Parser___pop(var_p
);
5932 var_nodearraylist1
= var2
;
5933 var3
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
5935 nit__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var3
); /* Direct call parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr on <var3:AImplicitSelfExpr>*/
5937 var_pexprnode2
= var3
;
5938 var_tidnode3
= var_nodearraylist1
;
5939 /* <var_tidnode3:nullable Object> isa nullable TId */
5940 cltype
= type_nullable__nit__TId
.color
;
5941 idtype
= type_nullable__nit__TId
.id
;
5942 if(var_tidnode3
== NULL
) {
5945 if(cltype
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
5948 var4
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype
] == idtype
;
5951 if (unlikely(!var4
)) {
5952 PRINT_ERROR("Runtime error: %s", "Assert failed");
5953 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6576);
5956 var5
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5958 standard___standard__Array___standard__kernel__Object__init(var5
); /* Direct call array#Array#init on <var5:Array[Object]>*/
5960 var_listnode5
= var5
;
5961 var6
= NEW_nit__AListExprs(&type_nit__AListExprs
);
5963 nit__parser_prod___AListExprs___init_alistexprs(var6
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var6:AListExprs>*/
5965 var_pexprsnode4
= var6
;
5966 var_passignopnode6
= var_nodearraylist2
;
5967 /* <var_passignopnode6:nullable Object> isa nullable AAssignOp */
5968 cltype8
= type_nullable__nit__AAssignOp
.color
;
5969 idtype9
= type_nullable__nit__AAssignOp
.id
;
5970 if(var_passignopnode6
== NULL
) {
5973 if(cltype8
>= (((long)var_passignopnode6
&3)?type_info
[((long)var_passignopnode6
&3)]:var_passignopnode6
->type
)->table_size
) {
5976 var7
= (((long)var_passignopnode6
&3)?type_info
[((long)var_passignopnode6
&3)]:var_passignopnode6
->type
)->type_table
[cltype8
] == idtype9
;
5979 if (unlikely(!var7
)) {
5980 PRINT_ERROR("Runtime error: %s", "Assert failed");
5981 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6582);
5984 var_pexprnode7
= var_nodearraylist3
;
5985 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
5986 cltype11
= type_nullable__nit__AExpr
.color
;
5987 idtype12
= type_nullable__nit__AExpr
.id
;
5988 if(var_pexprnode7
== NULL
) {
5991 if(cltype11
>= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->table_size
) {
5994 var10
= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->type_table
[cltype11
] == idtype12
;
5997 if (unlikely(!var10
)) {
5998 PRINT_ERROR("Runtime error: %s", "Assert failed");
5999 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6584);
6002 var13
= NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr
);
6004 nit__parser_prod___ACallReassignExpr___init_acallreassignexpr(var13
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_passignopnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on <var13:ACallReassignExpr>*/
6006 var_pexprnode1
= var13
;
6007 var_node_list
= var_pexprnode1
;
6008 var14
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction237> */
6010 var15
= nit___nit__Parser___go_to(var_p
, var14
);
6013 nit___nit__Parser___push(var_p
, var15
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6017 /* method parser#ReduceAction238#action for (self: ReduceAction238, Parser) */
6018 void nit__parser___nit__parser__ReduceAction238___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_nodearraylist5
/* var nodearraylist5: nullable Object */;
6023 val
* var1
/* : nullable Object */;
6024 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6025 val
* var2
/* : nullable Object */;
6026 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6027 val
* var3
/* : nullable Object */;
6028 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6029 val
* var4
/* : nullable Object */;
6030 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6031 val
* var5
/* : AImplicitSelfExpr */;
6032 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
6033 val
* var_tidnode3
/* var tidnode3: nullable Object */;
6034 short int var6
/* : Bool */;
6037 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
6038 short int var7
/* : Bool */;
6041 val
* var_passignopnode5
/* var passignopnode5: nullable Object */;
6042 short int var10
/* : Bool */;
6045 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
6046 short int var13
/* : Bool */;
6049 val
* var16
/* : ACallReassignExpr */;
6050 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
6051 long var17
/* : Int */;
6052 long var18
/* : Int */;
6054 var_node_list
= ((val
*)NULL
);
6056 var
= nit___nit__Parser___pop(var_p
);
6058 var_nodearraylist5
= var
;
6060 var1
= nit___nit__Parser___pop(var_p
);
6062 var_nodearraylist4
= var1
;
6064 var2
= nit___nit__Parser___pop(var_p
);
6066 var_nodearraylist3
= var2
;
6068 var3
= nit___nit__Parser___pop(var_p
);
6070 var_nodearraylist2
= var3
;
6072 var4
= nit___nit__Parser___pop(var_p
);
6074 var_nodearraylist1
= var4
;
6075 var5
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
6077 nit__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var5
); /* Direct call parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr on <var5:AImplicitSelfExpr>*/
6079 var_pexprnode2
= var5
;
6080 var_tidnode3
= var_nodearraylist2
;
6081 /* <var_tidnode3:nullable Object> isa nullable TId */
6082 cltype
= type_nullable__nit__TId
.color
;
6083 idtype
= type_nullable__nit__TId
.id
;
6084 if(var_tidnode3
== NULL
) {
6087 if(cltype
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
6090 var6
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype
] == idtype
;
6093 if (unlikely(!var6
)) {
6094 PRINT_ERROR("Runtime error: %s", "Assert failed");
6095 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6608);
6098 var_pexprsnode4
= var_nodearraylist3
;
6099 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
6100 cltype8
= type_nullable__nit__AExprs
.color
;
6101 idtype9
= type_nullable__nit__AExprs
.id
;
6102 if(var_pexprsnode4
== NULL
) {
6105 if(cltype8
>= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->table_size
) {
6108 var7
= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->type_table
[cltype8
] == idtype9
;
6111 if (unlikely(!var7
)) {
6112 PRINT_ERROR("Runtime error: %s", "Assert failed");
6113 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6610);
6116 var_passignopnode5
= var_nodearraylist4
;
6117 /* <var_passignopnode5:nullable Object> isa nullable AAssignOp */
6118 cltype11
= type_nullable__nit__AAssignOp
.color
;
6119 idtype12
= type_nullable__nit__AAssignOp
.id
;
6120 if(var_passignopnode5
== NULL
) {
6123 if(cltype11
>= (((long)var_passignopnode5
&3)?type_info
[((long)var_passignopnode5
&3)]:var_passignopnode5
->type
)->table_size
) {
6126 var10
= (((long)var_passignopnode5
&3)?type_info
[((long)var_passignopnode5
&3)]:var_passignopnode5
->type
)->type_table
[cltype11
] == idtype12
;
6129 if (unlikely(!var10
)) {
6130 PRINT_ERROR("Runtime error: %s", "Assert failed");
6131 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6612);
6134 var_pexprnode6
= var_nodearraylist5
;
6135 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
6136 cltype14
= type_nullable__nit__AExpr
.color
;
6137 idtype15
= type_nullable__nit__AExpr
.id
;
6138 if(var_pexprnode6
== NULL
) {
6141 if(cltype14
>= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->table_size
) {
6144 var13
= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->type_table
[cltype14
] == idtype15
;
6147 if (unlikely(!var13
)) {
6148 PRINT_ERROR("Runtime error: %s", "Assert failed");
6149 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6614);
6152 var16
= NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr
);
6154 nit__parser_prod___ACallReassignExpr___init_acallreassignexpr(var16
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_passignopnode5
, var_pexprnode6
); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on <var16:ACallReassignExpr>*/
6156 var_pexprnode1
= var16
;
6157 var_node_list
= var_pexprnode1
;
6158 var17
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction238> */
6160 var18
= nit___nit__Parser___go_to(var_p
, var17
);
6163 nit___nit__Parser___push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6167 /* method parser#ReduceAction239#action for (self: ReduceAction239, Parser) */
6168 void nit__parser___nit__parser__ReduceAction239___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6169 val
* var_p
/* var p: Parser */;
6170 val
* var_node_list
/* var node_list: nullable Object */;
6171 val
* var
/* : nullable Object */;
6172 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6173 val
* var1
/* : nullable Object */;
6174 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6175 val
* var2
/* : nullable Object */;
6176 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6177 val
* var3
/* : nullable Object */;
6178 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6179 val
* var4
/* : AImplicitSelfExpr */;
6180 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
6181 val
* var_tidnode3
/* var tidnode3: nullable Object */;
6182 short int var5
/* : Bool */;
6185 val
* var6
/* : Array[Object] */;
6186 val
* var_listnode5
/* var listnode5: Array[Object] */;
6187 val
* var7
/* : AListExprs */;
6188 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
6189 val
* var_passignopnode6
/* var passignopnode6: nullable Object */;
6190 short int var8
/* : Bool */;
6193 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
6194 short int var11
/* : Bool */;
6197 val
* var14
/* : ACallReassignExpr */;
6198 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
6199 long var15
/* : Int */;
6200 long var16
/* : Int */;
6202 var_node_list
= ((val
*)NULL
);
6204 var
= nit___nit__Parser___pop(var_p
);
6206 var_nodearraylist4
= var
;
6208 var1
= nit___nit__Parser___pop(var_p
);
6210 var_nodearraylist3
= var1
;
6212 var2
= nit___nit__Parser___pop(var_p
);
6214 var_nodearraylist2
= var2
;
6216 var3
= nit___nit__Parser___pop(var_p
);
6218 var_nodearraylist1
= var3
;
6219 var4
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
6221 nit__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var4
); /* Direct call parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr on <var4:AImplicitSelfExpr>*/
6223 var_pexprnode2
= var4
;
6224 var_tidnode3
= var_nodearraylist2
;
6225 /* <var_tidnode3:nullable Object> isa nullable TId */
6226 cltype
= type_nullable__nit__TId
.color
;
6227 idtype
= type_nullable__nit__TId
.id
;
6228 if(var_tidnode3
== NULL
) {
6231 if(cltype
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
6234 var5
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype
] == idtype
;
6237 if (unlikely(!var5
)) {
6238 PRINT_ERROR("Runtime error: %s", "Assert failed");
6239 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6637);
6242 var6
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6244 standard___standard__Array___standard__kernel__Object__init(var6
); /* Direct call array#Array#init on <var6:Array[Object]>*/
6246 var_listnode5
= var6
;
6247 var7
= NEW_nit__AListExprs(&type_nit__AListExprs
);
6249 nit__parser_prod___AListExprs___init_alistexprs(var7
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var7:AListExprs>*/
6251 var_pexprsnode4
= var7
;
6252 var_passignopnode6
= var_nodearraylist3
;
6253 /* <var_passignopnode6:nullable Object> isa nullable AAssignOp */
6254 cltype9
= type_nullable__nit__AAssignOp
.color
;
6255 idtype10
= type_nullable__nit__AAssignOp
.id
;
6256 if(var_passignopnode6
== NULL
) {
6259 if(cltype9
>= (((long)var_passignopnode6
&3)?type_info
[((long)var_passignopnode6
&3)]:var_passignopnode6
->type
)->table_size
) {
6262 var8
= (((long)var_passignopnode6
&3)?type_info
[((long)var_passignopnode6
&3)]:var_passignopnode6
->type
)->type_table
[cltype9
] == idtype10
;
6265 if (unlikely(!var8
)) {
6266 PRINT_ERROR("Runtime error: %s", "Assert failed");
6267 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6643);
6270 var_pexprnode7
= var_nodearraylist4
;
6271 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
6272 cltype12
= type_nullable__nit__AExpr
.color
;
6273 idtype13
= type_nullable__nit__AExpr
.id
;
6274 if(var_pexprnode7
== NULL
) {
6277 if(cltype12
>= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->table_size
) {
6280 var11
= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->type_table
[cltype12
] == idtype13
;
6283 if (unlikely(!var11
)) {
6284 PRINT_ERROR("Runtime error: %s", "Assert failed");
6285 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6645);
6288 var14
= NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr
);
6290 nit__parser_prod___ACallReassignExpr___init_acallreassignexpr(var14
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_passignopnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on <var14:ACallReassignExpr>*/
6292 var_pexprnode1
= var14
;
6293 var_node_list
= var_pexprnode1
;
6294 var15
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction239> */
6296 var16
= nit___nit__Parser___go_to(var_p
, var15
);
6299 nit___nit__Parser___push(var_p
, var16
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6303 /* method parser#ReduceAction240#action for (self: ReduceAction240, Parser) */
6304 void nit__parser___nit__parser__ReduceAction240___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6305 val
* var_p
/* var p: Parser */;
6306 val
* var_node_list
/* var node_list: nullable Object */;
6307 val
* var
/* : nullable Object */;
6308 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
6309 val
* var1
/* : nullable Object */;
6310 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6311 val
* var2
/* : nullable Object */;
6312 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6313 val
* var3
/* : nullable Object */;
6314 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6315 val
* var4
/* : nullable Object */;
6316 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6317 val
* var5
/* : nullable Object */;
6318 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6319 val
* var6
/* : AImplicitSelfExpr */;
6320 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
6321 val
* var_tidnode3
/* var tidnode3: nullable Object */;
6322 short int var7
/* : Bool */;
6325 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
6326 short int var8
/* : Bool */;
6329 val
* var_passignopnode5
/* var passignopnode5: nullable Object */;
6330 short int var11
/* : Bool */;
6333 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
6334 short int var14
/* : Bool */;
6337 val
* var17
/* : ACallReassignExpr */;
6338 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
6339 long var18
/* : Int */;
6340 long var19
/* : Int */;
6342 var_node_list
= ((val
*)NULL
);
6344 var
= nit___nit__Parser___pop(var_p
);
6346 var_nodearraylist6
= var
;
6348 var1
= nit___nit__Parser___pop(var_p
);
6350 var_nodearraylist5
= var1
;
6352 var2
= nit___nit__Parser___pop(var_p
);
6354 var_nodearraylist4
= var2
;
6356 var3
= nit___nit__Parser___pop(var_p
);
6358 var_nodearraylist3
= var3
;
6360 var4
= nit___nit__Parser___pop(var_p
);
6362 var_nodearraylist2
= var4
;
6364 var5
= nit___nit__Parser___pop(var_p
);
6366 var_nodearraylist1
= var5
;
6367 var6
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
6369 nit__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var6
); /* Direct call parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr on <var6:AImplicitSelfExpr>*/
6371 var_pexprnode2
= var6
;
6372 var_tidnode3
= var_nodearraylist3
;
6373 /* <var_tidnode3:nullable Object> isa nullable TId */
6374 cltype
= type_nullable__nit__TId
.color
;
6375 idtype
= type_nullable__nit__TId
.id
;
6376 if(var_tidnode3
== NULL
) {
6379 if(cltype
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
6382 var7
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype
] == idtype
;
6385 if (unlikely(!var7
)) {
6386 PRINT_ERROR("Runtime error: %s", "Assert failed");
6387 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6670);
6390 var_pexprsnode4
= var_nodearraylist4
;
6391 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
6392 cltype9
= type_nullable__nit__AExprs
.color
;
6393 idtype10
= type_nullable__nit__AExprs
.id
;
6394 if(var_pexprsnode4
== NULL
) {
6397 if(cltype9
>= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->table_size
) {
6400 var8
= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->type_table
[cltype9
] == idtype10
;
6403 if (unlikely(!var8
)) {
6404 PRINT_ERROR("Runtime error: %s", "Assert failed");
6405 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6672);
6408 var_passignopnode5
= var_nodearraylist5
;
6409 /* <var_passignopnode5:nullable Object> isa nullable AAssignOp */
6410 cltype12
= type_nullable__nit__AAssignOp
.color
;
6411 idtype13
= type_nullable__nit__AAssignOp
.id
;
6412 if(var_passignopnode5
== NULL
) {
6415 if(cltype12
>= (((long)var_passignopnode5
&3)?type_info
[((long)var_passignopnode5
&3)]:var_passignopnode5
->type
)->table_size
) {
6418 var11
= (((long)var_passignopnode5
&3)?type_info
[((long)var_passignopnode5
&3)]:var_passignopnode5
->type
)->type_table
[cltype12
] == idtype13
;
6421 if (unlikely(!var11
)) {
6422 PRINT_ERROR("Runtime error: %s", "Assert failed");
6423 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6674);
6426 var_pexprnode6
= var_nodearraylist6
;
6427 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
6428 cltype15
= type_nullable__nit__AExpr
.color
;
6429 idtype16
= type_nullable__nit__AExpr
.id
;
6430 if(var_pexprnode6
== NULL
) {
6433 if(cltype15
>= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->table_size
) {
6436 var14
= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->type_table
[cltype15
] == idtype16
;
6439 if (unlikely(!var14
)) {
6440 PRINT_ERROR("Runtime error: %s", "Assert failed");
6441 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6676);
6444 var17
= NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr
);
6446 nit__parser_prod___ACallReassignExpr___init_acallreassignexpr(var17
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_passignopnode5
, var_pexprnode6
); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on <var17:ACallReassignExpr>*/
6448 var_pexprnode1
= var17
;
6449 var_node_list
= var_pexprnode1
;
6450 var18
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction240> */
6452 var19
= nit___nit__Parser___go_to(var_p
, var18
);
6455 nit___nit__Parser___push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6459 /* method parser#ReduceAction241#action for (self: ReduceAction241, Parser) */
6460 void nit__parser___nit__parser__ReduceAction241___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6461 val
* var_p
/* var p: Parser */;
6462 val
* var_node_list
/* var node_list: nullable Object */;
6463 val
* var
/* : nullable Object */;
6464 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6465 val
* var1
/* : nullable Object */;
6466 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6467 val
* var2
/* : nullable Object */;
6468 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6469 val
* var3
/* : nullable Object */;
6470 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6471 val
* var4
/* : nullable Object */;
6472 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6473 val
* var5
/* : AImplicitSelfExpr */;
6474 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
6475 val
* var_tidnode3
/* var tidnode3: nullable Object */;
6476 short int var6
/* : Bool */;
6479 val
* var7
/* : Array[Object] */;
6480 val
* var_listnode5
/* var listnode5: Array[Object] */;
6481 val
* var8
/* : AListExprs */;
6482 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
6483 val
* var_passignopnode6
/* var passignopnode6: nullable Object */;
6484 short int var9
/* : Bool */;
6487 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
6488 short int var12
/* : Bool */;
6491 val
* var15
/* : ACallReassignExpr */;
6492 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
6493 long var16
/* : Int */;
6494 long var17
/* : Int */;
6496 var_node_list
= ((val
*)NULL
);
6498 var
= nit___nit__Parser___pop(var_p
);
6500 var_nodearraylist5
= var
;
6502 var1
= nit___nit__Parser___pop(var_p
);
6504 var_nodearraylist4
= var1
;
6506 var2
= nit___nit__Parser___pop(var_p
);
6508 var_nodearraylist3
= var2
;
6510 var3
= nit___nit__Parser___pop(var_p
);
6512 var_nodearraylist2
= var3
;
6514 var4
= nit___nit__Parser___pop(var_p
);
6516 var_nodearraylist1
= var4
;
6517 var5
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
6519 nit__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var5
); /* Direct call parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr on <var5:AImplicitSelfExpr>*/
6521 var_pexprnode2
= var5
;
6522 var_tidnode3
= var_nodearraylist3
;
6523 /* <var_tidnode3:nullable Object> isa nullable TId */
6524 cltype
= type_nullable__nit__TId
.color
;
6525 idtype
= type_nullable__nit__TId
.id
;
6526 if(var_tidnode3
== NULL
) {
6529 if(cltype
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
6532 var6
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype
] == idtype
;
6535 if (unlikely(!var6
)) {
6536 PRINT_ERROR("Runtime error: %s", "Assert failed");
6537 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6700);
6540 var7
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6542 standard___standard__Array___standard__kernel__Object__init(var7
); /* Direct call array#Array#init on <var7:Array[Object]>*/
6544 var_listnode5
= var7
;
6545 var8
= NEW_nit__AListExprs(&type_nit__AListExprs
);
6547 nit__parser_prod___AListExprs___init_alistexprs(var8
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var8:AListExprs>*/
6549 var_pexprsnode4
= var8
;
6550 var_passignopnode6
= var_nodearraylist4
;
6551 /* <var_passignopnode6:nullable Object> isa nullable AAssignOp */
6552 cltype10
= type_nullable__nit__AAssignOp
.color
;
6553 idtype11
= type_nullable__nit__AAssignOp
.id
;
6554 if(var_passignopnode6
== NULL
) {
6557 if(cltype10
>= (((long)var_passignopnode6
&3)?type_info
[((long)var_passignopnode6
&3)]:var_passignopnode6
->type
)->table_size
) {
6560 var9
= (((long)var_passignopnode6
&3)?type_info
[((long)var_passignopnode6
&3)]:var_passignopnode6
->type
)->type_table
[cltype10
] == idtype11
;
6563 if (unlikely(!var9
)) {
6564 PRINT_ERROR("Runtime error: %s", "Assert failed");
6565 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6706);
6568 var_pexprnode7
= var_nodearraylist5
;
6569 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
6570 cltype13
= type_nullable__nit__AExpr
.color
;
6571 idtype14
= type_nullable__nit__AExpr
.id
;
6572 if(var_pexprnode7
== NULL
) {
6575 if(cltype13
>= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->table_size
) {
6578 var12
= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->type_table
[cltype13
] == idtype14
;
6581 if (unlikely(!var12
)) {
6582 PRINT_ERROR("Runtime error: %s", "Assert failed");
6583 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6708);
6586 var15
= NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr
);
6588 nit__parser_prod___ACallReassignExpr___init_acallreassignexpr(var15
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_passignopnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on <var15:ACallReassignExpr>*/
6590 var_pexprnode1
= var15
;
6591 var_node_list
= var_pexprnode1
;
6592 var16
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction241> */
6594 var17
= nit___nit__Parser___go_to(var_p
, var16
);
6597 nit___nit__Parser___push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6601 /* method parser#ReduceAction244#action for (self: ReduceAction244, Parser) */
6602 void nit__parser___nit__parser__ReduceAction244___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6603 val
* var_p
/* var p: Parser */;
6604 val
* var_node_list
/* var node_list: nullable Object */;
6605 val
* var
/* : nullable Object */;
6606 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6607 val
* var1
/* : nullable Object */;
6608 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6609 val
* var2
/* : nullable Object */;
6610 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6611 val
* var3
/* : nullable Object */;
6612 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6613 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
6614 short int var4
/* : Bool */;
6617 val
* var_pexprsnode3
/* var pexprsnode3: nullable Object */;
6618 short int var5
/* : Bool */;
6621 val
* var_passignopnode4
/* var passignopnode4: nullable Object */;
6622 short int var8
/* : Bool */;
6625 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
6626 short int var11
/* : Bool */;
6629 val
* var14
/* : ABraReassignExpr */;
6630 val
* var_pexprnode1
/* var pexprnode1: nullable ABraReassignExpr */;
6631 long var15
/* : Int */;
6632 long var16
/* : Int */;
6634 var_node_list
= ((val
*)NULL
);
6636 var
= nit___nit__Parser___pop(var_p
);
6638 var_nodearraylist4
= var
;
6640 var1
= nit___nit__Parser___pop(var_p
);
6642 var_nodearraylist3
= var1
;
6644 var2
= nit___nit__Parser___pop(var_p
);
6646 var_nodearraylist2
= var2
;
6648 var3
= nit___nit__Parser___pop(var_p
);
6650 var_nodearraylist1
= var3
;
6651 var_pexprnode2
= var_nodearraylist1
;
6652 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
6653 cltype
= type_nullable__nit__AExpr
.color
;
6654 idtype
= type_nullable__nit__AExpr
.id
;
6655 if(var_pexprnode2
== NULL
) {
6658 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
6661 var4
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
6664 if (unlikely(!var4
)) {
6665 PRINT_ERROR("Runtime error: %s", "Assert failed");
6666 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6730);
6669 var_pexprsnode3
= var_nodearraylist2
;
6670 /* <var_pexprsnode3:nullable Object> isa nullable AExprs */
6671 cltype6
= type_nullable__nit__AExprs
.color
;
6672 idtype7
= type_nullable__nit__AExprs
.id
;
6673 if(var_pexprsnode3
== NULL
) {
6676 if(cltype6
>= (((long)var_pexprsnode3
&3)?type_info
[((long)var_pexprsnode3
&3)]:var_pexprsnode3
->type
)->table_size
) {
6679 var5
= (((long)var_pexprsnode3
&3)?type_info
[((long)var_pexprsnode3
&3)]:var_pexprsnode3
->type
)->type_table
[cltype6
] == idtype7
;
6682 if (unlikely(!var5
)) {
6683 PRINT_ERROR("Runtime error: %s", "Assert failed");
6684 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6732);
6687 var_passignopnode4
= var_nodearraylist3
;
6688 /* <var_passignopnode4:nullable Object> isa nullable AAssignOp */
6689 cltype9
= type_nullable__nit__AAssignOp
.color
;
6690 idtype10
= type_nullable__nit__AAssignOp
.id
;
6691 if(var_passignopnode4
== NULL
) {
6694 if(cltype9
>= (((long)var_passignopnode4
&3)?type_info
[((long)var_passignopnode4
&3)]:var_passignopnode4
->type
)->table_size
) {
6697 var8
= (((long)var_passignopnode4
&3)?type_info
[((long)var_passignopnode4
&3)]:var_passignopnode4
->type
)->type_table
[cltype9
] == idtype10
;
6700 if (unlikely(!var8
)) {
6701 PRINT_ERROR("Runtime error: %s", "Assert failed");
6702 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6734);
6705 var_pexprnode5
= var_nodearraylist4
;
6706 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
6707 cltype12
= type_nullable__nit__AExpr
.color
;
6708 idtype13
= type_nullable__nit__AExpr
.id
;
6709 if(var_pexprnode5
== NULL
) {
6712 if(cltype12
>= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->table_size
) {
6715 var11
= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->type_table
[cltype12
] == idtype13
;
6718 if (unlikely(!var11
)) {
6719 PRINT_ERROR("Runtime error: %s", "Assert failed");
6720 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6736);
6723 var14
= NEW_nit__ABraReassignExpr(&type_nit__ABraReassignExpr
);
6725 nit__parser_prod___ABraReassignExpr___init_abrareassignexpr(var14
, var_pexprnode2
, var_pexprsnode3
, var_passignopnode4
, var_pexprnode5
); /* Direct call parser_prod#ABraReassignExpr#init_abrareassignexpr on <var14:ABraReassignExpr>*/
6727 var_pexprnode1
= var14
;
6728 var_node_list
= var_pexprnode1
;
6729 var15
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction244> */
6731 var16
= nit___nit__Parser___go_to(var_p
, var15
);
6734 nit___nit__Parser___push(var_p
, var16
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6738 /* method parser#ReduceAction245#action for (self: ReduceAction245, Parser) */
6739 void nit__parser___nit__parser__ReduceAction245___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6740 val
* var_p
/* var p: Parser */;
6741 val
* var_node_list
/* var node_list: nullable Object */;
6742 val
* var
/* : nullable Object */;
6743 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6744 val
* var_tpluseqnode2
/* var tpluseqnode2: nullable Object */;
6745 short int var1
/* : Bool */;
6748 val
* var2
/* : APlusAssignOp */;
6749 val
* var_passignopnode1
/* var passignopnode1: nullable APlusAssignOp */;
6750 long var3
/* : Int */;
6751 long var4
/* : Int */;
6753 var_node_list
= ((val
*)NULL
);
6755 var
= nit___nit__Parser___pop(var_p
);
6757 var_nodearraylist1
= var
;
6758 var_tpluseqnode2
= var_nodearraylist1
;
6759 /* <var_tpluseqnode2:nullable Object> isa nullable TPluseq */
6760 cltype
= type_nullable__nit__TPluseq
.color
;
6761 idtype
= type_nullable__nit__TPluseq
.id
;
6762 if(var_tpluseqnode2
== NULL
) {
6765 if(cltype
>= (((long)var_tpluseqnode2
&3)?type_info
[((long)var_tpluseqnode2
&3)]:var_tpluseqnode2
->type
)->table_size
) {
6768 var1
= (((long)var_tpluseqnode2
&3)?type_info
[((long)var_tpluseqnode2
&3)]:var_tpluseqnode2
->type
)->type_table
[cltype
] == idtype
;
6771 if (unlikely(!var1
)) {
6772 PRINT_ERROR("Runtime error: %s", "Assert failed");
6773 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6754);
6776 var2
= NEW_nit__APlusAssignOp(&type_nit__APlusAssignOp
);
6778 nit__parser_prod___APlusAssignOp___init_aplusassignop(var2
, var_tpluseqnode2
); /* Direct call parser_prod#APlusAssignOp#init_aplusassignop on <var2:APlusAssignOp>*/
6780 var_passignopnode1
= var2
;
6781 var_node_list
= var_passignopnode1
;
6782 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction245> */
6784 var4
= nit___nit__Parser___go_to(var_p
, var3
);
6787 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6791 /* method parser#ReduceAction246#action for (self: ReduceAction246, Parser) */
6792 void nit__parser___nit__parser__ReduceAction246___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6793 val
* var_p
/* var p: Parser */;
6794 val
* var_node_list
/* var node_list: nullable Object */;
6795 val
* var
/* : nullable Object */;
6796 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6797 val
* var_tminuseqnode2
/* var tminuseqnode2: nullable Object */;
6798 short int var1
/* : Bool */;
6801 val
* var2
/* : AMinusAssignOp */;
6802 val
* var_passignopnode1
/* var passignopnode1: nullable AMinusAssignOp */;
6803 long var3
/* : Int */;
6804 long var4
/* : Int */;
6806 var_node_list
= ((val
*)NULL
);
6808 var
= nit___nit__Parser___pop(var_p
);
6810 var_nodearraylist1
= var
;
6811 var_tminuseqnode2
= var_nodearraylist1
;
6812 /* <var_tminuseqnode2:nullable Object> isa nullable TMinuseq */
6813 cltype
= type_nullable__nit__TMinuseq
.color
;
6814 idtype
= type_nullable__nit__TMinuseq
.id
;
6815 if(var_tminuseqnode2
== NULL
) {
6818 if(cltype
>= (((long)var_tminuseqnode2
&3)?type_info
[((long)var_tminuseqnode2
&3)]:var_tminuseqnode2
->type
)->table_size
) {
6821 var1
= (((long)var_tminuseqnode2
&3)?type_info
[((long)var_tminuseqnode2
&3)]:var_tminuseqnode2
->type
)->type_table
[cltype
] == idtype
;
6824 if (unlikely(!var1
)) {
6825 PRINT_ERROR("Runtime error: %s", "Assert failed");
6826 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6769);
6829 var2
= NEW_nit__AMinusAssignOp(&type_nit__AMinusAssignOp
);
6831 nit__parser_prod___AMinusAssignOp___init_aminusassignop(var2
, var_tminuseqnode2
); /* Direct call parser_prod#AMinusAssignOp#init_aminusassignop on <var2:AMinusAssignOp>*/
6833 var_passignopnode1
= var2
;
6834 var_node_list
= var_passignopnode1
;
6835 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction246> */
6837 var4
= nit___nit__Parser___go_to(var_p
, var3
);
6840 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6844 /* method parser#ReduceAction247#action for (self: ReduceAction247, Parser) */
6845 void nit__parser___nit__parser__ReduceAction247___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6846 val
* var_p
/* var p: Parser */;
6847 val
* var_node_list
/* var node_list: nullable Object */;
6848 val
* var
/* : nullable Object */;
6849 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6850 val
* var_tstareqnode2
/* var tstareqnode2: nullable Object */;
6851 short int var1
/* : Bool */;
6854 val
* var2
/* : AStarAssignOp */;
6855 val
* var_passignopnode1
/* var passignopnode1: nullable AStarAssignOp */;
6856 long var3
/* : Int */;
6857 long var4
/* : Int */;
6859 var_node_list
= ((val
*)NULL
);
6861 var
= nit___nit__Parser___pop(var_p
);
6863 var_nodearraylist1
= var
;
6864 var_tstareqnode2
= var_nodearraylist1
;
6865 /* <var_tstareqnode2:nullable Object> isa nullable TStareq */
6866 cltype
= type_nullable__nit__TStareq
.color
;
6867 idtype
= type_nullable__nit__TStareq
.id
;
6868 if(var_tstareqnode2
== NULL
) {
6871 if(cltype
>= (((long)var_tstareqnode2
&3)?type_info
[((long)var_tstareqnode2
&3)]:var_tstareqnode2
->type
)->table_size
) {
6874 var1
= (((long)var_tstareqnode2
&3)?type_info
[((long)var_tstareqnode2
&3)]:var_tstareqnode2
->type
)->type_table
[cltype
] == idtype
;
6877 if (unlikely(!var1
)) {
6878 PRINT_ERROR("Runtime error: %s", "Assert failed");
6879 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6784);
6882 var2
= NEW_nit__AStarAssignOp(&type_nit__AStarAssignOp
);
6884 nit__parser_prod___AStarAssignOp___init_astarassignop(var2
, var_tstareqnode2
); /* Direct call parser_prod#AStarAssignOp#init_astarassignop on <var2:AStarAssignOp>*/
6886 var_passignopnode1
= var2
;
6887 var_node_list
= var_passignopnode1
;
6888 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction247> */
6890 var4
= nit___nit__Parser___go_to(var_p
, var3
);
6893 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6897 /* method parser#ReduceAction248#action for (self: ReduceAction248, Parser) */
6898 void nit__parser___nit__parser__ReduceAction248___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6899 val
* var_p
/* var p: Parser */;
6900 val
* var_node_list
/* var node_list: nullable Object */;
6901 val
* var
/* : nullable Object */;
6902 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6903 val
* var_tslasheqnode2
/* var tslasheqnode2: nullable Object */;
6904 short int var1
/* : Bool */;
6907 val
* var2
/* : ASlashAssignOp */;
6908 val
* var_passignopnode1
/* var passignopnode1: nullable ASlashAssignOp */;
6909 long var3
/* : Int */;
6910 long var4
/* : Int */;
6912 var_node_list
= ((val
*)NULL
);
6914 var
= nit___nit__Parser___pop(var_p
);
6916 var_nodearraylist1
= var
;
6917 var_tslasheqnode2
= var_nodearraylist1
;
6918 /* <var_tslasheqnode2:nullable Object> isa nullable TSlasheq */
6919 cltype
= type_nullable__nit__TSlasheq
.color
;
6920 idtype
= type_nullable__nit__TSlasheq
.id
;
6921 if(var_tslasheqnode2
== NULL
) {
6924 if(cltype
>= (((long)var_tslasheqnode2
&3)?type_info
[((long)var_tslasheqnode2
&3)]:var_tslasheqnode2
->type
)->table_size
) {
6927 var1
= (((long)var_tslasheqnode2
&3)?type_info
[((long)var_tslasheqnode2
&3)]:var_tslasheqnode2
->type
)->type_table
[cltype
] == idtype
;
6930 if (unlikely(!var1
)) {
6931 PRINT_ERROR("Runtime error: %s", "Assert failed");
6932 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6799);
6935 var2
= NEW_nit__ASlashAssignOp(&type_nit__ASlashAssignOp
);
6937 nit__parser_prod___ASlashAssignOp___init_aslashassignop(var2
, var_tslasheqnode2
); /* Direct call parser_prod#ASlashAssignOp#init_aslashassignop on <var2:ASlashAssignOp>*/
6939 var_passignopnode1
= var2
;
6940 var_node_list
= var_passignopnode1
;
6941 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction248> */
6943 var4
= nit___nit__Parser___go_to(var_p
, var3
);
6946 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6950 /* method parser#ReduceAction249#action for (self: ReduceAction249, Parser) */
6951 void nit__parser___nit__parser__ReduceAction249___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6952 val
* var_p
/* var p: Parser */;
6953 val
* var_node_list
/* var node_list: nullable Object */;
6954 val
* var
/* : nullable Object */;
6955 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6956 val
* var_tpercenteqnode2
/* var tpercenteqnode2: nullable Object */;
6957 short int var1
/* : Bool */;
6960 val
* var2
/* : APercentAssignOp */;
6961 val
* var_passignopnode1
/* var passignopnode1: nullable APercentAssignOp */;
6962 long var3
/* : Int */;
6963 long var4
/* : Int */;
6965 var_node_list
= ((val
*)NULL
);
6967 var
= nit___nit__Parser___pop(var_p
);
6969 var_nodearraylist1
= var
;
6970 var_tpercenteqnode2
= var_nodearraylist1
;
6971 /* <var_tpercenteqnode2:nullable Object> isa nullable TPercenteq */
6972 cltype
= type_nullable__nit__TPercenteq
.color
;
6973 idtype
= type_nullable__nit__TPercenteq
.id
;
6974 if(var_tpercenteqnode2
== NULL
) {
6977 if(cltype
>= (((long)var_tpercenteqnode2
&3)?type_info
[((long)var_tpercenteqnode2
&3)]:var_tpercenteqnode2
->type
)->table_size
) {
6980 var1
= (((long)var_tpercenteqnode2
&3)?type_info
[((long)var_tpercenteqnode2
&3)]:var_tpercenteqnode2
->type
)->type_table
[cltype
] == idtype
;
6983 if (unlikely(!var1
)) {
6984 PRINT_ERROR("Runtime error: %s", "Assert failed");
6985 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6814);
6988 var2
= NEW_nit__APercentAssignOp(&type_nit__APercentAssignOp
);
6990 nit__parser_prod___APercentAssignOp___init_apercentassignop(var2
, var_tpercenteqnode2
); /* Direct call parser_prod#APercentAssignOp#init_apercentassignop on <var2:APercentAssignOp>*/
6992 var_passignopnode1
= var2
;
6993 var_node_list
= var_passignopnode1
;
6994 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction249> */
6996 var4
= nit___nit__Parser___go_to(var_p
, var3
);
6999 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7003 /* method parser#ReduceAction250#action for (self: ReduceAction250, Parser) */
7004 void nit__parser___nit__parser__ReduceAction250___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7005 val
* var_p
/* var p: Parser */;
7006 val
* var_node_list
/* var node_list: nullable Object */;
7007 val
* var
/* : nullable Object */;
7008 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7009 val
* var_tstarstareqnode2
/* var tstarstareqnode2: nullable Object */;
7010 short int var1
/* : Bool */;
7013 val
* var2
/* : AStarstarAssignOp */;
7014 val
* var_passignopnode1
/* var passignopnode1: nullable AStarstarAssignOp */;
7015 long var3
/* : Int */;
7016 long var4
/* : Int */;
7018 var_node_list
= ((val
*)NULL
);
7020 var
= nit___nit__Parser___pop(var_p
);
7022 var_nodearraylist1
= var
;
7023 var_tstarstareqnode2
= var_nodearraylist1
;
7024 /* <var_tstarstareqnode2:nullable Object> isa nullable TStarstareq */
7025 cltype
= type_nullable__nit__TStarstareq
.color
;
7026 idtype
= type_nullable__nit__TStarstareq
.id
;
7027 if(var_tstarstareqnode2
== NULL
) {
7030 if(cltype
>= (((long)var_tstarstareqnode2
&3)?type_info
[((long)var_tstarstareqnode2
&3)]:var_tstarstareqnode2
->type
)->table_size
) {
7033 var1
= (((long)var_tstarstareqnode2
&3)?type_info
[((long)var_tstarstareqnode2
&3)]:var_tstarstareqnode2
->type
)->type_table
[cltype
] == idtype
;
7036 if (unlikely(!var1
)) {
7037 PRINT_ERROR("Runtime error: %s", "Assert failed");
7038 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6829);
7041 var2
= NEW_nit__AStarstarAssignOp(&type_nit__AStarstarAssignOp
);
7043 nit__parser_prod___AStarstarAssignOp___init_astarstarassignop(var2
, var_tstarstareqnode2
); /* Direct call parser_prod#AStarstarAssignOp#init_astarstarassignop on <var2:AStarstarAssignOp>*/
7045 var_passignopnode1
= var2
;
7046 var_node_list
= var_passignopnode1
;
7047 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction250> */
7049 var4
= nit___nit__Parser___go_to(var_p
, var3
);
7052 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7056 /* method parser#ReduceAction251#action for (self: ReduceAction251, Parser) */
7057 void nit__parser___nit__parser__ReduceAction251___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7058 val
* var_p
/* var p: Parser */;
7059 val
* var_node_list
/* var node_list: nullable Object */;
7060 val
* var
/* : nullable Object */;
7061 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7062 val
* var_tpipeeqnode2
/* var tpipeeqnode2: nullable Object */;
7063 short int var1
/* : Bool */;
7066 val
* var2
/* : APipeAssignOp */;
7067 val
* var_passignopnode1
/* var passignopnode1: nullable APipeAssignOp */;
7068 long var3
/* : Int */;
7069 long var4
/* : Int */;
7071 var_node_list
= ((val
*)NULL
);
7073 var
= nit___nit__Parser___pop(var_p
);
7075 var_nodearraylist1
= var
;
7076 var_tpipeeqnode2
= var_nodearraylist1
;
7077 /* <var_tpipeeqnode2:nullable Object> isa nullable TPipeeq */
7078 cltype
= type_nullable__nit__TPipeeq
.color
;
7079 idtype
= type_nullable__nit__TPipeeq
.id
;
7080 if(var_tpipeeqnode2
== NULL
) {
7083 if(cltype
>= (((long)var_tpipeeqnode2
&3)?type_info
[((long)var_tpipeeqnode2
&3)]:var_tpipeeqnode2
->type
)->table_size
) {
7086 var1
= (((long)var_tpipeeqnode2
&3)?type_info
[((long)var_tpipeeqnode2
&3)]:var_tpipeeqnode2
->type
)->type_table
[cltype
] == idtype
;
7089 if (unlikely(!var1
)) {
7090 PRINT_ERROR("Runtime error: %s", "Assert failed");
7091 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6844);
7094 var2
= NEW_nit__APipeAssignOp(&type_nit__APipeAssignOp
);
7096 nit__parser_prod___APipeAssignOp___init_apipeassignop(var2
, var_tpipeeqnode2
); /* Direct call parser_prod#APipeAssignOp#init_apipeassignop on <var2:APipeAssignOp>*/
7098 var_passignopnode1
= var2
;
7099 var_node_list
= var_passignopnode1
;
7100 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction251> */
7102 var4
= nit___nit__Parser___go_to(var_p
, var3
);
7105 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7109 /* method parser#ReduceAction252#action for (self: ReduceAction252, Parser) */
7110 void nit__parser___nit__parser__ReduceAction252___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7111 val
* var_p
/* var p: Parser */;
7112 val
* var_node_list
/* var node_list: nullable Object */;
7113 val
* var
/* : nullable Object */;
7114 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7115 val
* var_tcareteqnode2
/* var tcareteqnode2: nullable Object */;
7116 short int var1
/* : Bool */;
7119 val
* var2
/* : ACaretAssignOp */;
7120 val
* var_passignopnode1
/* var passignopnode1: nullable ACaretAssignOp */;
7121 long var3
/* : Int */;
7122 long var4
/* : Int */;
7124 var_node_list
= ((val
*)NULL
);
7126 var
= nit___nit__Parser___pop(var_p
);
7128 var_nodearraylist1
= var
;
7129 var_tcareteqnode2
= var_nodearraylist1
;
7130 /* <var_tcareteqnode2:nullable Object> isa nullable TCareteq */
7131 cltype
= type_nullable__nit__TCareteq
.color
;
7132 idtype
= type_nullable__nit__TCareteq
.id
;
7133 if(var_tcareteqnode2
== NULL
) {
7136 if(cltype
>= (((long)var_tcareteqnode2
&3)?type_info
[((long)var_tcareteqnode2
&3)]:var_tcareteqnode2
->type
)->table_size
) {
7139 var1
= (((long)var_tcareteqnode2
&3)?type_info
[((long)var_tcareteqnode2
&3)]:var_tcareteqnode2
->type
)->type_table
[cltype
] == idtype
;
7142 if (unlikely(!var1
)) {
7143 PRINT_ERROR("Runtime error: %s", "Assert failed");
7144 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6859);
7147 var2
= NEW_nit__ACaretAssignOp(&type_nit__ACaretAssignOp
);
7149 nit__parser_prod___ACaretAssignOp___init_acaretassignop(var2
, var_tcareteqnode2
); /* Direct call parser_prod#ACaretAssignOp#init_acaretassignop on <var2:ACaretAssignOp>*/
7151 var_passignopnode1
= var2
;
7152 var_node_list
= var_passignopnode1
;
7153 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction252> */
7155 var4
= nit___nit__Parser___go_to(var_p
, var3
);
7158 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7162 /* method parser#ReduceAction253#action for (self: ReduceAction253, Parser) */
7163 void nit__parser___nit__parser__ReduceAction253___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7164 val
* var_p
/* var p: Parser */;
7165 val
* var_node_list
/* var node_list: nullable Object */;
7166 val
* var
/* : nullable Object */;
7167 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7168 val
* var_tampeqnode2
/* var tampeqnode2: nullable Object */;
7169 short int var1
/* : Bool */;
7172 val
* var2
/* : AAmpAssignOp */;
7173 val
* var_passignopnode1
/* var passignopnode1: nullable AAmpAssignOp */;
7174 long var3
/* : Int */;
7175 long var4
/* : Int */;
7177 var_node_list
= ((val
*)NULL
);
7179 var
= nit___nit__Parser___pop(var_p
);
7181 var_nodearraylist1
= var
;
7182 var_tampeqnode2
= var_nodearraylist1
;
7183 /* <var_tampeqnode2:nullable Object> isa nullable TAmpeq */
7184 cltype
= type_nullable__nit__TAmpeq
.color
;
7185 idtype
= type_nullable__nit__TAmpeq
.id
;
7186 if(var_tampeqnode2
== NULL
) {
7189 if(cltype
>= (((long)var_tampeqnode2
&3)?type_info
[((long)var_tampeqnode2
&3)]:var_tampeqnode2
->type
)->table_size
) {
7192 var1
= (((long)var_tampeqnode2
&3)?type_info
[((long)var_tampeqnode2
&3)]:var_tampeqnode2
->type
)->type_table
[cltype
] == idtype
;
7195 if (unlikely(!var1
)) {
7196 PRINT_ERROR("Runtime error: %s", "Assert failed");
7197 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6874);
7200 var2
= NEW_nit__AAmpAssignOp(&type_nit__AAmpAssignOp
);
7202 nit__parser_prod___AAmpAssignOp___init_aampassignop(var2
, var_tampeqnode2
); /* Direct call parser_prod#AAmpAssignOp#init_aampassignop on <var2:AAmpAssignOp>*/
7204 var_passignopnode1
= var2
;
7205 var_node_list
= var_passignopnode1
;
7206 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction253> */
7208 var4
= nit___nit__Parser___go_to(var_p
, var3
);
7211 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7215 /* method parser#ReduceAction254#action for (self: ReduceAction254, Parser) */
7216 void nit__parser___nit__parser__ReduceAction254___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7217 val
* var_p
/* var p: Parser */;
7218 val
* var_node_list
/* var node_list: nullable Object */;
7219 val
* var
/* : nullable Object */;
7220 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7221 val
* var_tlleqnode2
/* var tlleqnode2: nullable Object */;
7222 short int var1
/* : Bool */;
7225 val
* var2
/* : ALlAssignOp */;
7226 val
* var_passignopnode1
/* var passignopnode1: nullable ALlAssignOp */;
7227 long var3
/* : Int */;
7228 long var4
/* : Int */;
7230 var_node_list
= ((val
*)NULL
);
7232 var
= nit___nit__Parser___pop(var_p
);
7234 var_nodearraylist1
= var
;
7235 var_tlleqnode2
= var_nodearraylist1
;
7236 /* <var_tlleqnode2:nullable Object> isa nullable TLleq */
7237 cltype
= type_nullable__nit__TLleq
.color
;
7238 idtype
= type_nullable__nit__TLleq
.id
;
7239 if(var_tlleqnode2
== NULL
) {
7242 if(cltype
>= (((long)var_tlleqnode2
&3)?type_info
[((long)var_tlleqnode2
&3)]:var_tlleqnode2
->type
)->table_size
) {
7245 var1
= (((long)var_tlleqnode2
&3)?type_info
[((long)var_tlleqnode2
&3)]:var_tlleqnode2
->type
)->type_table
[cltype
] == idtype
;
7248 if (unlikely(!var1
)) {
7249 PRINT_ERROR("Runtime error: %s", "Assert failed");
7250 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6889);
7253 var2
= NEW_nit__ALlAssignOp(&type_nit__ALlAssignOp
);
7255 nit__parser_prod___ALlAssignOp___init_allassignop(var2
, var_tlleqnode2
); /* Direct call parser_prod#ALlAssignOp#init_allassignop on <var2:ALlAssignOp>*/
7257 var_passignopnode1
= var2
;
7258 var_node_list
= var_passignopnode1
;
7259 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction254> */
7261 var4
= nit___nit__Parser___go_to(var_p
, var3
);
7264 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7268 /* method parser#ReduceAction255#action for (self: ReduceAction255, Parser) */
7269 void nit__parser___nit__parser__ReduceAction255___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7270 val
* var_p
/* var p: Parser */;
7271 val
* var_node_list
/* var node_list: nullable Object */;
7272 val
* var
/* : nullable Object */;
7273 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7274 val
* var_tggeqnode2
/* var tggeqnode2: nullable Object */;
7275 short int var1
/* : Bool */;
7278 val
* var2
/* : AGgAssignOp */;
7279 val
* var_passignopnode1
/* var passignopnode1: nullable AGgAssignOp */;
7280 long var3
/* : Int */;
7281 long var4
/* : Int */;
7283 var_node_list
= ((val
*)NULL
);
7285 var
= nit___nit__Parser___pop(var_p
);
7287 var_nodearraylist1
= var
;
7288 var_tggeqnode2
= var_nodearraylist1
;
7289 /* <var_tggeqnode2:nullable Object> isa nullable TGgeq */
7290 cltype
= type_nullable__nit__TGgeq
.color
;
7291 idtype
= type_nullable__nit__TGgeq
.id
;
7292 if(var_tggeqnode2
== NULL
) {
7295 if(cltype
>= (((long)var_tggeqnode2
&3)?type_info
[((long)var_tggeqnode2
&3)]:var_tggeqnode2
->type
)->table_size
) {
7298 var1
= (((long)var_tggeqnode2
&3)?type_info
[((long)var_tggeqnode2
&3)]:var_tggeqnode2
->type
)->type_table
[cltype
] == idtype
;
7301 if (unlikely(!var1
)) {
7302 PRINT_ERROR("Runtime error: %s", "Assert failed");
7303 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6904);
7306 var2
= NEW_nit__AGgAssignOp(&type_nit__AGgAssignOp
);
7308 nit__parser_prod___AGgAssignOp___init_aggassignop(var2
, var_tggeqnode2
); /* Direct call parser_prod#AGgAssignOp#init_aggassignop on <var2:AGgAssignOp>*/
7310 var_passignopnode1
= var2
;
7311 var_node_list
= var_passignopnode1
;
7312 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction255> */
7314 var4
= nit___nit__Parser___go_to(var_p
, var3
);
7317 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7321 /* method parser#ReduceAction256#action for (self: ReduceAction256, Parser) */
7322 void nit__parser___nit__parser__ReduceAction256___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7323 val
* var_p
/* var p: Parser */;
7324 val
* var_node_list
/* var node_list: nullable Object */;
7325 val
* var
/* : nullable Object */;
7326 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7327 val
* var1
/* : nullable Object */;
7328 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7329 val
* var2
/* : nullable Object */;
7330 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7331 val
* var_tkwdonode2
/* var tkwdonode2: nullable Object */;
7332 short int var3
/* : Bool */;
7335 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
7336 short int var4
/* : Bool */;
7339 val
* var_plabelnode4
/* var plabelnode4: nullable Object */;
7340 short int var7
/* : Bool */;
7343 val
* var10
/* : ADoExpr */;
7344 val
* var_pexprnode1
/* var pexprnode1: nullable ADoExpr */;
7345 long var11
/* : Int */;
7346 long var12
/* : Int */;
7348 var_node_list
= ((val
*)NULL
);
7350 var
= nit___nit__Parser___pop(var_p
);
7352 var_nodearraylist3
= var
;
7354 var1
= nit___nit__Parser___pop(var_p
);
7356 var_nodearraylist2
= var1
;
7358 var2
= nit___nit__Parser___pop(var_p
);
7360 var_nodearraylist1
= var2
;
7361 var_tkwdonode2
= var_nodearraylist1
;
7362 /* <var_tkwdonode2:nullable Object> isa nullable TKwdo */
7363 cltype
= type_nullable__nit__TKwdo
.color
;
7364 idtype
= type_nullable__nit__TKwdo
.id
;
7365 if(var_tkwdonode2
== NULL
) {
7368 if(cltype
>= (((long)var_tkwdonode2
&3)?type_info
[((long)var_tkwdonode2
&3)]:var_tkwdonode2
->type
)->table_size
) {
7371 var3
= (((long)var_tkwdonode2
&3)?type_info
[((long)var_tkwdonode2
&3)]:var_tkwdonode2
->type
)->type_table
[cltype
] == idtype
;
7374 if (unlikely(!var3
)) {
7375 PRINT_ERROR("Runtime error: %s", "Assert failed");
7376 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6921);
7379 var_pexprnode3
= var_nodearraylist2
;
7380 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
7381 cltype5
= type_nullable__nit__AExpr
.color
;
7382 idtype6
= type_nullable__nit__AExpr
.id
;
7383 if(var_pexprnode3
== NULL
) {
7386 if(cltype5
>= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->table_size
) {
7389 var4
= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->type_table
[cltype5
] == idtype6
;
7392 if (unlikely(!var4
)) {
7393 PRINT_ERROR("Runtime error: %s", "Assert failed");
7394 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6923);
7397 var_plabelnode4
= var_nodearraylist3
;
7398 /* <var_plabelnode4:nullable Object> isa nullable ALabel */
7399 cltype8
= type_nullable__nit__ALabel
.color
;
7400 idtype9
= type_nullable__nit__ALabel
.id
;
7401 if(var_plabelnode4
== NULL
) {
7404 if(cltype8
>= (((long)var_plabelnode4
&3)?type_info
[((long)var_plabelnode4
&3)]:var_plabelnode4
->type
)->table_size
) {
7407 var7
= (((long)var_plabelnode4
&3)?type_info
[((long)var_plabelnode4
&3)]:var_plabelnode4
->type
)->type_table
[cltype8
] == idtype9
;
7410 if (unlikely(!var7
)) {
7411 PRINT_ERROR("Runtime error: %s", "Assert failed");
7412 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6925);
7415 var10
= NEW_nit__ADoExpr(&type_nit__ADoExpr
);
7417 nit__parser_prod___ADoExpr___init_adoexpr(var10
, var_tkwdonode2
, var_pexprnode3
, var_plabelnode4
); /* Direct call parser_prod#ADoExpr#init_adoexpr on <var10:ADoExpr>*/
7419 var_pexprnode1
= var10
;
7420 var_node_list
= var_pexprnode1
;
7421 var11
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction256> */
7423 var12
= nit___nit__Parser___go_to(var_p
, var11
);
7426 nit___nit__Parser___push(var_p
, var12
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7430 /* method parser#ReduceAction257#action for (self: ReduceAction257, Parser) */
7431 void nit__parser___nit__parser__ReduceAction257___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7432 val
* var_p
/* var p: Parser */;
7433 val
* var_node_list
/* var node_list: nullable Object */;
7434 val
* var
/* : nullable Object */;
7435 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7436 val
* var1
/* : nullable Object */;
7437 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7438 val
* var_tkwdonode2
/* var tkwdonode2: nullable Object */;
7439 short int var2
/* : Bool */;
7442 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
7443 short int var3
/* : Bool */;
7446 val
* var6
/* : ADoExpr */;
7447 val
* var_pexprnode1
/* var pexprnode1: nullable ADoExpr */;
7448 long var7
/* : Int */;
7449 long var8
/* : Int */;
7451 var_node_list
= ((val
*)NULL
);
7453 var
= nit___nit__Parser___pop(var_p
);
7455 var_nodearraylist2
= var
;
7457 var1
= nit___nit__Parser___pop(var_p
);
7459 var_nodearraylist1
= var1
;
7460 var_tkwdonode2
= var_nodearraylist1
;
7461 /* <var_tkwdonode2:nullable Object> isa nullable TKwdo */
7462 cltype
= type_nullable__nit__TKwdo
.color
;
7463 idtype
= type_nullable__nit__TKwdo
.id
;
7464 if(var_tkwdonode2
== NULL
) {
7467 if(cltype
>= (((long)var_tkwdonode2
&3)?type_info
[((long)var_tkwdonode2
&3)]:var_tkwdonode2
->type
)->table_size
) {
7470 var2
= (((long)var_tkwdonode2
&3)?type_info
[((long)var_tkwdonode2
&3)]:var_tkwdonode2
->type
)->type_table
[cltype
] == idtype
;
7473 if (unlikely(!var2
)) {
7474 PRINT_ERROR("Runtime error: %s", "Assert failed");
7475 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6943);
7478 var_pexprnode3
= var_nodearraylist2
;
7479 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
7480 cltype4
= type_nullable__nit__AExpr
.color
;
7481 idtype5
= type_nullable__nit__AExpr
.id
;
7482 if(var_pexprnode3
== NULL
) {
7485 if(cltype4
>= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->table_size
) {
7488 var3
= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->type_table
[cltype4
] == idtype5
;
7491 if (unlikely(!var3
)) {
7492 PRINT_ERROR("Runtime error: %s", "Assert failed");
7493 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6945);
7496 var6
= NEW_nit__ADoExpr(&type_nit__ADoExpr
);
7498 nit__parser_prod___ADoExpr___init_adoexpr(var6
, var_tkwdonode2
, var_pexprnode3
, ((val
*)NULL
)); /* Direct call parser_prod#ADoExpr#init_adoexpr on <var6:ADoExpr>*/
7500 var_pexprnode1
= var6
;
7501 var_node_list
= var_pexprnode1
;
7502 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction257> */
7504 var8
= nit___nit__Parser___go_to(var_p
, var7
);
7507 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7511 /* method parser#ReduceAction258#action for (self: ReduceAction258, Parser) */
7512 void nit__parser___nit__parser__ReduceAction258___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7513 val
* var_p
/* var p: Parser */;
7514 val
* var_node_list
/* var node_list: nullable Object */;
7515 val
* var
/* : nullable Object */;
7516 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
7517 val
* var1
/* : nullable Object */;
7518 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
7519 val
* var2
/* : nullable Object */;
7520 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7521 val
* var3
/* : nullable Object */;
7522 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7523 val
* var4
/* : nullable Object */;
7524 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7525 val
* var5
/* : nullable Object */;
7526 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7527 val
* var6
/* : nullable Object */;
7528 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7529 val
* var7
/* : nullable Object */;
7530 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7531 val
* var_tkwifnode2
/* var tkwifnode2: nullable Object */;
7532 short int var8
/* : Bool */;
7535 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
7536 short int var9
/* : Bool */;
7539 val
* var_tkwthennode4
/* var tkwthennode4: nullable Object */;
7540 short int var12
/* : Bool */;
7543 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
7544 short int var15
/* : Bool */;
7547 val
* var_tkwelsenode6
/* var tkwelsenode6: nullable Object */;
7548 short int var18
/* : Bool */;
7551 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
7552 short int var21
/* : Bool */;
7555 val
* var24
/* : AIfExpr */;
7556 val
* var_pexprnode1
/* var pexprnode1: nullable AIfExpr */;
7557 long var25
/* : Int */;
7558 long var26
/* : Int */;
7560 var_node_list
= ((val
*)NULL
);
7562 var
= nit___nit__Parser___pop(var_p
);
7564 var_nodearraylist8
= var
;
7566 var1
= nit___nit__Parser___pop(var_p
);
7568 var_nodearraylist7
= var1
;
7570 var2
= nit___nit__Parser___pop(var_p
);
7572 var_nodearraylist6
= var2
;
7574 var3
= nit___nit__Parser___pop(var_p
);
7576 var_nodearraylist5
= var3
;
7578 var4
= nit___nit__Parser___pop(var_p
);
7580 var_nodearraylist4
= var4
;
7582 var5
= nit___nit__Parser___pop(var_p
);
7584 var_nodearraylist3
= var5
;
7586 var6
= nit___nit__Parser___pop(var_p
);
7588 var_nodearraylist2
= var6
;
7590 var7
= nit___nit__Parser___pop(var_p
);
7592 var_nodearraylist1
= var7
;
7593 var_tkwifnode2
= var_nodearraylist1
;
7594 /* <var_tkwifnode2:nullable Object> isa nullable TKwif */
7595 cltype
= type_nullable__nit__TKwif
.color
;
7596 idtype
= type_nullable__nit__TKwif
.id
;
7597 if(var_tkwifnode2
== NULL
) {
7600 if(cltype
>= (((long)var_tkwifnode2
&3)?type_info
[((long)var_tkwifnode2
&3)]:var_tkwifnode2
->type
)->table_size
) {
7603 var8
= (((long)var_tkwifnode2
&3)?type_info
[((long)var_tkwifnode2
&3)]:var_tkwifnode2
->type
)->type_table
[cltype
] == idtype
;
7606 if (unlikely(!var8
)) {
7607 PRINT_ERROR("Runtime error: %s", "Assert failed");
7608 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6969);
7611 var_pexprnode3
= var_nodearraylist3
;
7612 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
7613 cltype10
= type_nullable__nit__AExpr
.color
;
7614 idtype11
= type_nullable__nit__AExpr
.id
;
7615 if(var_pexprnode3
== NULL
) {
7618 if(cltype10
>= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->table_size
) {
7621 var9
= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->type_table
[cltype10
] == idtype11
;
7624 if (unlikely(!var9
)) {
7625 PRINT_ERROR("Runtime error: %s", "Assert failed");
7626 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6971);
7629 var_tkwthennode4
= var_nodearraylist5
;
7630 /* <var_tkwthennode4:nullable Object> isa nullable TKwthen */
7631 cltype13
= type_nullable__nit__TKwthen
.color
;
7632 idtype14
= type_nullable__nit__TKwthen
.id
;
7633 if(var_tkwthennode4
== NULL
) {
7636 if(cltype13
>= (((long)var_tkwthennode4
&3)?type_info
[((long)var_tkwthennode4
&3)]:var_tkwthennode4
->type
)->table_size
) {
7639 var12
= (((long)var_tkwthennode4
&3)?type_info
[((long)var_tkwthennode4
&3)]:var_tkwthennode4
->type
)->type_table
[cltype13
] == idtype14
;
7642 if (unlikely(!var12
)) {
7643 PRINT_ERROR("Runtime error: %s", "Assert failed");
7644 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6973);
7647 var_pexprnode5
= var_nodearraylist6
;
7648 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
7649 cltype16
= type_nullable__nit__AExpr
.color
;
7650 idtype17
= type_nullable__nit__AExpr
.id
;
7651 if(var_pexprnode5
== NULL
) {
7654 if(cltype16
>= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->table_size
) {
7657 var15
= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->type_table
[cltype16
] == idtype17
;
7660 if (unlikely(!var15
)) {
7661 PRINT_ERROR("Runtime error: %s", "Assert failed");
7662 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6975);
7665 var_tkwelsenode6
= var_nodearraylist7
;
7666 /* <var_tkwelsenode6:nullable Object> isa nullable TKwelse */
7667 cltype19
= type_nullable__nit__TKwelse
.color
;
7668 idtype20
= type_nullable__nit__TKwelse
.id
;
7669 if(var_tkwelsenode6
== NULL
) {
7672 if(cltype19
>= (((long)var_tkwelsenode6
&3)?type_info
[((long)var_tkwelsenode6
&3)]:var_tkwelsenode6
->type
)->table_size
) {
7675 var18
= (((long)var_tkwelsenode6
&3)?type_info
[((long)var_tkwelsenode6
&3)]:var_tkwelsenode6
->type
)->type_table
[cltype19
] == idtype20
;
7678 if (unlikely(!var18
)) {
7679 PRINT_ERROR("Runtime error: %s", "Assert failed");
7680 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6977);
7683 var_pexprnode7
= var_nodearraylist8
;
7684 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
7685 cltype22
= type_nullable__nit__AExpr
.color
;
7686 idtype23
= type_nullable__nit__AExpr
.id
;
7687 if(var_pexprnode7
== NULL
) {
7690 if(cltype22
>= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->table_size
) {
7693 var21
= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->type_table
[cltype22
] == idtype23
;
7696 if (unlikely(!var21
)) {
7697 PRINT_ERROR("Runtime error: %s", "Assert failed");
7698 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 6979);
7701 var24
= NEW_nit__AIfExpr(&type_nit__AIfExpr
);
7703 nit__parser_prod___AIfExpr___init_aifexpr(var24
, var_tkwifnode2
, var_pexprnode3
, var_tkwthennode4
, var_pexprnode5
, var_tkwelsenode6
, var_pexprnode7
); /* Direct call parser_prod#AIfExpr#init_aifexpr on <var24:AIfExpr>*/
7705 var_pexprnode1
= var24
;
7706 var_node_list
= var_pexprnode1
;
7707 var25
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction258> */
7709 var26
= nit___nit__Parser___go_to(var_p
, var25
);
7712 nit___nit__Parser___push(var_p
, var26
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7716 /* method parser#ReduceAction259#action for (self: ReduceAction259, Parser) */
7717 void nit__parser___nit__parser__ReduceAction259___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_nodearraylist6
/* var nodearraylist6: nullable Object */;
7722 val
* var1
/* : nullable Object */;
7723 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7724 val
* var2
/* : nullable Object */;
7725 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7726 val
* var3
/* : nullable Object */;
7727 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7728 val
* var4
/* : nullable Object */;
7729 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7730 val
* var5
/* : nullable Object */;
7731 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7732 val
* var_tkwifnode2
/* var tkwifnode2: nullable Object */;
7733 short int var6
/* : Bool */;
7736 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
7737 short int var7
/* : Bool */;
7740 val
* var_tkwthennode4
/* var tkwthennode4: nullable Object */;
7741 short int var10
/* : Bool */;
7744 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
7745 short int var13
/* : Bool */;
7748 val
* var16
/* : AIfExpr */;
7749 val
* var_pexprnode1
/* var pexprnode1: nullable AIfExpr */;
7750 long var17
/* : Int */;
7751 long var18
/* : Int */;
7753 var_node_list
= ((val
*)NULL
);
7755 var
= nit___nit__Parser___pop(var_p
);
7757 var_nodearraylist6
= var
;
7759 var1
= nit___nit__Parser___pop(var_p
);
7761 var_nodearraylist5
= var1
;
7763 var2
= nit___nit__Parser___pop(var_p
);
7765 var_nodearraylist4
= var2
;
7767 var3
= nit___nit__Parser___pop(var_p
);
7769 var_nodearraylist3
= var3
;
7771 var4
= nit___nit__Parser___pop(var_p
);
7773 var_nodearraylist2
= var4
;
7775 var5
= nit___nit__Parser___pop(var_p
);
7777 var_nodearraylist1
= var5
;
7778 var_tkwifnode2
= var_nodearraylist1
;
7779 /* <var_tkwifnode2:nullable Object> isa nullable TKwif */
7780 cltype
= type_nullable__nit__TKwif
.color
;
7781 idtype
= type_nullable__nit__TKwif
.id
;
7782 if(var_tkwifnode2
== NULL
) {
7785 if(cltype
>= (((long)var_tkwifnode2
&3)?type_info
[((long)var_tkwifnode2
&3)]:var_tkwifnode2
->type
)->table_size
) {
7788 var6
= (((long)var_tkwifnode2
&3)?type_info
[((long)var_tkwifnode2
&3)]:var_tkwifnode2
->type
)->type_table
[cltype
] == idtype
;
7791 if (unlikely(!var6
)) {
7792 PRINT_ERROR("Runtime error: %s", "Assert failed");
7793 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7004);
7796 var_pexprnode3
= var_nodearraylist3
;
7797 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
7798 cltype8
= type_nullable__nit__AExpr
.color
;
7799 idtype9
= type_nullable__nit__AExpr
.id
;
7800 if(var_pexprnode3
== NULL
) {
7803 if(cltype8
>= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->table_size
) {
7806 var7
= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->type_table
[cltype8
] == idtype9
;
7809 if (unlikely(!var7
)) {
7810 PRINT_ERROR("Runtime error: %s", "Assert failed");
7811 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7006);
7814 var_tkwthennode4
= var_nodearraylist5
;
7815 /* <var_tkwthennode4:nullable Object> isa nullable TKwthen */
7816 cltype11
= type_nullable__nit__TKwthen
.color
;
7817 idtype12
= type_nullable__nit__TKwthen
.id
;
7818 if(var_tkwthennode4
== NULL
) {
7821 if(cltype11
>= (((long)var_tkwthennode4
&3)?type_info
[((long)var_tkwthennode4
&3)]:var_tkwthennode4
->type
)->table_size
) {
7824 var10
= (((long)var_tkwthennode4
&3)?type_info
[((long)var_tkwthennode4
&3)]:var_tkwthennode4
->type
)->type_table
[cltype11
] == idtype12
;
7827 if (unlikely(!var10
)) {
7828 PRINT_ERROR("Runtime error: %s", "Assert failed");
7829 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7008);
7832 var_pexprnode5
= var_nodearraylist6
;
7833 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
7834 cltype14
= type_nullable__nit__AExpr
.color
;
7835 idtype15
= type_nullable__nit__AExpr
.id
;
7836 if(var_pexprnode5
== NULL
) {
7839 if(cltype14
>= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->table_size
) {
7842 var13
= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->type_table
[cltype14
] == idtype15
;
7845 if (unlikely(!var13
)) {
7846 PRINT_ERROR("Runtime error: %s", "Assert failed");
7847 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7010);
7850 var16
= NEW_nit__AIfExpr(&type_nit__AIfExpr
);
7852 nit__parser_prod___AIfExpr___init_aifexpr(var16
, var_tkwifnode2
, var_pexprnode3
, var_tkwthennode4
, var_pexprnode5
, ((val
*)NULL
), ((val
*)NULL
)); /* Direct call parser_prod#AIfExpr#init_aifexpr on <var16:AIfExpr>*/
7854 var_pexprnode1
= var16
;
7855 var_node_list
= var_pexprnode1
;
7856 var17
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction259> */
7858 var18
= nit___nit__Parser___go_to(var_p
, var17
);
7861 nit___nit__Parser___push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7865 /* method parser#ReduceAction260#action for (self: ReduceAction260, Parser) */
7866 void nit__parser___nit__parser__ReduceAction260___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7867 val
* var_p
/* var p: Parser */;
7868 val
* var_node_list
/* var node_list: nullable Object */;
7869 val
* var
/* : nullable Object */;
7870 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
7871 val
* var1
/* : nullable Object */;
7872 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
7873 val
* var2
/* : nullable Object */;
7874 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
7875 val
* var3
/* : nullable Object */;
7876 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7877 val
* var4
/* : nullable Object */;
7878 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7879 val
* var5
/* : nullable Object */;
7880 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7881 val
* var6
/* : nullable Object */;
7882 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7883 val
* var7
/* : nullable Object */;
7884 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7885 val
* var8
/* : nullable Object */;
7886 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7887 val
* var_tkwifnode2
/* var tkwifnode2: nullable Object */;
7888 short int var9
/* : Bool */;
7891 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
7892 short int var10
/* : Bool */;
7895 val
* var_tkwthennode4
/* var tkwthennode4: nullable Object */;
7896 short int var13
/* : Bool */;
7899 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
7900 short int var16
/* : Bool */;
7903 val
* var_tkwelsenode6
/* var tkwelsenode6: nullable Object */;
7904 short int var19
/* : Bool */;
7907 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
7908 short int var22
/* : Bool */;
7911 val
* var25
/* : AIfExpr */;
7912 val
* var_pexprnode1
/* var pexprnode1: nullable AIfExpr */;
7913 long var26
/* : Int */;
7914 long var27
/* : Int */;
7916 var_node_list
= ((val
*)NULL
);
7918 var
= nit___nit__Parser___pop(var_p
);
7920 var_nodearraylist9
= var
;
7922 var1
= nit___nit__Parser___pop(var_p
);
7924 var_nodearraylist8
= var1
;
7926 var2
= nit___nit__Parser___pop(var_p
);
7928 var_nodearraylist7
= var2
;
7930 var3
= nit___nit__Parser___pop(var_p
);
7932 var_nodearraylist6
= var3
;
7934 var4
= nit___nit__Parser___pop(var_p
);
7936 var_nodearraylist5
= var4
;
7938 var5
= nit___nit__Parser___pop(var_p
);
7940 var_nodearraylist4
= var5
;
7942 var6
= nit___nit__Parser___pop(var_p
);
7944 var_nodearraylist3
= var6
;
7946 var7
= nit___nit__Parser___pop(var_p
);
7948 var_nodearraylist2
= var7
;
7950 var8
= nit___nit__Parser___pop(var_p
);
7952 var_nodearraylist1
= var8
;
7953 var_tkwifnode2
= var_nodearraylist1
;
7954 /* <var_tkwifnode2:nullable Object> isa nullable TKwif */
7955 cltype
= type_nullable__nit__TKwif
.color
;
7956 idtype
= type_nullable__nit__TKwif
.id
;
7957 if(var_tkwifnode2
== NULL
) {
7960 if(cltype
>= (((long)var_tkwifnode2
&3)?type_info
[((long)var_tkwifnode2
&3)]:var_tkwifnode2
->type
)->table_size
) {
7963 var9
= (((long)var_tkwifnode2
&3)?type_info
[((long)var_tkwifnode2
&3)]:var_tkwifnode2
->type
)->type_table
[cltype
] == idtype
;
7966 if (unlikely(!var9
)) {
7967 PRINT_ERROR("Runtime error: %s", "Assert failed");
7968 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7038);
7971 var_pexprnode3
= var_nodearraylist3
;
7972 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
7973 cltype11
= type_nullable__nit__AExpr
.color
;
7974 idtype12
= type_nullable__nit__AExpr
.id
;
7975 if(var_pexprnode3
== NULL
) {
7978 if(cltype11
>= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->table_size
) {
7981 var10
= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->type_table
[cltype11
] == idtype12
;
7984 if (unlikely(!var10
)) {
7985 PRINT_ERROR("Runtime error: %s", "Assert failed");
7986 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7040);
7989 var_tkwthennode4
= var_nodearraylist5
;
7990 /* <var_tkwthennode4:nullable Object> isa nullable TKwthen */
7991 cltype14
= type_nullable__nit__TKwthen
.color
;
7992 idtype15
= type_nullable__nit__TKwthen
.id
;
7993 if(var_tkwthennode4
== NULL
) {
7996 if(cltype14
>= (((long)var_tkwthennode4
&3)?type_info
[((long)var_tkwthennode4
&3)]:var_tkwthennode4
->type
)->table_size
) {
7999 var13
= (((long)var_tkwthennode4
&3)?type_info
[((long)var_tkwthennode4
&3)]:var_tkwthennode4
->type
)->type_table
[cltype14
] == idtype15
;
8002 if (unlikely(!var13
)) {
8003 PRINT_ERROR("Runtime error: %s", "Assert failed");
8004 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7042);
8007 var_pexprnode5
= var_nodearraylist7
;
8008 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
8009 cltype17
= type_nullable__nit__AExpr
.color
;
8010 idtype18
= type_nullable__nit__AExpr
.id
;
8011 if(var_pexprnode5
== NULL
) {
8014 if(cltype17
>= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->table_size
) {
8017 var16
= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->type_table
[cltype17
] == idtype18
;
8020 if (unlikely(!var16
)) {
8021 PRINT_ERROR("Runtime error: %s", "Assert failed");
8022 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7044);
8025 var_tkwelsenode6
= var_nodearraylist8
;
8026 /* <var_tkwelsenode6:nullable Object> isa nullable TKwelse */
8027 cltype20
= type_nullable__nit__TKwelse
.color
;
8028 idtype21
= type_nullable__nit__TKwelse
.id
;
8029 if(var_tkwelsenode6
== NULL
) {
8032 if(cltype20
>= (((long)var_tkwelsenode6
&3)?type_info
[((long)var_tkwelsenode6
&3)]:var_tkwelsenode6
->type
)->table_size
) {
8035 var19
= (((long)var_tkwelsenode6
&3)?type_info
[((long)var_tkwelsenode6
&3)]:var_tkwelsenode6
->type
)->type_table
[cltype20
] == idtype21
;
8038 if (unlikely(!var19
)) {
8039 PRINT_ERROR("Runtime error: %s", "Assert failed");
8040 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7046);
8043 var_pexprnode7
= var_nodearraylist9
;
8044 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
8045 cltype23
= type_nullable__nit__AExpr
.color
;
8046 idtype24
= type_nullable__nit__AExpr
.id
;
8047 if(var_pexprnode7
== NULL
) {
8050 if(cltype23
>= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->table_size
) {
8053 var22
= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->type_table
[cltype23
] == idtype24
;
8056 if (unlikely(!var22
)) {
8057 PRINT_ERROR("Runtime error: %s", "Assert failed");
8058 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7048);
8061 var25
= NEW_nit__AIfExpr(&type_nit__AIfExpr
);
8063 nit__parser_prod___AIfExpr___init_aifexpr(var25
, var_tkwifnode2
, var_pexprnode3
, var_tkwthennode4
, var_pexprnode5
, var_tkwelsenode6
, var_pexprnode7
); /* Direct call parser_prod#AIfExpr#init_aifexpr on <var25:AIfExpr>*/
8065 var_pexprnode1
= var25
;
8066 var_node_list
= var_pexprnode1
;
8067 var26
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction260> */
8069 var27
= nit___nit__Parser___go_to(var_p
, var26
);
8072 nit___nit__Parser___push(var_p
, var27
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8076 /* method parser#ReduceAction261#action for (self: ReduceAction261, Parser) */
8077 void nit__parser___nit__parser__ReduceAction261___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8078 val
* var_p
/* var p: Parser */;
8079 val
* var_node_list
/* var node_list: nullable Object */;
8080 val
* var
/* : nullable Object */;
8081 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
8082 val
* var1
/* : nullable Object */;
8083 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
8084 val
* var2
/* : nullable Object */;
8085 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
8086 val
* var3
/* : nullable Object */;
8087 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8088 val
* var4
/* : nullable Object */;
8089 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8090 val
* var5
/* : nullable Object */;
8091 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8092 val
* var6
/* : nullable Object */;
8093 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8094 val
* var_tkwifnode2
/* var tkwifnode2: nullable Object */;
8095 short int var7
/* : Bool */;
8098 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
8099 short int var8
/* : Bool */;
8102 val
* var_tkwthennode4
/* var tkwthennode4: nullable Object */;
8103 short int var11
/* : Bool */;
8106 val
* var_tkwelsenode6
/* var tkwelsenode6: nullable Object */;
8107 short int var14
/* : Bool */;
8110 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
8111 short int var17
/* : Bool */;
8114 val
* var20
/* : AIfExpr */;
8115 val
* var_pexprnode1
/* var pexprnode1: nullable AIfExpr */;
8116 long var21
/* : Int */;
8117 long var22
/* : Int */;
8119 var_node_list
= ((val
*)NULL
);
8121 var
= nit___nit__Parser___pop(var_p
);
8123 var_nodearraylist7
= var
;
8125 var1
= nit___nit__Parser___pop(var_p
);
8127 var_nodearraylist6
= var1
;
8129 var2
= nit___nit__Parser___pop(var_p
);
8131 var_nodearraylist5
= var2
;
8133 var3
= nit___nit__Parser___pop(var_p
);
8135 var_nodearraylist4
= var3
;
8137 var4
= nit___nit__Parser___pop(var_p
);
8139 var_nodearraylist3
= var4
;
8141 var5
= nit___nit__Parser___pop(var_p
);
8143 var_nodearraylist2
= var5
;
8145 var6
= nit___nit__Parser___pop(var_p
);
8147 var_nodearraylist1
= var6
;
8148 var_tkwifnode2
= var_nodearraylist1
;
8149 /* <var_tkwifnode2:nullable Object> isa nullable TKwif */
8150 cltype
= type_nullable__nit__TKwif
.color
;
8151 idtype
= type_nullable__nit__TKwif
.id
;
8152 if(var_tkwifnode2
== NULL
) {
8155 if(cltype
>= (((long)var_tkwifnode2
&3)?type_info
[((long)var_tkwifnode2
&3)]:var_tkwifnode2
->type
)->table_size
) {
8158 var7
= (((long)var_tkwifnode2
&3)?type_info
[((long)var_tkwifnode2
&3)]:var_tkwifnode2
->type
)->type_table
[cltype
] == idtype
;
8161 if (unlikely(!var7
)) {
8162 PRINT_ERROR("Runtime error: %s", "Assert failed");
8163 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7074);
8166 var_pexprnode3
= var_nodearraylist3
;
8167 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
8168 cltype9
= type_nullable__nit__AExpr
.color
;
8169 idtype10
= type_nullable__nit__AExpr
.id
;
8170 if(var_pexprnode3
== NULL
) {
8173 if(cltype9
>= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->table_size
) {
8176 var8
= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->type_table
[cltype9
] == idtype10
;
8179 if (unlikely(!var8
)) {
8180 PRINT_ERROR("Runtime error: %s", "Assert failed");
8181 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7076);
8184 var_tkwthennode4
= var_nodearraylist5
;
8185 /* <var_tkwthennode4:nullable Object> isa nullable TKwthen */
8186 cltype12
= type_nullable__nit__TKwthen
.color
;
8187 idtype13
= type_nullable__nit__TKwthen
.id
;
8188 if(var_tkwthennode4
== NULL
) {
8191 if(cltype12
>= (((long)var_tkwthennode4
&3)?type_info
[((long)var_tkwthennode4
&3)]:var_tkwthennode4
->type
)->table_size
) {
8194 var11
= (((long)var_tkwthennode4
&3)?type_info
[((long)var_tkwthennode4
&3)]:var_tkwthennode4
->type
)->type_table
[cltype12
] == idtype13
;
8197 if (unlikely(!var11
)) {
8198 PRINT_ERROR("Runtime error: %s", "Assert failed");
8199 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7078);
8202 var_tkwelsenode6
= var_nodearraylist6
;
8203 /* <var_tkwelsenode6:nullable Object> isa nullable TKwelse */
8204 cltype15
= type_nullable__nit__TKwelse
.color
;
8205 idtype16
= type_nullable__nit__TKwelse
.id
;
8206 if(var_tkwelsenode6
== NULL
) {
8209 if(cltype15
>= (((long)var_tkwelsenode6
&3)?type_info
[((long)var_tkwelsenode6
&3)]:var_tkwelsenode6
->type
)->table_size
) {
8212 var14
= (((long)var_tkwelsenode6
&3)?type_info
[((long)var_tkwelsenode6
&3)]:var_tkwelsenode6
->type
)->type_table
[cltype15
] == idtype16
;
8215 if (unlikely(!var14
)) {
8216 PRINT_ERROR("Runtime error: %s", "Assert failed");
8217 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7080);
8220 var_pexprnode7
= var_nodearraylist7
;
8221 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
8222 cltype18
= type_nullable__nit__AExpr
.color
;
8223 idtype19
= type_nullable__nit__AExpr
.id
;
8224 if(var_pexprnode7
== NULL
) {
8227 if(cltype18
>= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->table_size
) {
8230 var17
= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->type_table
[cltype18
] == idtype19
;
8233 if (unlikely(!var17
)) {
8234 PRINT_ERROR("Runtime error: %s", "Assert failed");
8235 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7082);
8238 var20
= NEW_nit__AIfExpr(&type_nit__AIfExpr
);
8240 nit__parser_prod___AIfExpr___init_aifexpr(var20
, var_tkwifnode2
, var_pexprnode3
, var_tkwthennode4
, ((val
*)NULL
), var_tkwelsenode6
, var_pexprnode7
); /* Direct call parser_prod#AIfExpr#init_aifexpr on <var20:AIfExpr>*/
8242 var_pexprnode1
= var20
;
8243 var_node_list
= var_pexprnode1
;
8244 var21
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction261> */
8246 var22
= nit___nit__Parser___go_to(var_p
, var21
);
8249 nit___nit__Parser___push(var_p
, var22
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8253 /* method parser#ReduceAction262#action for (self: ReduceAction262, Parser) */
8254 void nit__parser___nit__parser__ReduceAction262___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8255 val
* var_p
/* var p: Parser */;
8256 val
* var_node_list
/* var node_list: nullable Object */;
8257 val
* var
/* : nullable Object */;
8258 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
8259 val
* var1
/* : nullable Object */;
8260 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
8261 val
* var2
/* : nullable Object */;
8262 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
8263 val
* var3
/* : nullable Object */;
8264 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
8265 val
* var4
/* : nullable Object */;
8266 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8267 val
* var5
/* : nullable Object */;
8268 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8269 val
* var6
/* : nullable Object */;
8270 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8271 val
* var7
/* : nullable Object */;
8272 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8273 val
* var_tkwifnode2
/* var tkwifnode2: nullable Object */;
8274 short int var8
/* : Bool */;
8277 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
8278 short int var9
/* : Bool */;
8281 val
* var_tkwthennode4
/* var tkwthennode4: nullable Object */;
8282 short int var12
/* : Bool */;
8285 val
* var_tkwelsenode6
/* var tkwelsenode6: nullable Object */;
8286 short int var15
/* : Bool */;
8289 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
8290 short int var18
/* : Bool */;
8293 val
* var21
/* : AIfExpr */;
8294 val
* var_pexprnode1
/* var pexprnode1: nullable AIfExpr */;
8295 long var22
/* : Int */;
8296 long var23
/* : Int */;
8298 var_node_list
= ((val
*)NULL
);
8300 var
= nit___nit__Parser___pop(var_p
);
8302 var_nodearraylist8
= var
;
8304 var1
= nit___nit__Parser___pop(var_p
);
8306 var_nodearraylist7
= var1
;
8308 var2
= nit___nit__Parser___pop(var_p
);
8310 var_nodearraylist6
= var2
;
8312 var3
= nit___nit__Parser___pop(var_p
);
8314 var_nodearraylist5
= var3
;
8316 var4
= nit___nit__Parser___pop(var_p
);
8318 var_nodearraylist4
= var4
;
8320 var5
= nit___nit__Parser___pop(var_p
);
8322 var_nodearraylist3
= var5
;
8324 var6
= nit___nit__Parser___pop(var_p
);
8326 var_nodearraylist2
= var6
;
8328 var7
= nit___nit__Parser___pop(var_p
);
8330 var_nodearraylist1
= var7
;
8331 var_tkwifnode2
= var_nodearraylist1
;
8332 /* <var_tkwifnode2:nullable Object> isa nullable TKwif */
8333 cltype
= type_nullable__nit__TKwif
.color
;
8334 idtype
= type_nullable__nit__TKwif
.id
;
8335 if(var_tkwifnode2
== NULL
) {
8338 if(cltype
>= (((long)var_tkwifnode2
&3)?type_info
[((long)var_tkwifnode2
&3)]:var_tkwifnode2
->type
)->table_size
) {
8341 var8
= (((long)var_tkwifnode2
&3)?type_info
[((long)var_tkwifnode2
&3)]:var_tkwifnode2
->type
)->type_table
[cltype
] == idtype
;
8344 if (unlikely(!var8
)) {
8345 PRINT_ERROR("Runtime error: %s", "Assert failed");
8346 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7109);
8349 var_pexprnode3
= var_nodearraylist3
;
8350 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
8351 cltype10
= type_nullable__nit__AExpr
.color
;
8352 idtype11
= type_nullable__nit__AExpr
.id
;
8353 if(var_pexprnode3
== NULL
) {
8356 if(cltype10
>= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->table_size
) {
8359 var9
= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->type_table
[cltype10
] == idtype11
;
8362 if (unlikely(!var9
)) {
8363 PRINT_ERROR("Runtime error: %s", "Assert failed");
8364 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7111);
8367 var_tkwthennode4
= var_nodearraylist5
;
8368 /* <var_tkwthennode4:nullable Object> isa nullable TKwthen */
8369 cltype13
= type_nullable__nit__TKwthen
.color
;
8370 idtype14
= type_nullable__nit__TKwthen
.id
;
8371 if(var_tkwthennode4
== NULL
) {
8374 if(cltype13
>= (((long)var_tkwthennode4
&3)?type_info
[((long)var_tkwthennode4
&3)]:var_tkwthennode4
->type
)->table_size
) {
8377 var12
= (((long)var_tkwthennode4
&3)?type_info
[((long)var_tkwthennode4
&3)]:var_tkwthennode4
->type
)->type_table
[cltype13
] == idtype14
;
8380 if (unlikely(!var12
)) {
8381 PRINT_ERROR("Runtime error: %s", "Assert failed");
8382 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7113);
8385 var_tkwelsenode6
= var_nodearraylist7
;
8386 /* <var_tkwelsenode6:nullable Object> isa nullable TKwelse */
8387 cltype16
= type_nullable__nit__TKwelse
.color
;
8388 idtype17
= type_nullable__nit__TKwelse
.id
;
8389 if(var_tkwelsenode6
== NULL
) {
8392 if(cltype16
>= (((long)var_tkwelsenode6
&3)?type_info
[((long)var_tkwelsenode6
&3)]:var_tkwelsenode6
->type
)->table_size
) {
8395 var15
= (((long)var_tkwelsenode6
&3)?type_info
[((long)var_tkwelsenode6
&3)]:var_tkwelsenode6
->type
)->type_table
[cltype16
] == idtype17
;
8398 if (unlikely(!var15
)) {
8399 PRINT_ERROR("Runtime error: %s", "Assert failed");
8400 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7115);
8403 var_pexprnode7
= var_nodearraylist8
;
8404 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
8405 cltype19
= type_nullable__nit__AExpr
.color
;
8406 idtype20
= type_nullable__nit__AExpr
.id
;
8407 if(var_pexprnode7
== NULL
) {
8410 if(cltype19
>= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->table_size
) {
8413 var18
= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->type_table
[cltype19
] == idtype20
;
8416 if (unlikely(!var18
)) {
8417 PRINT_ERROR("Runtime error: %s", "Assert failed");
8418 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7117);
8421 var21
= NEW_nit__AIfExpr(&type_nit__AIfExpr
);
8423 nit__parser_prod___AIfExpr___init_aifexpr(var21
, var_tkwifnode2
, var_pexprnode3
, var_tkwthennode4
, ((val
*)NULL
), var_tkwelsenode6
, var_pexprnode7
); /* Direct call parser_prod#AIfExpr#init_aifexpr on <var21:AIfExpr>*/
8425 var_pexprnode1
= var21
;
8426 var_node_list
= var_pexprnode1
;
8427 var22
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction262> */
8429 var23
= nit___nit__Parser___go_to(var_p
, var22
);
8432 nit___nit__Parser___push(var_p
, var23
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8436 /* method parser#ReduceAction263#action for (self: ReduceAction263, Parser) */
8437 void nit__parser___nit__parser__ReduceAction263___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8438 val
* var_p
/* var p: Parser */;
8439 val
* var_node_list
/* var node_list: nullable Object */;
8440 val
* var
/* : nullable Object */;
8441 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
8442 val
* var1
/* : nullable Object */;
8443 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
8444 val
* var2
/* : nullable Object */;
8445 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
8446 val
* var3
/* : nullable Object */;
8447 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
8448 val
* var4
/* : nullable Object */;
8449 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8450 val
* var5
/* : nullable Object */;
8451 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8452 val
* var6
/* : nullable Object */;
8453 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8454 val
* var7
/* : nullable Object */;
8455 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8456 val
* var_tkwifnode2
/* var tkwifnode2: nullable Object */;
8457 short int var8
/* : Bool */;
8460 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
8461 short int var9
/* : Bool */;
8464 val
* var_tkwthennode4
/* var tkwthennode4: nullable Object */;
8465 short int var12
/* : Bool */;
8468 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
8469 short int var15
/* : Bool */;
8472 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
8473 short int var18
/* : Bool */;
8476 val
* var21
/* : AIfExpr */;
8477 val
* var_pexprnode1
/* var pexprnode1: nullable AIfExpr */;
8478 long var22
/* : Int */;
8479 long var23
/* : Int */;
8481 var_node_list
= ((val
*)NULL
);
8483 var
= nit___nit__Parser___pop(var_p
);
8485 var_nodearraylist8
= var
;
8487 var1
= nit___nit__Parser___pop(var_p
);
8489 var_nodearraylist7
= var1
;
8491 var2
= nit___nit__Parser___pop(var_p
);
8493 var_nodearraylist6
= var2
;
8495 var3
= nit___nit__Parser___pop(var_p
);
8497 var_nodearraylist5
= var3
;
8499 var4
= nit___nit__Parser___pop(var_p
);
8501 var_nodearraylist4
= var4
;
8503 var5
= nit___nit__Parser___pop(var_p
);
8505 var_nodearraylist3
= var5
;
8507 var6
= nit___nit__Parser___pop(var_p
);
8509 var_nodearraylist2
= var6
;
8511 var7
= nit___nit__Parser___pop(var_p
);
8513 var_nodearraylist1
= var7
;
8514 var_tkwifnode2
= var_nodearraylist1
;
8515 /* <var_tkwifnode2:nullable Object> isa nullable TKwif */
8516 cltype
= type_nullable__nit__TKwif
.color
;
8517 idtype
= type_nullable__nit__TKwif
.id
;
8518 if(var_tkwifnode2
== NULL
) {
8521 if(cltype
>= (((long)var_tkwifnode2
&3)?type_info
[((long)var_tkwifnode2
&3)]:var_tkwifnode2
->type
)->table_size
) {
8524 var8
= (((long)var_tkwifnode2
&3)?type_info
[((long)var_tkwifnode2
&3)]:var_tkwifnode2
->type
)->type_table
[cltype
] == idtype
;
8527 if (unlikely(!var8
)) {
8528 PRINT_ERROR("Runtime error: %s", "Assert failed");
8529 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7144);
8532 var_pexprnode3
= var_nodearraylist3
;
8533 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
8534 cltype10
= type_nullable__nit__AExpr
.color
;
8535 idtype11
= type_nullable__nit__AExpr
.id
;
8536 if(var_pexprnode3
== NULL
) {
8539 if(cltype10
>= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->table_size
) {
8542 var9
= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->type_table
[cltype10
] == idtype11
;
8545 if (unlikely(!var9
)) {
8546 PRINT_ERROR("Runtime error: %s", "Assert failed");
8547 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7146);
8550 var_tkwthennode4
= var_nodearraylist5
;
8551 /* <var_tkwthennode4:nullable Object> isa nullable TKwthen */
8552 cltype13
= type_nullable__nit__TKwthen
.color
;
8553 idtype14
= type_nullable__nit__TKwthen
.id
;
8554 if(var_tkwthennode4
== NULL
) {
8557 if(cltype13
>= (((long)var_tkwthennode4
&3)?type_info
[((long)var_tkwthennode4
&3)]:var_tkwthennode4
->type
)->table_size
) {
8560 var12
= (((long)var_tkwthennode4
&3)?type_info
[((long)var_tkwthennode4
&3)]:var_tkwthennode4
->type
)->type_table
[cltype13
] == idtype14
;
8563 if (unlikely(!var12
)) {
8564 PRINT_ERROR("Runtime error: %s", "Assert failed");
8565 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7148);
8568 var_pexprnode5
= var_nodearraylist7
;
8569 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
8570 cltype16
= type_nullable__nit__AExpr
.color
;
8571 idtype17
= type_nullable__nit__AExpr
.id
;
8572 if(var_pexprnode5
== NULL
) {
8575 if(cltype16
>= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->table_size
) {
8578 var15
= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->type_table
[cltype16
] == idtype17
;
8581 if (unlikely(!var15
)) {
8582 PRINT_ERROR("Runtime error: %s", "Assert failed");
8583 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7150);
8586 var_pexprnode7
= var_nodearraylist8
;
8587 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
8588 cltype19
= type_nullable__nit__AExpr
.color
;
8589 idtype20
= type_nullable__nit__AExpr
.id
;
8590 if(var_pexprnode7
== NULL
) {
8593 if(cltype19
>= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->table_size
) {
8596 var18
= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->type_table
[cltype19
] == idtype20
;
8599 if (unlikely(!var18
)) {
8600 PRINT_ERROR("Runtime error: %s", "Assert failed");
8601 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7152);
8604 var21
= NEW_nit__AIfExpr(&type_nit__AIfExpr
);
8606 nit__parser_prod___AIfExpr___init_aifexpr(var21
, var_tkwifnode2
, var_pexprnode3
, var_tkwthennode4
, var_pexprnode5
, ((val
*)NULL
), var_pexprnode7
); /* Direct call parser_prod#AIfExpr#init_aifexpr on <var21:AIfExpr>*/
8608 var_pexprnode1
= var21
;
8609 var_node_list
= var_pexprnode1
;
8610 var22
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction263> */
8612 var23
= nit___nit__Parser___go_to(var_p
, var22
);
8615 nit___nit__Parser___push(var_p
, var23
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8619 /* method parser#ReduceAction264#action for (self: ReduceAction264, Parser) */
8620 void nit__parser___nit__parser__ReduceAction264___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8621 val
* var_p
/* var p: Parser */;
8622 val
* var_node_list
/* var node_list: nullable Object */;
8623 val
* var
/* : nullable Object */;
8624 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
8625 val
* var1
/* : nullable Object */;
8626 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
8627 val
* var2
/* : nullable Object */;
8628 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8629 val
* var3
/* : nullable Object */;
8630 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8631 val
* var4
/* : nullable Object */;
8632 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8633 val
* var5
/* : nullable Object */;
8634 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8635 val
* var_tkwifnode2
/* var tkwifnode2: nullable Object */;
8636 short int var6
/* : Bool */;
8639 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
8640 short int var7
/* : Bool */;
8643 val
* var_tkwthennode4
/* var tkwthennode4: nullable Object */;
8644 short int var10
/* : Bool */;
8647 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
8648 short int var13
/* : Bool */;
8651 val
* var16
/* : AIfExpr */;
8652 val
* var_pexprnode1
/* var pexprnode1: nullable AIfExpr */;
8653 long var17
/* : Int */;
8654 long var18
/* : Int */;
8656 var_node_list
= ((val
*)NULL
);
8658 var
= nit___nit__Parser___pop(var_p
);
8660 var_nodearraylist6
= var
;
8662 var1
= nit___nit__Parser___pop(var_p
);
8664 var_nodearraylist5
= var1
;
8666 var2
= nit___nit__Parser___pop(var_p
);
8668 var_nodearraylist4
= var2
;
8670 var3
= nit___nit__Parser___pop(var_p
);
8672 var_nodearraylist3
= var3
;
8674 var4
= nit___nit__Parser___pop(var_p
);
8676 var_nodearraylist2
= var4
;
8678 var5
= nit___nit__Parser___pop(var_p
);
8680 var_nodearraylist1
= var5
;
8681 var_tkwifnode2
= var_nodearraylist1
;
8682 /* <var_tkwifnode2:nullable Object> isa nullable TKwif */
8683 cltype
= type_nullable__nit__TKwif
.color
;
8684 idtype
= type_nullable__nit__TKwif
.id
;
8685 if(var_tkwifnode2
== NULL
) {
8688 if(cltype
>= (((long)var_tkwifnode2
&3)?type_info
[((long)var_tkwifnode2
&3)]:var_tkwifnode2
->type
)->table_size
) {
8691 var6
= (((long)var_tkwifnode2
&3)?type_info
[((long)var_tkwifnode2
&3)]:var_tkwifnode2
->type
)->type_table
[cltype
] == idtype
;
8694 if (unlikely(!var6
)) {
8695 PRINT_ERROR("Runtime error: %s", "Assert failed");
8696 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7177);
8699 var_pexprnode3
= var_nodearraylist3
;
8700 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
8701 cltype8
= type_nullable__nit__AExpr
.color
;
8702 idtype9
= type_nullable__nit__AExpr
.id
;
8703 if(var_pexprnode3
== NULL
) {
8706 if(cltype8
>= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->table_size
) {
8709 var7
= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->type_table
[cltype8
] == idtype9
;
8712 if (unlikely(!var7
)) {
8713 PRINT_ERROR("Runtime error: %s", "Assert failed");
8714 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7179);
8717 var_tkwthennode4
= var_nodearraylist5
;
8718 /* <var_tkwthennode4:nullable Object> isa nullable TKwthen */
8719 cltype11
= type_nullable__nit__TKwthen
.color
;
8720 idtype12
= type_nullable__nit__TKwthen
.id
;
8721 if(var_tkwthennode4
== NULL
) {
8724 if(cltype11
>= (((long)var_tkwthennode4
&3)?type_info
[((long)var_tkwthennode4
&3)]:var_tkwthennode4
->type
)->table_size
) {
8727 var10
= (((long)var_tkwthennode4
&3)?type_info
[((long)var_tkwthennode4
&3)]:var_tkwthennode4
->type
)->type_table
[cltype11
] == idtype12
;
8730 if (unlikely(!var10
)) {
8731 PRINT_ERROR("Runtime error: %s", "Assert failed");
8732 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7181);
8735 var_pexprnode7
= var_nodearraylist6
;
8736 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
8737 cltype14
= type_nullable__nit__AExpr
.color
;
8738 idtype15
= type_nullable__nit__AExpr
.id
;
8739 if(var_pexprnode7
== NULL
) {
8742 if(cltype14
>= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->table_size
) {
8745 var13
= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->type_table
[cltype14
] == idtype15
;
8748 if (unlikely(!var13
)) {
8749 PRINT_ERROR("Runtime error: %s", "Assert failed");
8750 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7183);
8753 var16
= NEW_nit__AIfExpr(&type_nit__AIfExpr
);
8755 nit__parser_prod___AIfExpr___init_aifexpr(var16
, var_tkwifnode2
, var_pexprnode3
, var_tkwthennode4
, ((val
*)NULL
), ((val
*)NULL
), var_pexprnode7
); /* Direct call parser_prod#AIfExpr#init_aifexpr on <var16:AIfExpr>*/
8757 var_pexprnode1
= var16
;
8758 var_node_list
= var_pexprnode1
;
8759 var17
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction264> */
8761 var18
= nit___nit__Parser___go_to(var_p
, var17
);
8764 nit___nit__Parser___push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8768 /* method parser#ReduceAction265#action for (self: ReduceAction265, Parser) */
8769 void nit__parser___nit__parser__ReduceAction265___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8770 val
* var_p
/* var p: Parser */;
8771 val
* var_node_list
/* var node_list: nullable Object */;
8772 val
* var
/* : nullable Object */;
8773 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
8774 val
* var1
/* : nullable Object */;
8775 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
8776 val
* var2
/* : nullable Object */;
8777 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
8778 val
* var3
/* : nullable Object */;
8779 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8780 val
* var4
/* : nullable Object */;
8781 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8782 val
* var5
/* : nullable Object */;
8783 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8784 val
* var6
/* : nullable Object */;
8785 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8786 val
* var_tkwifnode2
/* var tkwifnode2: nullable Object */;
8787 short int var7
/* : Bool */;
8790 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
8791 short int var8
/* : Bool */;
8794 val
* var_tkwthennode4
/* var tkwthennode4: nullable Object */;
8795 short int var11
/* : Bool */;
8798 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
8799 short int var14
/* : Bool */;
8802 val
* var17
/* : AIfExpr */;
8803 val
* var_pexprnode1
/* var pexprnode1: nullable AIfExpr */;
8804 long var18
/* : Int */;
8805 long var19
/* : Int */;
8807 var_node_list
= ((val
*)NULL
);
8809 var
= nit___nit__Parser___pop(var_p
);
8811 var_nodearraylist7
= var
;
8813 var1
= nit___nit__Parser___pop(var_p
);
8815 var_nodearraylist6
= var1
;
8817 var2
= nit___nit__Parser___pop(var_p
);
8819 var_nodearraylist5
= var2
;
8821 var3
= nit___nit__Parser___pop(var_p
);
8823 var_nodearraylist4
= var3
;
8825 var4
= nit___nit__Parser___pop(var_p
);
8827 var_nodearraylist3
= var4
;
8829 var5
= nit___nit__Parser___pop(var_p
);
8831 var_nodearraylist2
= var5
;
8833 var6
= nit___nit__Parser___pop(var_p
);
8835 var_nodearraylist1
= var6
;
8836 var_tkwifnode2
= var_nodearraylist1
;
8837 /* <var_tkwifnode2:nullable Object> isa nullable TKwif */
8838 cltype
= type_nullable__nit__TKwif
.color
;
8839 idtype
= type_nullable__nit__TKwif
.id
;
8840 if(var_tkwifnode2
== NULL
) {
8843 if(cltype
>= (((long)var_tkwifnode2
&3)?type_info
[((long)var_tkwifnode2
&3)]:var_tkwifnode2
->type
)->table_size
) {
8846 var7
= (((long)var_tkwifnode2
&3)?type_info
[((long)var_tkwifnode2
&3)]:var_tkwifnode2
->type
)->type_table
[cltype
] == idtype
;
8849 if (unlikely(!var7
)) {
8850 PRINT_ERROR("Runtime error: %s", "Assert failed");
8851 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7209);
8854 var_pexprnode3
= var_nodearraylist3
;
8855 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
8856 cltype9
= type_nullable__nit__AExpr
.color
;
8857 idtype10
= type_nullable__nit__AExpr
.id
;
8858 if(var_pexprnode3
== NULL
) {
8861 if(cltype9
>= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->table_size
) {
8864 var8
= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->type_table
[cltype9
] == idtype10
;
8867 if (unlikely(!var8
)) {
8868 PRINT_ERROR("Runtime error: %s", "Assert failed");
8869 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7211);
8872 var_tkwthennode4
= var_nodearraylist5
;
8873 /* <var_tkwthennode4:nullable Object> isa nullable TKwthen */
8874 cltype12
= type_nullable__nit__TKwthen
.color
;
8875 idtype13
= type_nullable__nit__TKwthen
.id
;
8876 if(var_tkwthennode4
== NULL
) {
8879 if(cltype12
>= (((long)var_tkwthennode4
&3)?type_info
[((long)var_tkwthennode4
&3)]:var_tkwthennode4
->type
)->table_size
) {
8882 var11
= (((long)var_tkwthennode4
&3)?type_info
[((long)var_tkwthennode4
&3)]:var_tkwthennode4
->type
)->type_table
[cltype12
] == idtype13
;
8885 if (unlikely(!var11
)) {
8886 PRINT_ERROR("Runtime error: %s", "Assert failed");
8887 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7213);
8890 var_pexprnode7
= var_nodearraylist7
;
8891 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
8892 cltype15
= type_nullable__nit__AExpr
.color
;
8893 idtype16
= type_nullable__nit__AExpr
.id
;
8894 if(var_pexprnode7
== NULL
) {
8897 if(cltype15
>= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->table_size
) {
8900 var14
= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->type_table
[cltype15
] == idtype16
;
8903 if (unlikely(!var14
)) {
8904 PRINT_ERROR("Runtime error: %s", "Assert failed");
8905 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7215);
8908 var17
= NEW_nit__AIfExpr(&type_nit__AIfExpr
);
8910 nit__parser_prod___AIfExpr___init_aifexpr(var17
, var_tkwifnode2
, var_pexprnode3
, var_tkwthennode4
, ((val
*)NULL
), ((val
*)NULL
), var_pexprnode7
); /* Direct call parser_prod#AIfExpr#init_aifexpr on <var17:AIfExpr>*/
8912 var_pexprnode1
= var17
;
8913 var_node_list
= var_pexprnode1
;
8914 var18
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction265> */
8916 var19
= nit___nit__Parser___go_to(var_p
, var18
);
8919 nit___nit__Parser___push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8923 /* method parser#ReduceAction267#action for (self: ReduceAction267, Parser) */
8924 void nit__parser___nit__parser__ReduceAction267___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8925 val
* var_p
/* var p: Parser */;
8926 val
* var_node_list
/* var node_list: nullable Object */;
8927 val
* var
/* : nullable Object */;
8928 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8929 val
* var1
/* : nullable Object */;
8930 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8931 val
* var2
/* : nullable Object */;
8932 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8933 val
* var_tkwloopnode2
/* var tkwloopnode2: nullable Object */;
8934 short int var3
/* : Bool */;
8937 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
8938 short int var4
/* : Bool */;
8941 val
* var_plabelnode4
/* var plabelnode4: nullable Object */;
8942 short int var7
/* : Bool */;
8945 val
* var10
/* : ALoopExpr */;
8946 val
* var_pexprnode1
/* var pexprnode1: nullable ALoopExpr */;
8947 long var11
/* : Int */;
8948 long var12
/* : Int */;
8950 var_node_list
= ((val
*)NULL
);
8952 var
= nit___nit__Parser___pop(var_p
);
8954 var_nodearraylist3
= var
;
8956 var1
= nit___nit__Parser___pop(var_p
);
8958 var_nodearraylist2
= var1
;
8960 var2
= nit___nit__Parser___pop(var_p
);
8962 var_nodearraylist1
= var2
;
8963 var_tkwloopnode2
= var_nodearraylist1
;
8964 /* <var_tkwloopnode2:nullable Object> isa nullable TKwloop */
8965 cltype
= type_nullable__nit__TKwloop
.color
;
8966 idtype
= type_nullable__nit__TKwloop
.id
;
8967 if(var_tkwloopnode2
== NULL
) {
8970 if(cltype
>= (((long)var_tkwloopnode2
&3)?type_info
[((long)var_tkwloopnode2
&3)]:var_tkwloopnode2
->type
)->table_size
) {
8973 var3
= (((long)var_tkwloopnode2
&3)?type_info
[((long)var_tkwloopnode2
&3)]:var_tkwloopnode2
->type
)->type_table
[cltype
] == idtype
;
8976 if (unlikely(!var3
)) {
8977 PRINT_ERROR("Runtime error: %s", "Assert failed");
8978 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7237);
8981 var_pexprnode3
= var_nodearraylist2
;
8982 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
8983 cltype5
= type_nullable__nit__AExpr
.color
;
8984 idtype6
= type_nullable__nit__AExpr
.id
;
8985 if(var_pexprnode3
== NULL
) {
8988 if(cltype5
>= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->table_size
) {
8991 var4
= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->type_table
[cltype5
] == idtype6
;
8994 if (unlikely(!var4
)) {
8995 PRINT_ERROR("Runtime error: %s", "Assert failed");
8996 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7239);
8999 var_plabelnode4
= var_nodearraylist3
;
9000 /* <var_plabelnode4:nullable Object> isa nullable ALabel */
9001 cltype8
= type_nullable__nit__ALabel
.color
;
9002 idtype9
= type_nullable__nit__ALabel
.id
;
9003 if(var_plabelnode4
== NULL
) {
9006 if(cltype8
>= (((long)var_plabelnode4
&3)?type_info
[((long)var_plabelnode4
&3)]:var_plabelnode4
->type
)->table_size
) {
9009 var7
= (((long)var_plabelnode4
&3)?type_info
[((long)var_plabelnode4
&3)]:var_plabelnode4
->type
)->type_table
[cltype8
] == idtype9
;
9012 if (unlikely(!var7
)) {
9013 PRINT_ERROR("Runtime error: %s", "Assert failed");
9014 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7241);
9017 var10
= NEW_nit__ALoopExpr(&type_nit__ALoopExpr
);
9019 nit__parser_prod___ALoopExpr___init_aloopexpr(var10
, var_tkwloopnode2
, var_pexprnode3
, var_plabelnode4
); /* Direct call parser_prod#ALoopExpr#init_aloopexpr on <var10:ALoopExpr>*/
9021 var_pexprnode1
= var10
;
9022 var_node_list
= var_pexprnode1
;
9023 var11
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction267> */
9025 var12
= nit___nit__Parser___go_to(var_p
, var11
);
9028 nit___nit__Parser___push(var_p
, var12
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9032 /* method parser#ReduceAction268#action for (self: ReduceAction268, Parser) */
9033 void nit__parser___nit__parser__ReduceAction268___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
9034 val
* var_p
/* var p: Parser */;
9035 val
* var_node_list
/* var node_list: nullable Object */;
9036 val
* var
/* : nullable Object */;
9037 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9038 val
* var1
/* : nullable Object */;
9039 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9040 val
* var_tkwloopnode2
/* var tkwloopnode2: nullable Object */;
9041 short int var2
/* : Bool */;
9044 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
9045 short int var3
/* : Bool */;
9048 val
* var6
/* : ALoopExpr */;
9049 val
* var_pexprnode1
/* var pexprnode1: nullable ALoopExpr */;
9050 long var7
/* : Int */;
9051 long var8
/* : Int */;
9053 var_node_list
= ((val
*)NULL
);
9055 var
= nit___nit__Parser___pop(var_p
);
9057 var_nodearraylist2
= var
;
9059 var1
= nit___nit__Parser___pop(var_p
);
9061 var_nodearraylist1
= var1
;
9062 var_tkwloopnode2
= var_nodearraylist1
;
9063 /* <var_tkwloopnode2:nullable Object> isa nullable TKwloop */
9064 cltype
= type_nullable__nit__TKwloop
.color
;
9065 idtype
= type_nullable__nit__TKwloop
.id
;
9066 if(var_tkwloopnode2
== NULL
) {
9069 if(cltype
>= (((long)var_tkwloopnode2
&3)?type_info
[((long)var_tkwloopnode2
&3)]:var_tkwloopnode2
->type
)->table_size
) {
9072 var2
= (((long)var_tkwloopnode2
&3)?type_info
[((long)var_tkwloopnode2
&3)]:var_tkwloopnode2
->type
)->type_table
[cltype
] == idtype
;
9075 if (unlikely(!var2
)) {
9076 PRINT_ERROR("Runtime error: %s", "Assert failed");
9077 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7259);
9080 var_pexprnode3
= var_nodearraylist2
;
9081 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
9082 cltype4
= type_nullable__nit__AExpr
.color
;
9083 idtype5
= type_nullable__nit__AExpr
.id
;
9084 if(var_pexprnode3
== NULL
) {
9087 if(cltype4
>= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->table_size
) {
9090 var3
= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->type_table
[cltype4
] == idtype5
;
9093 if (unlikely(!var3
)) {
9094 PRINT_ERROR("Runtime error: %s", "Assert failed");
9095 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7261);
9098 var6
= NEW_nit__ALoopExpr(&type_nit__ALoopExpr
);
9100 nit__parser_prod___ALoopExpr___init_aloopexpr(var6
, var_tkwloopnode2
, var_pexprnode3
, ((val
*)NULL
)); /* Direct call parser_prod#ALoopExpr#init_aloopexpr on <var6:ALoopExpr>*/
9102 var_pexprnode1
= var6
;
9103 var_node_list
= var_pexprnode1
;
9104 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction268> */
9106 var8
= nit___nit__Parser___go_to(var_p
, var7
);
9109 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9113 /* method parser#ReduceAction269#action for (self: ReduceAction269, Parser) */
9114 void nit__parser___nit__parser__ReduceAction269___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
9115 val
* var_p
/* var p: Parser */;
9116 val
* var_node_list
/* var node_list: nullable Object */;
9117 val
* var
/* : nullable Object */;
9118 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
9119 val
* var1
/* : nullable Object */;
9120 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
9121 val
* var2
/* : nullable Object */;
9122 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9123 val
* var3
/* : nullable Object */;
9124 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9125 val
* var4
/* : nullable Object */;
9126 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9127 val
* var5
/* : nullable Object */;
9128 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9129 val
* var6
/* : nullable Object */;
9130 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9131 val
* var_tkwwhilenode2
/* var tkwwhilenode2: nullable Object */;
9132 short int var7
/* : Bool */;
9135 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
9136 short int var8
/* : Bool */;
9139 val
* var_tkwdonode4
/* var tkwdonode4: nullable Object */;
9140 short int var11
/* : Bool */;
9143 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
9144 short int var14
/* : Bool */;
9147 val
* var_plabelnode6
/* var plabelnode6: nullable Object */;
9148 short int var17
/* : Bool */;
9151 val
* var20
/* : AWhileExpr */;
9152 val
* var_pexprnode1
/* var pexprnode1: nullable AWhileExpr */;
9153 long var21
/* : Int */;
9154 long var22
/* : Int */;
9156 var_node_list
= ((val
*)NULL
);
9158 var
= nit___nit__Parser___pop(var_p
);
9160 var_nodearraylist7
= var
;
9162 var1
= nit___nit__Parser___pop(var_p
);
9164 var_nodearraylist6
= var1
;
9166 var2
= nit___nit__Parser___pop(var_p
);
9168 var_nodearraylist5
= var2
;
9170 var3
= nit___nit__Parser___pop(var_p
);
9172 var_nodearraylist4
= var3
;
9174 var4
= nit___nit__Parser___pop(var_p
);
9176 var_nodearraylist3
= var4
;
9178 var5
= nit___nit__Parser___pop(var_p
);
9180 var_nodearraylist2
= var5
;
9182 var6
= nit___nit__Parser___pop(var_p
);
9184 var_nodearraylist1
= var6
;
9185 var_tkwwhilenode2
= var_nodearraylist1
;
9186 /* <var_tkwwhilenode2:nullable Object> isa nullable TKwwhile */
9187 cltype
= type_nullable__nit__TKwwhile
.color
;
9188 idtype
= type_nullable__nit__TKwwhile
.id
;
9189 if(var_tkwwhilenode2
== NULL
) {
9192 if(cltype
>= (((long)var_tkwwhilenode2
&3)?type_info
[((long)var_tkwwhilenode2
&3)]:var_tkwwhilenode2
->type
)->table_size
) {
9195 var7
= (((long)var_tkwwhilenode2
&3)?type_info
[((long)var_tkwwhilenode2
&3)]:var_tkwwhilenode2
->type
)->type_table
[cltype
] == idtype
;
9198 if (unlikely(!var7
)) {
9199 PRINT_ERROR("Runtime error: %s", "Assert failed");
9200 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7284);
9203 var_pexprnode3
= var_nodearraylist3
;
9204 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
9205 cltype9
= type_nullable__nit__AExpr
.color
;
9206 idtype10
= type_nullable__nit__AExpr
.id
;
9207 if(var_pexprnode3
== NULL
) {
9210 if(cltype9
>= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->table_size
) {
9213 var8
= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->type_table
[cltype9
] == idtype10
;
9216 if (unlikely(!var8
)) {
9217 PRINT_ERROR("Runtime error: %s", "Assert failed");
9218 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7286);
9221 var_tkwdonode4
= var_nodearraylist5
;
9222 /* <var_tkwdonode4:nullable Object> isa nullable TKwdo */
9223 cltype12
= type_nullable__nit__TKwdo
.color
;
9224 idtype13
= type_nullable__nit__TKwdo
.id
;
9225 if(var_tkwdonode4
== NULL
) {
9228 if(cltype12
>= (((long)var_tkwdonode4
&3)?type_info
[((long)var_tkwdonode4
&3)]:var_tkwdonode4
->type
)->table_size
) {
9231 var11
= (((long)var_tkwdonode4
&3)?type_info
[((long)var_tkwdonode4
&3)]:var_tkwdonode4
->type
)->type_table
[cltype12
] == idtype13
;
9234 if (unlikely(!var11
)) {
9235 PRINT_ERROR("Runtime error: %s", "Assert failed");
9236 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7288);
9239 var_pexprnode5
= var_nodearraylist6
;
9240 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
9241 cltype15
= type_nullable__nit__AExpr
.color
;
9242 idtype16
= type_nullable__nit__AExpr
.id
;
9243 if(var_pexprnode5
== NULL
) {
9246 if(cltype15
>= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->table_size
) {
9249 var14
= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->type_table
[cltype15
] == idtype16
;
9252 if (unlikely(!var14
)) {
9253 PRINT_ERROR("Runtime error: %s", "Assert failed");
9254 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7290);
9257 var_plabelnode6
= var_nodearraylist7
;
9258 /* <var_plabelnode6:nullable Object> isa nullable ALabel */
9259 cltype18
= type_nullable__nit__ALabel
.color
;
9260 idtype19
= type_nullable__nit__ALabel
.id
;
9261 if(var_plabelnode6
== NULL
) {
9264 if(cltype18
>= (((long)var_plabelnode6
&3)?type_info
[((long)var_plabelnode6
&3)]:var_plabelnode6
->type
)->table_size
) {
9267 var17
= (((long)var_plabelnode6
&3)?type_info
[((long)var_plabelnode6
&3)]:var_plabelnode6
->type
)->type_table
[cltype18
] == idtype19
;
9270 if (unlikely(!var17
)) {
9271 PRINT_ERROR("Runtime error: %s", "Assert failed");
9272 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7292);
9275 var20
= NEW_nit__AWhileExpr(&type_nit__AWhileExpr
);
9277 nit__parser_prod___AWhileExpr___init_awhileexpr(var20
, var_tkwwhilenode2
, var_pexprnode3
, var_tkwdonode4
, var_pexprnode5
, var_plabelnode6
); /* Direct call parser_prod#AWhileExpr#init_awhileexpr on <var20:AWhileExpr>*/
9279 var_pexprnode1
= var20
;
9280 var_node_list
= var_pexprnode1
;
9281 var21
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction269> */
9283 var22
= nit___nit__Parser___go_to(var_p
, var21
);
9286 nit___nit__Parser___push(var_p
, var22
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9290 /* method parser#ReduceAction270#action for (self: ReduceAction270, Parser) */
9291 void nit__parser___nit__parser__ReduceAction270___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
9292 val
* var_p
/* var p: Parser */;
9293 val
* var_node_list
/* var node_list: nullable Object */;
9294 val
* var
/* : nullable Object */;
9295 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
9296 val
* var1
/* : nullable Object */;
9297 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9298 val
* var2
/* : nullable Object */;
9299 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9300 val
* var3
/* : nullable Object */;
9301 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9302 val
* var4
/* : nullable Object */;
9303 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9304 val
* var5
/* : nullable Object */;
9305 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9306 val
* var_tkwwhilenode2
/* var tkwwhilenode2: nullable Object */;
9307 short int var6
/* : Bool */;
9310 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
9311 short int var7
/* : Bool */;
9314 val
* var_tkwdonode4
/* var tkwdonode4: nullable Object */;
9315 short int var10
/* : Bool */;
9318 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
9319 short int var13
/* : Bool */;
9322 val
* var16
/* : AWhileExpr */;
9323 val
* var_pexprnode1
/* var pexprnode1: nullable AWhileExpr */;
9324 long var17
/* : Int */;
9325 long var18
/* : Int */;
9327 var_node_list
= ((val
*)NULL
);
9329 var
= nit___nit__Parser___pop(var_p
);
9331 var_nodearraylist6
= var
;
9333 var1
= nit___nit__Parser___pop(var_p
);
9335 var_nodearraylist5
= var1
;
9337 var2
= nit___nit__Parser___pop(var_p
);
9339 var_nodearraylist4
= var2
;
9341 var3
= nit___nit__Parser___pop(var_p
);
9343 var_nodearraylist3
= var3
;
9345 var4
= nit___nit__Parser___pop(var_p
);
9347 var_nodearraylist2
= var4
;
9349 var5
= nit___nit__Parser___pop(var_p
);
9351 var_nodearraylist1
= var5
;
9352 var_tkwwhilenode2
= var_nodearraylist1
;
9353 /* <var_tkwwhilenode2:nullable Object> isa nullable TKwwhile */
9354 cltype
= type_nullable__nit__TKwwhile
.color
;
9355 idtype
= type_nullable__nit__TKwwhile
.id
;
9356 if(var_tkwwhilenode2
== NULL
) {
9359 if(cltype
>= (((long)var_tkwwhilenode2
&3)?type_info
[((long)var_tkwwhilenode2
&3)]:var_tkwwhilenode2
->type
)->table_size
) {
9362 var6
= (((long)var_tkwwhilenode2
&3)?type_info
[((long)var_tkwwhilenode2
&3)]:var_tkwwhilenode2
->type
)->type_table
[cltype
] == idtype
;
9365 if (unlikely(!var6
)) {
9366 PRINT_ERROR("Runtime error: %s", "Assert failed");
9367 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7316);
9370 var_pexprnode3
= var_nodearraylist3
;
9371 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
9372 cltype8
= type_nullable__nit__AExpr
.color
;
9373 idtype9
= type_nullable__nit__AExpr
.id
;
9374 if(var_pexprnode3
== NULL
) {
9377 if(cltype8
>= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->table_size
) {
9380 var7
= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->type_table
[cltype8
] == idtype9
;
9383 if (unlikely(!var7
)) {
9384 PRINT_ERROR("Runtime error: %s", "Assert failed");
9385 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7318);
9388 var_tkwdonode4
= var_nodearraylist5
;
9389 /* <var_tkwdonode4:nullable Object> isa nullable TKwdo */
9390 cltype11
= type_nullable__nit__TKwdo
.color
;
9391 idtype12
= type_nullable__nit__TKwdo
.id
;
9392 if(var_tkwdonode4
== NULL
) {
9395 if(cltype11
>= (((long)var_tkwdonode4
&3)?type_info
[((long)var_tkwdonode4
&3)]:var_tkwdonode4
->type
)->table_size
) {
9398 var10
= (((long)var_tkwdonode4
&3)?type_info
[((long)var_tkwdonode4
&3)]:var_tkwdonode4
->type
)->type_table
[cltype11
] == idtype12
;
9401 if (unlikely(!var10
)) {
9402 PRINT_ERROR("Runtime error: %s", "Assert failed");
9403 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7320);
9406 var_pexprnode5
= var_nodearraylist6
;
9407 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
9408 cltype14
= type_nullable__nit__AExpr
.color
;
9409 idtype15
= type_nullable__nit__AExpr
.id
;
9410 if(var_pexprnode5
== NULL
) {
9413 if(cltype14
>= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->table_size
) {
9416 var13
= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->type_table
[cltype14
] == idtype15
;
9419 if (unlikely(!var13
)) {
9420 PRINT_ERROR("Runtime error: %s", "Assert failed");
9421 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7322);
9424 var16
= NEW_nit__AWhileExpr(&type_nit__AWhileExpr
);
9426 nit__parser_prod___AWhileExpr___init_awhileexpr(var16
, var_tkwwhilenode2
, var_pexprnode3
, var_tkwdonode4
, var_pexprnode5
, ((val
*)NULL
)); /* Direct call parser_prod#AWhileExpr#init_awhileexpr on <var16:AWhileExpr>*/
9428 var_pexprnode1
= var16
;
9429 var_node_list
= var_pexprnode1
;
9430 var17
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction270> */
9432 var18
= nit___nit__Parser___go_to(var_p
, var17
);
9435 nit___nit__Parser___push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9439 /* method parser#ReduceAction271#action for (self: ReduceAction271, Parser) */
9440 void nit__parser___nit__parser__ReduceAction271___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
9441 val
* var_p
/* var p: Parser */;
9442 val
* var_node_list
/* var node_list: nullable Object */;
9443 val
* var
/* : nullable Object */;
9444 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
9445 val
* var1
/* : nullable Object */;
9446 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
9447 val
* var2
/* : nullable Object */;
9448 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
9449 val
* var3
/* : nullable Object */;
9450 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
9451 val
* var4
/* : nullable Object */;
9452 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
9453 val
* var5
/* : nullable Object */;
9454 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
9455 val
* var6
/* : nullable Object */;
9456 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9457 val
* var7
/* : nullable Object */;
9458 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9459 val
* var8
/* : nullable Object */;
9460 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9461 val
* var9
/* : nullable Object */;
9462 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9463 val
* var10
/* : nullable Object */;
9464 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9465 val
* var11
/* : Array[Object] */;
9466 val
* var_listnode4
/* var listnode4: Array[Object] */;
9467 val
* var_tkwfornode2
/* var tkwfornode2: nullable Object */;
9468 short int var12
/* : Bool */;
9471 val
* var_listnode3
/* var listnode3: nullable Object */;
9472 short int var13
/* : Bool */;
9475 val
* var16
/* : Array[Object] */;
9476 val
* var_tkwinnode5
/* var tkwinnode5: nullable Object */;
9477 short int var17
/* : Bool */;
9480 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
9481 short int var20
/* : Bool */;
9484 val
* var_tkwdonode7
/* var tkwdonode7: nullable Object */;
9485 short int var23
/* : Bool */;
9488 val
* var_pexprnode8
/* var pexprnode8: nullable Object */;
9489 short int var26
/* : Bool */;
9492 val
* var_plabelnode9
/* var plabelnode9: nullable Object */;
9493 short int var29
/* : Bool */;
9496 val
* var32
/* : AForExpr */;
9497 val
* var_pexprnode1
/* var pexprnode1: nullable AForExpr */;
9498 long var33
/* : Int */;
9499 long var34
/* : Int */;
9501 var_node_list
= ((val
*)NULL
);
9503 var
= nit___nit__Parser___pop(var_p
);
9505 var_nodearraylist11
= var
;
9507 var1
= nit___nit__Parser___pop(var_p
);
9509 var_nodearraylist10
= var1
;
9511 var2
= nit___nit__Parser___pop(var_p
);
9513 var_nodearraylist9
= var2
;
9515 var3
= nit___nit__Parser___pop(var_p
);
9517 var_nodearraylist8
= var3
;
9519 var4
= nit___nit__Parser___pop(var_p
);
9521 var_nodearraylist7
= var4
;
9523 var5
= nit___nit__Parser___pop(var_p
);
9525 var_nodearraylist6
= var5
;
9527 var6
= nit___nit__Parser___pop(var_p
);
9529 var_nodearraylist5
= var6
;
9531 var7
= nit___nit__Parser___pop(var_p
);
9533 var_nodearraylist4
= var7
;
9535 var8
= nit___nit__Parser___pop(var_p
);
9537 var_nodearraylist3
= var8
;
9539 var9
= nit___nit__Parser___pop(var_p
);
9541 var_nodearraylist2
= var9
;
9543 var10
= nit___nit__Parser___pop(var_p
);
9545 var_nodearraylist1
= var10
;
9546 var11
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9548 standard___standard__Array___standard__kernel__Object__init(var11
); /* Direct call array#Array#init on <var11:Array[Object]>*/
9550 var_listnode4
= var11
;
9551 var_tkwfornode2
= var_nodearraylist1
;
9552 /* <var_tkwfornode2:nullable Object> isa nullable TKwfor */
9553 cltype
= type_nullable__nit__TKwfor
.color
;
9554 idtype
= type_nullable__nit__TKwfor
.id
;
9555 if(var_tkwfornode2
== NULL
) {
9558 if(cltype
>= (((long)var_tkwfornode2
&3)?type_info
[((long)var_tkwfornode2
&3)]:var_tkwfornode2
->type
)->table_size
) {
9561 var12
= (((long)var_tkwfornode2
&3)?type_info
[((long)var_tkwfornode2
&3)]:var_tkwfornode2
->type
)->type_table
[cltype
] == idtype
;
9564 if (unlikely(!var12
)) {
9565 PRINT_ERROR("Runtime error: %s", "Assert failed");
9566 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7352);
9569 var_listnode3
= var_nodearraylist3
;
9570 /* <var_listnode3:nullable Object> isa Array[Object] */
9571 cltype14
= type_standard__Array__standard__Object
.color
;
9572 idtype15
= type_standard__Array__standard__Object
.id
;
9573 if(var_listnode3
== NULL
) {
9576 if(cltype14
>= (((long)var_listnode3
&3)?type_info
[((long)var_listnode3
&3)]:var_listnode3
->type
)->table_size
) {
9579 var13
= (((long)var_listnode3
&3)?type_info
[((long)var_listnode3
&3)]:var_listnode3
->type
)->type_table
[cltype14
] == idtype15
;
9582 if (unlikely(!var13
)) {
9583 PRINT_ERROR("Runtime error: %s", "Assert failed");
9584 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7354);
9588 var16
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode4
, var_listnode3
);
9590 var_listnode4
= var16
;
9591 var_tkwinnode5
= var_nodearraylist5
;
9592 /* <var_tkwinnode5:nullable Object> isa nullable TKwin */
9593 cltype18
= type_nullable__nit__TKwin
.color
;
9594 idtype19
= type_nullable__nit__TKwin
.id
;
9595 if(var_tkwinnode5
== NULL
) {
9598 if(cltype18
>= (((long)var_tkwinnode5
&3)?type_info
[((long)var_tkwinnode5
&3)]:var_tkwinnode5
->type
)->table_size
) {
9601 var17
= (((long)var_tkwinnode5
&3)?type_info
[((long)var_tkwinnode5
&3)]:var_tkwinnode5
->type
)->type_table
[cltype18
] == idtype19
;
9604 if (unlikely(!var17
)) {
9605 PRINT_ERROR("Runtime error: %s", "Assert failed");
9606 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7357);
9609 var_pexprnode6
= var_nodearraylist7
;
9610 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
9611 cltype21
= type_nullable__nit__AExpr
.color
;
9612 idtype22
= type_nullable__nit__AExpr
.id
;
9613 if(var_pexprnode6
== NULL
) {
9616 if(cltype21
>= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->table_size
) {
9619 var20
= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->type_table
[cltype21
] == idtype22
;
9622 if (unlikely(!var20
)) {
9623 PRINT_ERROR("Runtime error: %s", "Assert failed");
9624 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7359);
9627 var_tkwdonode7
= var_nodearraylist9
;
9628 /* <var_tkwdonode7:nullable Object> isa nullable TKwdo */
9629 cltype24
= type_nullable__nit__TKwdo
.color
;
9630 idtype25
= type_nullable__nit__TKwdo
.id
;
9631 if(var_tkwdonode7
== NULL
) {
9634 if(cltype24
>= (((long)var_tkwdonode7
&3)?type_info
[((long)var_tkwdonode7
&3)]:var_tkwdonode7
->type
)->table_size
) {
9637 var23
= (((long)var_tkwdonode7
&3)?type_info
[((long)var_tkwdonode7
&3)]:var_tkwdonode7
->type
)->type_table
[cltype24
] == idtype25
;
9640 if (unlikely(!var23
)) {
9641 PRINT_ERROR("Runtime error: %s", "Assert failed");
9642 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7361);
9645 var_pexprnode8
= var_nodearraylist10
;
9646 /* <var_pexprnode8:nullable Object> isa nullable AExpr */
9647 cltype27
= type_nullable__nit__AExpr
.color
;
9648 idtype28
= type_nullable__nit__AExpr
.id
;
9649 if(var_pexprnode8
== NULL
) {
9652 if(cltype27
>= (((long)var_pexprnode8
&3)?type_info
[((long)var_pexprnode8
&3)]:var_pexprnode8
->type
)->table_size
) {
9655 var26
= (((long)var_pexprnode8
&3)?type_info
[((long)var_pexprnode8
&3)]:var_pexprnode8
->type
)->type_table
[cltype27
] == idtype28
;
9658 if (unlikely(!var26
)) {
9659 PRINT_ERROR("Runtime error: %s", "Assert failed");
9660 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7363);
9663 var_plabelnode9
= var_nodearraylist11
;
9664 /* <var_plabelnode9:nullable Object> isa nullable ALabel */
9665 cltype30
= type_nullable__nit__ALabel
.color
;
9666 idtype31
= type_nullable__nit__ALabel
.id
;
9667 if(var_plabelnode9
== NULL
) {
9670 if(cltype30
>= (((long)var_plabelnode9
&3)?type_info
[((long)var_plabelnode9
&3)]:var_plabelnode9
->type
)->table_size
) {
9673 var29
= (((long)var_plabelnode9
&3)?type_info
[((long)var_plabelnode9
&3)]:var_plabelnode9
->type
)->type_table
[cltype30
] == idtype31
;
9676 if (unlikely(!var29
)) {
9677 PRINT_ERROR("Runtime error: %s", "Assert failed");
9678 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7365);
9681 var32
= NEW_nit__AForExpr(&type_nit__AForExpr
);
9683 nit__parser_prod___AForExpr___init_aforexpr(var32
, var_tkwfornode2
, var_listnode4
, var_tkwinnode5
, var_pexprnode6
, var_tkwdonode7
, var_pexprnode8
, var_plabelnode9
); /* Direct call parser_prod#AForExpr#init_aforexpr on <var32:AForExpr>*/
9685 var_pexprnode1
= var32
;
9686 var_node_list
= var_pexprnode1
;
9687 var33
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction271> */
9689 var34
= nit___nit__Parser___go_to(var_p
, var33
);
9692 nit___nit__Parser___push(var_p
, var34
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9696 /* method parser#ReduceAction272#action for (self: ReduceAction272, Parser) */
9697 void nit__parser___nit__parser__ReduceAction272___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
9698 val
* var_p
/* var p: Parser */;
9699 val
* var_node_list
/* var node_list: nullable Object */;
9700 val
* var
/* : nullable Object */;
9701 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
9702 val
* var1
/* : nullable Object */;
9703 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
9704 val
* var2
/* : nullable Object */;
9705 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
9706 val
* var3
/* : nullable Object */;
9707 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
9708 val
* var4
/* : nullable Object */;
9709 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
9710 val
* var5
/* : nullable Object */;
9711 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9712 val
* var6
/* : nullable Object */;
9713 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9714 val
* var7
/* : nullable Object */;
9715 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9716 val
* var8
/* : nullable Object */;
9717 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9718 val
* var9
/* : nullable Object */;
9719 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9720 val
* var10
/* : Array[Object] */;
9721 val
* var_listnode4
/* var listnode4: Array[Object] */;
9722 val
* var_tkwfornode2
/* var tkwfornode2: nullable Object */;
9723 short int var11
/* : Bool */;
9726 val
* var_listnode3
/* var listnode3: nullable Object */;
9727 short int var12
/* : Bool */;
9730 val
* var15
/* : Array[Object] */;
9731 val
* var_tkwinnode5
/* var tkwinnode5: nullable Object */;
9732 short int var16
/* : Bool */;
9735 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
9736 short int var19
/* : Bool */;
9739 val
* var_tkwdonode7
/* var tkwdonode7: nullable Object */;
9740 short int var22
/* : Bool */;
9743 val
* var_pexprnode8
/* var pexprnode8: nullable Object */;
9744 short int var25
/* : Bool */;
9747 val
* var28
/* : AForExpr */;
9748 val
* var_pexprnode1
/* var pexprnode1: nullable AForExpr */;
9749 long var29
/* : Int */;
9750 long var30
/* : Int */;
9752 var_node_list
= ((val
*)NULL
);
9754 var
= nit___nit__Parser___pop(var_p
);
9756 var_nodearraylist10
= var
;
9758 var1
= nit___nit__Parser___pop(var_p
);
9760 var_nodearraylist9
= var1
;
9762 var2
= nit___nit__Parser___pop(var_p
);
9764 var_nodearraylist8
= var2
;
9766 var3
= nit___nit__Parser___pop(var_p
);
9768 var_nodearraylist7
= var3
;
9770 var4
= nit___nit__Parser___pop(var_p
);
9772 var_nodearraylist6
= var4
;
9774 var5
= nit___nit__Parser___pop(var_p
);
9776 var_nodearraylist5
= var5
;
9778 var6
= nit___nit__Parser___pop(var_p
);
9780 var_nodearraylist4
= var6
;
9782 var7
= nit___nit__Parser___pop(var_p
);
9784 var_nodearraylist3
= var7
;
9786 var8
= nit___nit__Parser___pop(var_p
);
9788 var_nodearraylist2
= var8
;
9790 var9
= nit___nit__Parser___pop(var_p
);
9792 var_nodearraylist1
= var9
;
9793 var10
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9795 standard___standard__Array___standard__kernel__Object__init(var10
); /* Direct call array#Array#init on <var10:Array[Object]>*/
9797 var_listnode4
= var10
;
9798 var_tkwfornode2
= var_nodearraylist1
;
9799 /* <var_tkwfornode2:nullable Object> isa nullable TKwfor */
9800 cltype
= type_nullable__nit__TKwfor
.color
;
9801 idtype
= type_nullable__nit__TKwfor
.id
;
9802 if(var_tkwfornode2
== NULL
) {
9805 if(cltype
>= (((long)var_tkwfornode2
&3)?type_info
[((long)var_tkwfornode2
&3)]:var_tkwfornode2
->type
)->table_size
) {
9808 var11
= (((long)var_tkwfornode2
&3)?type_info
[((long)var_tkwfornode2
&3)]:var_tkwfornode2
->type
)->type_table
[cltype
] == idtype
;
9811 if (unlikely(!var11
)) {
9812 PRINT_ERROR("Runtime error: %s", "Assert failed");
9813 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7396);
9816 var_listnode3
= var_nodearraylist3
;
9817 /* <var_listnode3:nullable Object> isa Array[Object] */
9818 cltype13
= type_standard__Array__standard__Object
.color
;
9819 idtype14
= type_standard__Array__standard__Object
.id
;
9820 if(var_listnode3
== NULL
) {
9823 if(cltype13
>= (((long)var_listnode3
&3)?type_info
[((long)var_listnode3
&3)]:var_listnode3
->type
)->table_size
) {
9826 var12
= (((long)var_listnode3
&3)?type_info
[((long)var_listnode3
&3)]:var_listnode3
->type
)->type_table
[cltype13
] == idtype14
;
9829 if (unlikely(!var12
)) {
9830 PRINT_ERROR("Runtime error: %s", "Assert failed");
9831 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7398);
9835 var15
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode4
, var_listnode3
);
9837 var_listnode4
= var15
;
9838 var_tkwinnode5
= var_nodearraylist5
;
9839 /* <var_tkwinnode5:nullable Object> isa nullable TKwin */
9840 cltype17
= type_nullable__nit__TKwin
.color
;
9841 idtype18
= type_nullable__nit__TKwin
.id
;
9842 if(var_tkwinnode5
== NULL
) {
9845 if(cltype17
>= (((long)var_tkwinnode5
&3)?type_info
[((long)var_tkwinnode5
&3)]:var_tkwinnode5
->type
)->table_size
) {
9848 var16
= (((long)var_tkwinnode5
&3)?type_info
[((long)var_tkwinnode5
&3)]:var_tkwinnode5
->type
)->type_table
[cltype17
] == idtype18
;
9851 if (unlikely(!var16
)) {
9852 PRINT_ERROR("Runtime error: %s", "Assert failed");
9853 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7401);
9856 var_pexprnode6
= var_nodearraylist7
;
9857 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
9858 cltype20
= type_nullable__nit__AExpr
.color
;
9859 idtype21
= type_nullable__nit__AExpr
.id
;
9860 if(var_pexprnode6
== NULL
) {
9863 if(cltype20
>= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->table_size
) {
9866 var19
= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->type_table
[cltype20
] == idtype21
;
9869 if (unlikely(!var19
)) {
9870 PRINT_ERROR("Runtime error: %s", "Assert failed");
9871 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7403);
9874 var_tkwdonode7
= var_nodearraylist9
;
9875 /* <var_tkwdonode7:nullable Object> isa nullable TKwdo */
9876 cltype23
= type_nullable__nit__TKwdo
.color
;
9877 idtype24
= type_nullable__nit__TKwdo
.id
;
9878 if(var_tkwdonode7
== NULL
) {
9881 if(cltype23
>= (((long)var_tkwdonode7
&3)?type_info
[((long)var_tkwdonode7
&3)]:var_tkwdonode7
->type
)->table_size
) {
9884 var22
= (((long)var_tkwdonode7
&3)?type_info
[((long)var_tkwdonode7
&3)]:var_tkwdonode7
->type
)->type_table
[cltype23
] == idtype24
;
9887 if (unlikely(!var22
)) {
9888 PRINT_ERROR("Runtime error: %s", "Assert failed");
9889 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7405);
9892 var_pexprnode8
= var_nodearraylist10
;
9893 /* <var_pexprnode8:nullable Object> isa nullable AExpr */
9894 cltype26
= type_nullable__nit__AExpr
.color
;
9895 idtype27
= type_nullable__nit__AExpr
.id
;
9896 if(var_pexprnode8
== NULL
) {
9899 if(cltype26
>= (((long)var_pexprnode8
&3)?type_info
[((long)var_pexprnode8
&3)]:var_pexprnode8
->type
)->table_size
) {
9902 var25
= (((long)var_pexprnode8
&3)?type_info
[((long)var_pexprnode8
&3)]:var_pexprnode8
->type
)->type_table
[cltype26
] == idtype27
;
9905 if (unlikely(!var25
)) {
9906 PRINT_ERROR("Runtime error: %s", "Assert failed");
9907 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7407);
9910 var28
= NEW_nit__AForExpr(&type_nit__AForExpr
);
9912 nit__parser_prod___AForExpr___init_aforexpr(var28
, var_tkwfornode2
, var_listnode4
, var_tkwinnode5
, var_pexprnode6
, var_tkwdonode7
, var_pexprnode8
, ((val
*)NULL
)); /* Direct call parser_prod#AForExpr#init_aforexpr on <var28:AForExpr>*/
9914 var_pexprnode1
= var28
;
9915 var_node_list
= var_pexprnode1
;
9916 var29
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction272> */
9918 var30
= nit___nit__Parser___go_to(var_p
, var29
);
9921 nit___nit__Parser___push(var_p
, var30
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/