1 #include "nit__parser.sep.0.h"
2 /* method parser#ReduceAction396#action for (self: ReduceAction396, Parser) */
3 void nit__parser___nit__parser__ReduceAction396___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_nodearraylist2
/* var nodearraylist2: nullable Object */;
8 val
* var1
/* : nullable Object */;
9 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
10 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
11 long var2
/* : Int */;
12 long var3
/* : Int */;
14 var_node_list
= ((val
*)NULL
);
16 var
= nit___nit__Parser___pop(var_p
);
18 var_nodearraylist2
= var
;
20 var1
= nit___nit__Parser___pop(var_p
);
22 var_nodearraylist1
= var1
;
23 var_pexprnode1
= var_nodearraylist1
;
24 var_node_list
= var_pexprnode1
;
25 var2
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction396> */
27 var3
= nit___nit__Parser___go_to(var_p
, var2
);
30 nit___nit__Parser___push(var_p
, var3
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
34 /* method parser#ReduceAction398#action for (self: ReduceAction398, Parser) */
35 void nit__parser___nit__parser__ReduceAction398___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
36 val
* var_p
/* var p: Parser */;
37 val
* var_node_list
/* var node_list: nullable Object */;
38 val
* var
/* : nullable Object */;
39 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
40 val
* var1
/* : nullable Object */;
41 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
42 val
* var2
/* : nullable Object */;
43 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
44 val
* var3
/* : nullable Object */;
45 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
46 val
* var4
/* : nullable Object */;
47 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
48 val
* var5
/* : nullable Object */;
49 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
50 val
* var6
/* : nullable Object */;
51 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
52 val
* var_tkwifnode2
/* var tkwifnode2: nullable Object */;
53 short int var7
/* : Bool */;
56 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
57 short int var8
/* : Bool */;
60 val
* var_tkwthennode4
/* var tkwthennode4: nullable Object */;
61 short int var11
/* : Bool */;
64 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
65 short int var14
/* : Bool */;
68 val
* var17
/* : AIfExpr */;
69 val
* var_pexprnode1
/* var pexprnode1: nullable AIfExpr */;
70 long var18
/* : Int */;
71 long var19
/* : Int */;
73 var_node_list
= ((val
*)NULL
);
75 var
= nit___nit__Parser___pop(var_p
);
77 var_nodearraylist7
= var
;
79 var1
= nit___nit__Parser___pop(var_p
);
81 var_nodearraylist6
= var1
;
83 var2
= nit___nit__Parser___pop(var_p
);
85 var_nodearraylist5
= var2
;
87 var3
= nit___nit__Parser___pop(var_p
);
89 var_nodearraylist4
= var3
;
91 var4
= nit___nit__Parser___pop(var_p
);
93 var_nodearraylist3
= var4
;
95 var5
= nit___nit__Parser___pop(var_p
);
97 var_nodearraylist2
= var5
;
99 var6
= nit___nit__Parser___pop(var_p
);
101 var_nodearraylist1
= var6
;
102 var_tkwifnode2
= var_nodearraylist1
;
103 /* <var_tkwifnode2:nullable Object> isa nullable TKwif */
104 cltype
= type_nullable__nit__TKwif
.color
;
105 idtype
= type_nullable__nit__TKwif
.id
;
106 if(var_tkwifnode2
== NULL
) {
109 if(cltype
>= (((long)var_tkwifnode2
&3)?type_info
[((long)var_tkwifnode2
&3)]:var_tkwifnode2
->type
)->table_size
) {
112 var7
= (((long)var_tkwifnode2
&3)?type_info
[((long)var_tkwifnode2
&3)]:var_tkwifnode2
->type
)->type_table
[cltype
] == idtype
;
115 if (unlikely(!var7
)) {
116 PRINT_ERROR("Runtime error: %s", "Assert failed");
117 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9600);
120 var_pexprnode3
= var_nodearraylist3
;
121 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
122 cltype9
= type_nullable__nit__AExpr
.color
;
123 idtype10
= type_nullable__nit__AExpr
.id
;
124 if(var_pexprnode3
== NULL
) {
127 if(cltype9
>= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->table_size
) {
130 var8
= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->type_table
[cltype9
] == idtype10
;
133 if (unlikely(!var8
)) {
134 PRINT_ERROR("Runtime error: %s", "Assert failed");
135 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9602);
138 var_tkwthennode4
= var_nodearraylist5
;
139 /* <var_tkwthennode4:nullable Object> isa nullable TKwthen */
140 cltype12
= type_nullable__nit__TKwthen
.color
;
141 idtype13
= type_nullable__nit__TKwthen
.id
;
142 if(var_tkwthennode4
== NULL
) {
145 if(cltype12
>= (((long)var_tkwthennode4
&3)?type_info
[((long)var_tkwthennode4
&3)]:var_tkwthennode4
->type
)->table_size
) {
148 var11
= (((long)var_tkwthennode4
&3)?type_info
[((long)var_tkwthennode4
&3)]:var_tkwthennode4
->type
)->type_table
[cltype12
] == idtype13
;
151 if (unlikely(!var11
)) {
152 PRINT_ERROR("Runtime error: %s", "Assert failed");
153 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9604);
156 var_pexprnode5
= var_nodearraylist7
;
157 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
158 cltype15
= type_nullable__nit__AExpr
.color
;
159 idtype16
= type_nullable__nit__AExpr
.id
;
160 if(var_pexprnode5
== NULL
) {
163 if(cltype15
>= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->table_size
) {
166 var14
= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->type_table
[cltype15
] == idtype16
;
169 if (unlikely(!var14
)) {
170 PRINT_ERROR("Runtime error: %s", "Assert failed");
171 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9606);
174 var17
= NEW_nit__AIfExpr(&type_nit__AIfExpr
);
176 nit__parser_prod___AIfExpr___init_aifexpr(var17
, var_tkwifnode2
, var_pexprnode3
, var_tkwthennode4
, var_pexprnode5
, ((val
*)NULL
), ((val
*)NULL
)); /* Direct call parser_prod#AIfExpr#init_aifexpr on <var17:AIfExpr>*/
178 var_pexprnode1
= var17
;
179 var_node_list
= var_pexprnode1
;
180 var18
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction398> */
182 var19
= nit___nit__Parser___go_to(var_p
, var18
);
185 nit___nit__Parser___push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
189 /* method parser#ReduceAction399#action for (self: ReduceAction399, Parser) */
190 void nit__parser___nit__parser__ReduceAction399___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
191 val
* var_p
/* var p: Parser */;
192 val
* var_node_list
/* var node_list: nullable Object */;
193 val
* var
/* : nullable Object */;
194 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
195 val
* var1
/* : nullable Object */;
196 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
197 val
* var2
/* : nullable Object */;
198 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
199 val
* var3
/* : Array[Object] */;
200 val
* var_listnode4
/* var listnode4: Array[Object] */;
201 val
* var_listnode2
/* var listnode2: nullable Object */;
202 short int var4
/* : Bool */;
205 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
206 short int var5
/* : Bool */;
209 val
* var8
/* : Array[Object] */;
210 short int var9
/* : Bool */;
211 short int var10
/* : Bool */;
212 val
* var_other
/* var other: nullable Object */;
213 short int var12
/* : Bool */;
214 short int var13
/* : Bool */;
215 val
* var_pannotationsnode5
/* var pannotationsnode5: nullable Object */;
216 short int var14
/* : Bool */;
219 val
* var17
/* : ASuperstringExpr */;
220 val
* var_pexprnode1
/* var pexprnode1: nullable ASuperstringExpr */;
221 long var18
/* : Int */;
222 long var19
/* : Int */;
224 var_node_list
= ((val
*)NULL
);
226 var
= nit___nit__Parser___pop(var_p
);
228 var_nodearraylist3
= var
;
230 var1
= nit___nit__Parser___pop(var_p
);
232 var_nodearraylist2
= var1
;
234 var2
= nit___nit__Parser___pop(var_p
);
236 var_nodearraylist1
= var2
;
237 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
239 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
241 var_listnode4
= var3
;
242 var_listnode2
= var_nodearraylist1
;
243 /* <var_listnode2:nullable Object> isa Array[Object] */
244 cltype
= type_standard__Array__standard__Object
.color
;
245 idtype
= type_standard__Array__standard__Object
.id
;
246 if(var_listnode2
== NULL
) {
249 if(cltype
>= (((long)var_listnode2
&3)?type_info
[((long)var_listnode2
&3)]:var_listnode2
->type
)->table_size
) {
252 var4
= (((long)var_listnode2
&3)?type_info
[((long)var_listnode2
&3)]:var_listnode2
->type
)->type_table
[cltype
] == idtype
;
255 if (unlikely(!var4
)) {
256 PRINT_ERROR("Runtime error: %s", "Assert failed");
257 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9629);
260 var_pexprnode3
= var_nodearraylist2
;
261 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
262 cltype6
= type_nullable__nit__AExpr
.color
;
263 idtype7
= type_nullable__nit__AExpr
.id
;
264 if(var_pexprnode3
== NULL
) {
267 if(cltype6
>= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->table_size
) {
270 var5
= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->type_table
[cltype6
] == idtype7
;
273 if (unlikely(!var5
)) {
274 PRINT_ERROR("Runtime error: %s", "Assert failed");
275 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9631);
279 var8
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode4
, var_listnode2
);
281 var_listnode4
= var8
;
282 if (var_pexprnode3
== NULL
) {
283 var9
= 0; /* is null */
285 var9
= 1; /* arg is null and recv is not */
288 { /* Inline kernel#Object#!= (var_pexprnode3,((val*)NULL)) on <var_pexprnode3:nullable Object(nullable AExpr)> */
289 var_other
= ((val
*)NULL
);
291 var12
= ((short int(*)(val
* self
, val
* p0
))(var_pexprnode3
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_pexprnode3
, var_other
); /* == on <var_pexprnode3:nullable AExpr(AExpr)>*/
302 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode4
, var_pexprnode3
); /* Direct call array#Array#add on <var_listnode4:Array[Object]>*/
306 var_pannotationsnode5
= var_nodearraylist3
;
307 /* <var_pannotationsnode5:nullable Object> isa nullable AAnnotations */
308 cltype15
= type_nullable__nit__AAnnotations
.color
;
309 idtype16
= type_nullable__nit__AAnnotations
.id
;
310 if(var_pannotationsnode5
== NULL
) {
313 if(cltype15
>= (((long)var_pannotationsnode5
&3)?type_info
[((long)var_pannotationsnode5
&3)]:var_pannotationsnode5
->type
)->table_size
) {
316 var14
= (((long)var_pannotationsnode5
&3)?type_info
[((long)var_pannotationsnode5
&3)]:var_pannotationsnode5
->type
)->type_table
[cltype15
] == idtype16
;
319 if (unlikely(!var14
)) {
320 PRINT_ERROR("Runtime error: %s", "Assert failed");
321 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9637);
324 var17
= NEW_nit__ASuperstringExpr(&type_nit__ASuperstringExpr
);
326 nit__parser_prod___ASuperstringExpr___init_asuperstringexpr(var17
, var_listnode4
, var_pannotationsnode5
); /* Direct call parser_prod#ASuperstringExpr#init_asuperstringexpr on <var17:ASuperstringExpr>*/
328 var_pexprnode1
= var17
;
329 var_node_list
= var_pexprnode1
;
330 var18
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction399> */
332 var19
= nit___nit__Parser___go_to(var_p
, var18
);
335 nit___nit__Parser___push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
339 /* method parser#ReduceAction400#action for (self: ReduceAction400, Parser) */
340 void nit__parser___nit__parser__ReduceAction400___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
341 val
* var_p
/* var p: Parser */;
342 val
* var_node_list
/* var node_list: nullable Object */;
343 val
* var
/* : nullable Object */;
344 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
345 val
* var1
/* : nullable Object */;
346 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
347 val
* var2
/* : nullable Object */;
348 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
349 val
* var3
/* : nullable Object */;
350 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
351 val
* var4
/* : Array[Object] */;
352 val
* var_listnode5
/* var listnode5: Array[Object] */;
353 val
* var_listnode2
/* var listnode2: nullable Object */;
354 short int var5
/* : Bool */;
357 val
* var_listnode3
/* var listnode3: nullable Object */;
358 short int var6
/* : Bool */;
361 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
362 short int var9
/* : Bool */;
365 val
* var12
/* : Array[Object] */;
366 val
* var13
/* : Array[Object] */;
367 short int var14
/* : Bool */;
368 short int var15
/* : Bool */;
369 val
* var_other
/* var other: nullable Object */;
370 short int var17
/* : Bool */;
371 short int var18
/* : Bool */;
372 val
* var_pannotationsnode6
/* var pannotationsnode6: nullable Object */;
373 short int var19
/* : Bool */;
376 val
* var22
/* : ASuperstringExpr */;
377 val
* var_pexprnode1
/* var pexprnode1: nullable ASuperstringExpr */;
378 long var23
/* : Int */;
379 long var24
/* : Int */;
381 var_node_list
= ((val
*)NULL
);
383 var
= nit___nit__Parser___pop(var_p
);
385 var_nodearraylist4
= var
;
387 var1
= nit___nit__Parser___pop(var_p
);
389 var_nodearraylist3
= var1
;
391 var2
= nit___nit__Parser___pop(var_p
);
393 var_nodearraylist2
= var2
;
395 var3
= nit___nit__Parser___pop(var_p
);
397 var_nodearraylist1
= var3
;
398 var4
= NEW_standard__Array(&type_standard__Array__standard__Object
);
400 standard___standard__Array___standard__kernel__Object__init(var4
); /* Direct call array#Array#init on <var4:Array[Object]>*/
402 var_listnode5
= var4
;
403 var_listnode2
= var_nodearraylist1
;
404 /* <var_listnode2:nullable Object> isa Array[Object] */
405 cltype
= type_standard__Array__standard__Object
.color
;
406 idtype
= type_standard__Array__standard__Object
.id
;
407 if(var_listnode2
== NULL
) {
410 if(cltype
>= (((long)var_listnode2
&3)?type_info
[((long)var_listnode2
&3)]:var_listnode2
->type
)->table_size
) {
413 var5
= (((long)var_listnode2
&3)?type_info
[((long)var_listnode2
&3)]:var_listnode2
->type
)->type_table
[cltype
] == idtype
;
416 if (unlikely(!var5
)) {
417 PRINT_ERROR("Runtime error: %s", "Assert failed");
418 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9657);
421 var_listnode3
= var_nodearraylist2
;
422 /* <var_listnode3:nullable Object> isa Array[Object] */
423 cltype7
= type_standard__Array__standard__Object
.color
;
424 idtype8
= type_standard__Array__standard__Object
.id
;
425 if(var_listnode3
== NULL
) {
428 if(cltype7
>= (((long)var_listnode3
&3)?type_info
[((long)var_listnode3
&3)]:var_listnode3
->type
)->table_size
) {
431 var6
= (((long)var_listnode3
&3)?type_info
[((long)var_listnode3
&3)]:var_listnode3
->type
)->type_table
[cltype7
] == idtype8
;
434 if (unlikely(!var6
)) {
435 PRINT_ERROR("Runtime error: %s", "Assert failed");
436 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9659);
439 var_pexprnode4
= var_nodearraylist3
;
440 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
441 cltype10
= type_nullable__nit__AExpr
.color
;
442 idtype11
= type_nullable__nit__AExpr
.id
;
443 if(var_pexprnode4
== NULL
) {
446 if(cltype10
>= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->table_size
) {
449 var9
= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->type_table
[cltype10
] == idtype11
;
452 if (unlikely(!var9
)) {
453 PRINT_ERROR("Runtime error: %s", "Assert failed");
454 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9661);
458 var12
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode5
, var_listnode2
);
460 var_listnode5
= var12
;
462 var13
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode5
, var_listnode3
);
464 var_listnode5
= var13
;
465 if (var_pexprnode4
== NULL
) {
466 var14
= 0; /* is null */
468 var14
= 1; /* arg is null and recv is not */
471 { /* Inline kernel#Object#!= (var_pexprnode4,((val*)NULL)) on <var_pexprnode4:nullable Object(nullable AExpr)> */
472 var_other
= ((val
*)NULL
);
474 var17
= ((short int(*)(val
* self
, val
* p0
))(var_pexprnode4
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_pexprnode4
, var_other
); /* == on <var_pexprnode4:nullable AExpr(AExpr)>*/
485 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode5
, var_pexprnode4
); /* Direct call array#Array#add on <var_listnode5:Array[Object]>*/
489 var_pannotationsnode6
= var_nodearraylist4
;
490 /* <var_pannotationsnode6:nullable Object> isa nullable AAnnotations */
491 cltype20
= type_nullable__nit__AAnnotations
.color
;
492 idtype21
= type_nullable__nit__AAnnotations
.id
;
493 if(var_pannotationsnode6
== NULL
) {
496 if(cltype20
>= (((long)var_pannotationsnode6
&3)?type_info
[((long)var_pannotationsnode6
&3)]:var_pannotationsnode6
->type
)->table_size
) {
499 var19
= (((long)var_pannotationsnode6
&3)?type_info
[((long)var_pannotationsnode6
&3)]:var_pannotationsnode6
->type
)->type_table
[cltype20
] == idtype21
;
502 if (unlikely(!var19
)) {
503 PRINT_ERROR("Runtime error: %s", "Assert failed");
504 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9668);
507 var22
= NEW_nit__ASuperstringExpr(&type_nit__ASuperstringExpr
);
509 nit__parser_prod___ASuperstringExpr___init_asuperstringexpr(var22
, var_listnode5
, var_pannotationsnode6
); /* Direct call parser_prod#ASuperstringExpr#init_asuperstringexpr on <var22:ASuperstringExpr>*/
511 var_pexprnode1
= var22
;
512 var_node_list
= var_pexprnode1
;
513 var23
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction400> */
515 var24
= nit___nit__Parser___go_to(var_p
, var23
);
518 nit___nit__Parser___push(var_p
, var24
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
522 /* method parser#ReduceAction401#action for (self: ReduceAction401, Parser) */
523 void nit__parser___nit__parser__ReduceAction401___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
524 val
* var_p
/* var p: Parser */;
525 val
* var_node_list
/* var node_list: nullable Object */;
526 val
* var
/* : nullable Object */;
527 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
528 val
* var1
/* : nullable Object */;
529 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
530 val
* var2
/* : nullable Object */;
531 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
532 val
* var3
/* : nullable Object */;
533 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
534 val
* var4
/* : Array[Object] */;
535 val
* var_listnode3
/* var listnode3: Array[Object] */;
536 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
537 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
538 short int var5
/* : Bool */;
539 short int var6
/* : Bool */;
540 short int var7
/* : Bool */;
541 short int var8
/* : Bool */;
542 long var9
/* : Int */;
543 long var10
/* : Int */;
545 var_node_list
= ((val
*)NULL
);
547 var
= nit___nit__Parser___pop(var_p
);
549 var_nodearraylist4
= var
;
551 var1
= nit___nit__Parser___pop(var_p
);
553 var_nodearraylist3
= var1
;
555 var2
= nit___nit__Parser___pop(var_p
);
557 var_nodearraylist2
= var2
;
559 var3
= nit___nit__Parser___pop(var_p
);
561 var_nodearraylist1
= var3
;
562 var4
= NEW_standard__Array(&type_standard__Array__standard__Object
);
564 standard___standard__Array___standard__kernel__Object__init(var4
); /* Direct call array#Array#init on <var4:Array[Object]>*/
566 var_listnode3
= var4
;
567 var_pexprnode1
= var_nodearraylist1
;
568 var_pexprnode2
= var_nodearraylist3
;
569 if (var_pexprnode1
== NULL
) {
570 var5
= 0; /* is null */
572 var5
= 1; /* arg is null and recv is not */
575 var6
= ((short int(*)(val
* self
, val
* p0
))((((long)var_pexprnode1
&3)?class_info
[((long)var_pexprnode1
&3)]:var_pexprnode1
->class)->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pexprnode1
, ((val
*)NULL
)); /* != on <var_pexprnode1:nullable Object>*/
580 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_pexprnode1
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
584 if (var_pexprnode2
== NULL
) {
585 var7
= 0; /* is null */
587 var7
= 1; /* arg is null and recv is not */
590 var8
= ((short int(*)(val
* self
, val
* p0
))((((long)var_pexprnode2
&3)?class_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->class)->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pexprnode2
, ((val
*)NULL
)); /* != on <var_pexprnode2:nullable Object>*/
595 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_pexprnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
599 var_node_list
= var_listnode3
;
600 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction401> */
602 var10
= nit___nit__Parser___go_to(var_p
, var9
);
605 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
609 /* method parser#ReduceAction402#action for (self: ReduceAction402, Parser) */
610 void nit__parser___nit__parser__ReduceAction402___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
611 val
* var_p
/* var p: Parser */;
612 val
* var_node_list
/* var node_list: nullable Object */;
613 val
* var
/* : nullable Object */;
614 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
615 val
* var1
/* : nullable Object */;
616 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
617 val
* var2
/* : Array[Object] */;
618 val
* var_listnode2
/* var listnode2: Array[Object] */;
619 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
620 short int var3
/* : Bool */;
621 short int var4
/* : Bool */;
622 long var5
/* : Int */;
623 long var6
/* : Int */;
625 var_node_list
= ((val
*)NULL
);
627 var
= nit___nit__Parser___pop(var_p
);
629 var_nodearraylist2
= var
;
631 var1
= nit___nit__Parser___pop(var_p
);
633 var_nodearraylist1
= var1
;
634 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
636 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
638 var_listnode2
= var2
;
639 var_pexprnode1
= var_nodearraylist1
;
640 if (var_pexprnode1
== NULL
) {
641 var3
= 0; /* is null */
643 var3
= 1; /* arg is null and recv is not */
646 var4
= ((short int(*)(val
* self
, val
* p0
))((((long)var_pexprnode1
&3)?class_info
[((long)var_pexprnode1
&3)]:var_pexprnode1
->class)->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pexprnode1
, ((val
*)NULL
)); /* != on <var_pexprnode1:nullable Object>*/
651 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2
, var_pexprnode1
); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
655 var_node_list
= var_listnode2
;
656 var5
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction402> */
658 var6
= nit___nit__Parser___go_to(var_p
, var5
);
661 nit___nit__Parser___push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
665 /* method parser#ReduceAction403#action for (self: ReduceAction403, Parser) */
666 void nit__parser___nit__parser__ReduceAction403___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
667 val
* var_p
/* var p: Parser */;
668 val
* var_node_list
/* var node_list: nullable Object */;
669 val
* var
/* : nullable Object */;
670 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
671 val
* var_tstartstringnode2
/* var tstartstringnode2: nullable Object */;
672 short int var1
/* : Bool */;
675 val
* var2
/* : AStartStringExpr */;
676 val
* var_pexprnode1
/* var pexprnode1: nullable AStartStringExpr */;
677 long var3
/* : Int */;
678 long var4
/* : Int */;
680 var_node_list
= ((val
*)NULL
);
682 var
= nit___nit__Parser___pop(var_p
);
684 var_nodearraylist1
= var
;
685 var_tstartstringnode2
= var_nodearraylist1
;
686 /* <var_tstartstringnode2:nullable Object> isa nullable TStartString */
687 cltype
= type_nullable__nit__TStartString
.color
;
688 idtype
= type_nullable__nit__TStartString
.id
;
689 if(var_tstartstringnode2
== NULL
) {
692 if(cltype
>= (((long)var_tstartstringnode2
&3)?type_info
[((long)var_tstartstringnode2
&3)]:var_tstartstringnode2
->type
)->table_size
) {
695 var1
= (((long)var_tstartstringnode2
&3)?type_info
[((long)var_tstartstringnode2
&3)]:var_tstartstringnode2
->type
)->type_table
[cltype
] == idtype
;
698 if (unlikely(!var1
)) {
699 PRINT_ERROR("Runtime error: %s", "Assert failed");
700 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9722);
703 var2
= NEW_nit__AStartStringExpr(&type_nit__AStartStringExpr
);
705 nit__parser_prod___AStartStringExpr___init_astartstringexpr(var2
, var_tstartstringnode2
); /* Direct call parser_prod#AStartStringExpr#init_astartstringexpr on <var2:AStartStringExpr>*/
707 var_pexprnode1
= var2
;
708 var_node_list
= var_pexprnode1
;
709 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction403> */
711 var4
= nit___nit__Parser___go_to(var_p
, var3
);
714 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
718 /* method parser#ReduceAction406#action for (self: ReduceAction406, Parser) */
719 void nit__parser___nit__parser__ReduceAction406___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
720 val
* var_p
/* var p: Parser */;
721 val
* var_node_list
/* var node_list: nullable Object */;
722 val
* var
/* : nullable Object */;
723 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
724 val
* var_tmidstringnode2
/* var tmidstringnode2: nullable Object */;
725 short int var1
/* : Bool */;
728 val
* var2
/* : AMidStringExpr */;
729 val
* var_pexprnode1
/* var pexprnode1: nullable AMidStringExpr */;
730 long var3
/* : Int */;
731 long var4
/* : Int */;
733 var_node_list
= ((val
*)NULL
);
735 var
= nit___nit__Parser___pop(var_p
);
737 var_nodearraylist1
= var
;
738 var_tmidstringnode2
= var_nodearraylist1
;
739 /* <var_tmidstringnode2:nullable Object> isa nullable TMidString */
740 cltype
= type_nullable__nit__TMidString
.color
;
741 idtype
= type_nullable__nit__TMidString
.id
;
742 if(var_tmidstringnode2
== NULL
) {
745 if(cltype
>= (((long)var_tmidstringnode2
&3)?type_info
[((long)var_tmidstringnode2
&3)]:var_tmidstringnode2
->type
)->table_size
) {
748 var1
= (((long)var_tmidstringnode2
&3)?type_info
[((long)var_tmidstringnode2
&3)]:var_tmidstringnode2
->type
)->type_table
[cltype
] == idtype
;
751 if (unlikely(!var1
)) {
752 PRINT_ERROR("Runtime error: %s", "Assert failed");
753 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9737);
756 var2
= NEW_nit__AMidStringExpr(&type_nit__AMidStringExpr
);
758 nit__parser_prod___AMidStringExpr___init_amidstringexpr(var2
, var_tmidstringnode2
); /* Direct call parser_prod#AMidStringExpr#init_amidstringexpr on <var2:AMidStringExpr>*/
760 var_pexprnode1
= var2
;
761 var_node_list
= var_pexprnode1
;
762 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction406> */
764 var4
= nit___nit__Parser___go_to(var_p
, var3
);
767 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
771 /* method parser#ReduceAction407#action for (self: ReduceAction407, Parser) */
772 void nit__parser___nit__parser__ReduceAction407___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
773 val
* var_p
/* var p: Parser */;
774 val
* var_node_list
/* var node_list: nullable Object */;
775 val
* var
/* : nullable Object */;
776 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
777 val
* var_tendstringnode2
/* var tendstringnode2: nullable Object */;
778 short int var1
/* : Bool */;
781 val
* var2
/* : AEndStringExpr */;
782 val
* var_pexprnode1
/* var pexprnode1: nullable AEndStringExpr */;
783 long var3
/* : Int */;
784 long var4
/* : Int */;
786 var_node_list
= ((val
*)NULL
);
788 var
= nit___nit__Parser___pop(var_p
);
790 var_nodearraylist1
= var
;
791 var_tendstringnode2
= var_nodearraylist1
;
792 /* <var_tendstringnode2:nullable Object> isa nullable TEndString */
793 cltype
= type_nullable__nit__TEndString
.color
;
794 idtype
= type_nullable__nit__TEndString
.id
;
795 if(var_tendstringnode2
== NULL
) {
798 if(cltype
>= (((long)var_tendstringnode2
&3)?type_info
[((long)var_tendstringnode2
&3)]:var_tendstringnode2
->type
)->table_size
) {
801 var1
= (((long)var_tendstringnode2
&3)?type_info
[((long)var_tendstringnode2
&3)]:var_tendstringnode2
->type
)->type_table
[cltype
] == idtype
;
804 if (unlikely(!var1
)) {
805 PRINT_ERROR("Runtime error: %s", "Assert failed");
806 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9752);
809 var2
= NEW_nit__AEndStringExpr(&type_nit__AEndStringExpr
);
811 nit__parser_prod___AEndStringExpr___init_aendstringexpr(var2
, var_tendstringnode2
); /* Direct call parser_prod#AEndStringExpr#init_aendstringexpr on <var2:AEndStringExpr>*/
813 var_pexprnode1
= var2
;
814 var_node_list
= var_pexprnode1
;
815 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction407> */
817 var4
= nit___nit__Parser___go_to(var_p
, var3
);
820 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
824 /* method parser#ReduceAction408#action for (self: ReduceAction408, Parser) */
825 void nit__parser___nit__parser__ReduceAction408___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
826 val
* var_p
/* var p: Parser */;
827 val
* var_node_list
/* var node_list: nullable Object */;
828 val
* var
/* : nullable Object */;
829 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
830 val
* var1
/* : nullable Object */;
831 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
832 val
* var2
/* : Array[Object] */;
833 val
* var_listnode6
/* var listnode6: Array[Object] */;
834 val
* var_tatnode3
/* var tatnode3: nullable Object */;
835 short int var3
/* : Bool */;
838 val
* var_pannotationnode5
/* var pannotationnode5: nullable Object */;
839 short int var4
/* : Bool */;
842 short int var7
/* : Bool */;
843 short int var8
/* : Bool */;
844 val
* var_other
/* var other: nullable Object */;
845 short int var10
/* : Bool */;
846 short int var11
/* : Bool */;
847 val
* var12
/* : AAnnotations */;
848 val
* var_pannotationsnode1
/* var pannotationsnode1: nullable AAnnotations */;
849 long var13
/* : Int */;
850 long var14
/* : Int */;
852 var_node_list
= ((val
*)NULL
);
854 var
= nit___nit__Parser___pop(var_p
);
856 var_nodearraylist2
= var
;
858 var1
= nit___nit__Parser___pop(var_p
);
860 var_nodearraylist1
= var1
;
861 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
863 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
865 var_listnode6
= var2
;
866 var_tatnode3
= var_nodearraylist1
;
867 /* <var_tatnode3:nullable Object> isa nullable TAt */
868 cltype
= type_nullable__nit__TAt
.color
;
869 idtype
= type_nullable__nit__TAt
.id
;
870 if(var_tatnode3
== NULL
) {
873 if(cltype
>= (((long)var_tatnode3
&3)?type_info
[((long)var_tatnode3
&3)]:var_tatnode3
->type
)->table_size
) {
876 var3
= (((long)var_tatnode3
&3)?type_info
[((long)var_tatnode3
&3)]:var_tatnode3
->type
)->type_table
[cltype
] == idtype
;
879 if (unlikely(!var3
)) {
880 PRINT_ERROR("Runtime error: %s", "Assert failed");
881 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9769);
884 var_pannotationnode5
= var_nodearraylist2
;
885 /* <var_pannotationnode5:nullable Object> isa nullable AAnnotation */
886 cltype5
= type_nullable__nit__AAnnotation
.color
;
887 idtype6
= type_nullable__nit__AAnnotation
.id
;
888 if(var_pannotationnode5
== NULL
) {
891 if(cltype5
>= (((long)var_pannotationnode5
&3)?type_info
[((long)var_pannotationnode5
&3)]:var_pannotationnode5
->type
)->table_size
) {
894 var4
= (((long)var_pannotationnode5
&3)?type_info
[((long)var_pannotationnode5
&3)]:var_pannotationnode5
->type
)->type_table
[cltype5
] == idtype6
;
897 if (unlikely(!var4
)) {
898 PRINT_ERROR("Runtime error: %s", "Assert failed");
899 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9771);
902 if (var_pannotationnode5
== NULL
) {
903 var7
= 0; /* is null */
905 var7
= 1; /* arg is null and recv is not */
908 { /* Inline kernel#Object#!= (var_pannotationnode5,((val*)NULL)) on <var_pannotationnode5:nullable Object(nullable AAnnotation)> */
909 var_other
= ((val
*)NULL
);
911 var10
= ((short int(*)(val
* self
, val
* p0
))(var_pannotationnode5
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_pannotationnode5
, var_other
); /* == on <var_pannotationnode5:nullable AAnnotation(AAnnotation)>*/
922 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode6
, var_pannotationnode5
); /* Direct call array#Array#add on <var_listnode6:Array[Object]>*/
926 var12
= NEW_nit__AAnnotations(&type_nit__AAnnotations
);
928 nit__parser_prod___AAnnotations___init_aannotations(var12
, ((val
*)NULL
), var_tatnode3
, ((val
*)NULL
), var_listnode6
, ((val
*)NULL
), ((val
*)NULL
)); /* Direct call parser_prod#AAnnotations#init_aannotations on <var12:AAnnotations>*/
930 var_pannotationsnode1
= var12
;
931 var_node_list
= var_pannotationsnode1
;
932 var13
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction408> */
934 var14
= nit___nit__Parser___go_to(var_p
, var13
);
937 nit___nit__Parser___push(var_p
, var14
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
941 /* method parser#ReduceAction409#action for (self: ReduceAction409, Parser) */
942 void nit__parser___nit__parser__ReduceAction409___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
943 val
* var_p
/* var p: Parser */;
944 val
* var_node_list
/* var node_list: nullable Object */;
945 val
* var
/* : nullable Object */;
946 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
947 val
* var1
/* : nullable Object */;
948 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
949 val
* var2
/* : nullable Object */;
950 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
951 val
* var3
/* : nullable Object */;
952 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
953 val
* var4
/* : nullable Object */;
954 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
955 val
* var5
/* : nullable Object */;
956 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
957 val
* var6
/* : Array[Object] */;
958 val
* var_listnode6
/* var listnode6: Array[Object] */;
959 val
* var_tatnode3
/* var tatnode3: nullable Object */;
960 short int var7
/* : Bool */;
963 val
* var_toparnode4
/* var toparnode4: nullable Object */;
964 short int var8
/* : Bool */;
967 val
* var_listnode5
/* var listnode5: nullable Object */;
968 short int var11
/* : Bool */;
971 val
* var14
/* : Array[Object] */;
972 val
* var_tcparnode7
/* var tcparnode7: nullable Object */;
973 short int var15
/* : Bool */;
976 val
* var18
/* : AAnnotations */;
977 val
* var_pannotationsnode1
/* var pannotationsnode1: nullable AAnnotations */;
978 long var19
/* : Int */;
979 long var20
/* : Int */;
981 var_node_list
= ((val
*)NULL
);
983 var
= nit___nit__Parser___pop(var_p
);
985 var_nodearraylist6
= var
;
987 var1
= nit___nit__Parser___pop(var_p
);
989 var_nodearraylist5
= var1
;
991 var2
= nit___nit__Parser___pop(var_p
);
993 var_nodearraylist4
= var2
;
995 var3
= nit___nit__Parser___pop(var_p
);
997 var_nodearraylist3
= var3
;
999 var4
= nit___nit__Parser___pop(var_p
);
1001 var_nodearraylist2
= var4
;
1003 var5
= nit___nit__Parser___pop(var_p
);
1005 var_nodearraylist1
= var5
;
1006 var6
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1008 standard___standard__Array___standard__kernel__Object__init(var6
); /* Direct call array#Array#init on <var6:Array[Object]>*/
1010 var_listnode6
= var6
;
1011 var_tatnode3
= var_nodearraylist1
;
1012 /* <var_tatnode3:nullable Object> isa nullable TAt */
1013 cltype
= type_nullable__nit__TAt
.color
;
1014 idtype
= type_nullable__nit__TAt
.id
;
1015 if(var_tatnode3
== NULL
) {
1018 if(cltype
>= (((long)var_tatnode3
&3)?type_info
[((long)var_tatnode3
&3)]:var_tatnode3
->type
)->table_size
) {
1021 var7
= (((long)var_tatnode3
&3)?type_info
[((long)var_tatnode3
&3)]:var_tatnode3
->type
)->type_table
[cltype
] == idtype
;
1024 if (unlikely(!var7
)) {
1025 PRINT_ERROR("Runtime error: %s", "Assert failed");
1026 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9800);
1029 var_toparnode4
= var_nodearraylist2
;
1030 /* <var_toparnode4:nullable Object> isa nullable TOpar */
1031 cltype9
= type_nullable__nit__TOpar
.color
;
1032 idtype10
= type_nullable__nit__TOpar
.id
;
1033 if(var_toparnode4
== NULL
) {
1036 if(cltype9
>= (((long)var_toparnode4
&3)?type_info
[((long)var_toparnode4
&3)]:var_toparnode4
->type
)->table_size
) {
1039 var8
= (((long)var_toparnode4
&3)?type_info
[((long)var_toparnode4
&3)]:var_toparnode4
->type
)->type_table
[cltype9
] == idtype10
;
1042 if (unlikely(!var8
)) {
1043 PRINT_ERROR("Runtime error: %s", "Assert failed");
1044 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9802);
1047 var_listnode5
= var_nodearraylist4
;
1048 /* <var_listnode5:nullable Object> isa Array[Object] */
1049 cltype12
= type_standard__Array__standard__Object
.color
;
1050 idtype13
= type_standard__Array__standard__Object
.id
;
1051 if(var_listnode5
== NULL
) {
1054 if(cltype12
>= (((long)var_listnode5
&3)?type_info
[((long)var_listnode5
&3)]:var_listnode5
->type
)->table_size
) {
1057 var11
= (((long)var_listnode5
&3)?type_info
[((long)var_listnode5
&3)]:var_listnode5
->type
)->type_table
[cltype12
] == idtype13
;
1060 if (unlikely(!var11
)) {
1061 PRINT_ERROR("Runtime error: %s", "Assert failed");
1062 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9804);
1066 var14
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode6
, var_listnode5
);
1068 var_listnode6
= var14
;
1069 var_tcparnode7
= var_nodearraylist6
;
1070 /* <var_tcparnode7:nullable Object> isa nullable TCpar */
1071 cltype16
= type_nullable__nit__TCpar
.color
;
1072 idtype17
= type_nullable__nit__TCpar
.id
;
1073 if(var_tcparnode7
== NULL
) {
1076 if(cltype16
>= (((long)var_tcparnode7
&3)?type_info
[((long)var_tcparnode7
&3)]:var_tcparnode7
->type
)->table_size
) {
1079 var15
= (((long)var_tcparnode7
&3)?type_info
[((long)var_tcparnode7
&3)]:var_tcparnode7
->type
)->type_table
[cltype16
] == idtype17
;
1082 if (unlikely(!var15
)) {
1083 PRINT_ERROR("Runtime error: %s", "Assert failed");
1084 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9807);
1087 var18
= NEW_nit__AAnnotations(&type_nit__AAnnotations
);
1089 nit__parser_prod___AAnnotations___init_aannotations(var18
, ((val
*)NULL
), var_tatnode3
, var_toparnode4
, var_listnode6
, var_tcparnode7
, ((val
*)NULL
)); /* Direct call parser_prod#AAnnotations#init_aannotations on <var18:AAnnotations>*/
1091 var_pannotationsnode1
= var18
;
1092 var_node_list
= var_pannotationsnode1
;
1093 var19
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction409> */
1095 var20
= nit___nit__Parser___go_to(var_p
, var19
);
1098 nit___nit__Parser___push(var_p
, var20
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1102 /* method parser#ReduceAction410#action for (self: ReduceAction410, Parser) */
1103 void nit__parser___nit__parser__ReduceAction410___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1104 val
* var_p
/* var p: Parser */;
1105 val
* var_node_list
/* var node_list: nullable Object */;
1106 val
* var
/* : nullable Object */;
1107 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1108 val
* var_pannotationsnode1
/* var pannotationsnode1: nullable Object */;
1109 long var1
/* : Int */;
1110 long var2
/* : Int */;
1112 var_node_list
= ((val
*)NULL
);
1114 var
= nit___nit__Parser___pop(var_p
);
1116 var_nodearraylist1
= var
;
1117 var_pannotationsnode1
= var_nodearraylist1
;
1118 var_node_list
= var_pannotationsnode1
;
1119 var1
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction410> */
1121 var2
= nit___nit__Parser___go_to(var_p
, var1
);
1124 nit___nit__Parser___push(var_p
, var2
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1128 /* method parser#ReduceAction412#action for (self: ReduceAction412, Parser) */
1129 void nit__parser___nit__parser__ReduceAction412___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1130 val
* var_p
/* var p: Parser */;
1131 val
* var_node_list
/* var node_list: nullable Object */;
1132 val
* var
/* : nullable Object */;
1133 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1134 val
* var1
/* : nullable Object */;
1135 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1136 val
* var2
/* : nullable Object */;
1137 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1138 val
* var3
/* : nullable Object */;
1139 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1140 val
* var4
/* : Array[Object] */;
1141 val
* var_listnode7
/* var listnode7: Array[Object] */;
1142 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
1143 short int var5
/* : Bool */;
1146 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
1147 short int var6
/* : Bool */;
1150 val
* var_patidnode5
/* var patidnode5: nullable Object */;
1151 short int var9
/* : Bool */;
1154 val
* var_pannotationsnode9
/* var pannotationsnode9: nullable Object */;
1155 short int var12
/* : Bool */;
1158 val
* var15
/* : AAnnotation */;
1159 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
1160 long var16
/* : Int */;
1161 long var17
/* : Int */;
1163 var_node_list
= ((val
*)NULL
);
1165 var
= nit___nit__Parser___pop(var_p
);
1167 var_nodearraylist4
= var
;
1169 var1
= nit___nit__Parser___pop(var_p
);
1171 var_nodearraylist3
= var1
;
1173 var2
= nit___nit__Parser___pop(var_p
);
1175 var_nodearraylist2
= var2
;
1177 var3
= nit___nit__Parser___pop(var_p
);
1179 var_nodearraylist1
= var3
;
1180 var4
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1182 standard___standard__Array___standard__kernel__Object__init(var4
); /* Direct call array#Array#init on <var4:Array[Object]>*/
1184 var_listnode7
= var4
;
1185 var_tkwredefnode3
= var_nodearraylist1
;
1186 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1187 cltype
= type_nullable__nit__TKwredef
.color
;
1188 idtype
= type_nullable__nit__TKwredef
.id
;
1189 if(var_tkwredefnode3
== NULL
) {
1192 if(cltype
>= (((long)var_tkwredefnode3
&3)?type_info
[((long)var_tkwredefnode3
&3)]:var_tkwredefnode3
->type
)->table_size
) {
1195 var5
= (((long)var_tkwredefnode3
&3)?type_info
[((long)var_tkwredefnode3
&3)]:var_tkwredefnode3
->type
)->type_table
[cltype
] == idtype
;
1198 if (unlikely(!var5
)) {
1199 PRINT_ERROR("Runtime error: %s", "Assert failed");
1200 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9842);
1203 var_pvisibilitynode4
= var_nodearraylist2
;
1204 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1205 cltype7
= type_nullable__nit__AVisibility
.color
;
1206 idtype8
= type_nullable__nit__AVisibility
.id
;
1207 if(var_pvisibilitynode4
== NULL
) {
1210 if(cltype7
>= (((long)var_pvisibilitynode4
&3)?type_info
[((long)var_pvisibilitynode4
&3)]:var_pvisibilitynode4
->type
)->table_size
) {
1213 var6
= (((long)var_pvisibilitynode4
&3)?type_info
[((long)var_pvisibilitynode4
&3)]:var_pvisibilitynode4
->type
)->type_table
[cltype7
] == idtype8
;
1216 if (unlikely(!var6
)) {
1217 PRINT_ERROR("Runtime error: %s", "Assert failed");
1218 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9844);
1221 var_patidnode5
= var_nodearraylist3
;
1222 /* <var_patidnode5:nullable Object> isa nullable AAtid */
1223 cltype10
= type_nullable__nit__AAtid
.color
;
1224 idtype11
= type_nullable__nit__AAtid
.id
;
1225 if(var_patidnode5
== NULL
) {
1228 if(cltype10
>= (((long)var_patidnode5
&3)?type_info
[((long)var_patidnode5
&3)]:var_patidnode5
->type
)->table_size
) {
1231 var9
= (((long)var_patidnode5
&3)?type_info
[((long)var_patidnode5
&3)]:var_patidnode5
->type
)->type_table
[cltype10
] == idtype11
;
1234 if (unlikely(!var9
)) {
1235 PRINT_ERROR("Runtime error: %s", "Assert failed");
1236 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9846);
1239 var_pannotationsnode9
= var_nodearraylist4
;
1240 /* <var_pannotationsnode9:nullable Object> isa nullable AAnnotations */
1241 cltype13
= type_nullable__nit__AAnnotations
.color
;
1242 idtype14
= type_nullable__nit__AAnnotations
.id
;
1243 if(var_pannotationsnode9
== NULL
) {
1246 if(cltype13
>= (((long)var_pannotationsnode9
&3)?type_info
[((long)var_pannotationsnode9
&3)]:var_pannotationsnode9
->type
)->table_size
) {
1249 var12
= (((long)var_pannotationsnode9
&3)?type_info
[((long)var_pannotationsnode9
&3)]:var_pannotationsnode9
->type
)->type_table
[cltype13
] == idtype14
;
1252 if (unlikely(!var12
)) {
1253 PRINT_ERROR("Runtime error: %s", "Assert failed");
1254 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9848);
1257 var15
= NEW_nit__AAnnotation(&type_nit__AAnnotation
);
1259 nit__parser_prod___AAnnotation___init_aannotation(var15
, ((val
*)NULL
), var_tkwredefnode3
, var_pvisibilitynode4
, var_patidnode5
, ((val
*)NULL
), var_listnode7
, ((val
*)NULL
), var_pannotationsnode9
); /* Direct call parser_prod#AAnnotation#init_aannotation on <var15:AAnnotation>*/
1261 var_pannotationnode1
= var15
;
1262 var_node_list
= var_pannotationnode1
;
1263 var16
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction412> */
1265 var17
= nit___nit__Parser___go_to(var_p
, var16
);
1268 nit___nit__Parser___push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1272 /* method parser#ReduceAction413#action for (self: ReduceAction413, Parser) */
1273 void nit__parser___nit__parser__ReduceAction413___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1274 val
* var_p
/* var p: Parser */;
1275 val
* var_node_list
/* var node_list: nullable Object */;
1276 val
* var
/* : nullable Object */;
1277 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
1278 val
* var1
/* : nullable Object */;
1279 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
1280 val
* var2
/* : nullable Object */;
1281 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
1282 val
* var3
/* : nullable Object */;
1283 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
1284 val
* var4
/* : nullable Object */;
1285 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1286 val
* var5
/* : nullable Object */;
1287 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1288 val
* var6
/* : nullable Object */;
1289 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1290 val
* var7
/* : nullable Object */;
1291 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1292 val
* var8
/* : nullable Object */;
1293 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1294 val
* var9
/* : Array[Object] */;
1295 val
* var_listnode8
/* var listnode8: Array[Object] */;
1296 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
1297 short int var10
/* : Bool */;
1300 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
1301 short int var11
/* : Bool */;
1304 val
* var_patidnode5
/* var patidnode5: nullable Object */;
1305 short int var14
/* : Bool */;
1308 val
* var_toparnode6
/* var toparnode6: nullable Object */;
1309 short int var17
/* : Bool */;
1312 val
* var_listnode7
/* var listnode7: nullable Object */;
1313 short int var20
/* : Bool */;
1316 val
* var23
/* : Array[Object] */;
1317 val
* var_tcparnode9
/* var tcparnode9: nullable Object */;
1318 short int var24
/* : Bool */;
1321 val
* var_pannotationsnode10
/* var pannotationsnode10: nullable Object */;
1322 short int var27
/* : Bool */;
1325 val
* var30
/* : AAnnotation */;
1326 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
1327 long var31
/* : Int */;
1328 long var32
/* : Int */;
1330 var_node_list
= ((val
*)NULL
);
1332 var
= nit___nit__Parser___pop(var_p
);
1334 var_nodearraylist9
= var
;
1336 var1
= nit___nit__Parser___pop(var_p
);
1338 var_nodearraylist8
= var1
;
1340 var2
= nit___nit__Parser___pop(var_p
);
1342 var_nodearraylist7
= var2
;
1344 var3
= nit___nit__Parser___pop(var_p
);
1346 var_nodearraylist6
= var3
;
1348 var4
= nit___nit__Parser___pop(var_p
);
1350 var_nodearraylist5
= var4
;
1352 var5
= nit___nit__Parser___pop(var_p
);
1354 var_nodearraylist4
= var5
;
1356 var6
= nit___nit__Parser___pop(var_p
);
1358 var_nodearraylist3
= var6
;
1360 var7
= nit___nit__Parser___pop(var_p
);
1362 var_nodearraylist2
= var7
;
1364 var8
= nit___nit__Parser___pop(var_p
);
1366 var_nodearraylist1
= var8
;
1367 var9
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1369 standard___standard__Array___standard__kernel__Object__init(var9
); /* Direct call array#Array#init on <var9:Array[Object]>*/
1371 var_listnode8
= var9
;
1372 var_tkwredefnode3
= var_nodearraylist1
;
1373 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1374 cltype
= type_nullable__nit__TKwredef
.color
;
1375 idtype
= type_nullable__nit__TKwredef
.id
;
1376 if(var_tkwredefnode3
== NULL
) {
1379 if(cltype
>= (((long)var_tkwredefnode3
&3)?type_info
[((long)var_tkwredefnode3
&3)]:var_tkwredefnode3
->type
)->table_size
) {
1382 var10
= (((long)var_tkwredefnode3
&3)?type_info
[((long)var_tkwredefnode3
&3)]:var_tkwredefnode3
->type
)->type_table
[cltype
] == idtype
;
1385 if (unlikely(!var10
)) {
1386 PRINT_ERROR("Runtime error: %s", "Assert failed");
1387 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9879);
1390 var_pvisibilitynode4
= var_nodearraylist2
;
1391 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1392 cltype12
= type_nullable__nit__AVisibility
.color
;
1393 idtype13
= type_nullable__nit__AVisibility
.id
;
1394 if(var_pvisibilitynode4
== NULL
) {
1397 if(cltype12
>= (((long)var_pvisibilitynode4
&3)?type_info
[((long)var_pvisibilitynode4
&3)]:var_pvisibilitynode4
->type
)->table_size
) {
1400 var11
= (((long)var_pvisibilitynode4
&3)?type_info
[((long)var_pvisibilitynode4
&3)]:var_pvisibilitynode4
->type
)->type_table
[cltype12
] == idtype13
;
1403 if (unlikely(!var11
)) {
1404 PRINT_ERROR("Runtime error: %s", "Assert failed");
1405 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9881);
1408 var_patidnode5
= var_nodearraylist3
;
1409 /* <var_patidnode5:nullable Object> isa nullable AAtid */
1410 cltype15
= type_nullable__nit__AAtid
.color
;
1411 idtype16
= type_nullable__nit__AAtid
.id
;
1412 if(var_patidnode5
== NULL
) {
1415 if(cltype15
>= (((long)var_patidnode5
&3)?type_info
[((long)var_patidnode5
&3)]:var_patidnode5
->type
)->table_size
) {
1418 var14
= (((long)var_patidnode5
&3)?type_info
[((long)var_patidnode5
&3)]:var_patidnode5
->type
)->type_table
[cltype15
] == idtype16
;
1421 if (unlikely(!var14
)) {
1422 PRINT_ERROR("Runtime error: %s", "Assert failed");
1423 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9883);
1426 var_toparnode6
= var_nodearraylist4
;
1427 /* <var_toparnode6:nullable Object> isa nullable TOpar */
1428 cltype18
= type_nullable__nit__TOpar
.color
;
1429 idtype19
= type_nullable__nit__TOpar
.id
;
1430 if(var_toparnode6
== NULL
) {
1433 if(cltype18
>= (((long)var_toparnode6
&3)?type_info
[((long)var_toparnode6
&3)]:var_toparnode6
->type
)->table_size
) {
1436 var17
= (((long)var_toparnode6
&3)?type_info
[((long)var_toparnode6
&3)]:var_toparnode6
->type
)->type_table
[cltype18
] == idtype19
;
1439 if (unlikely(!var17
)) {
1440 PRINT_ERROR("Runtime error: %s", "Assert failed");
1441 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9885);
1444 var_listnode7
= var_nodearraylist6
;
1445 /* <var_listnode7:nullable Object> isa Array[Object] */
1446 cltype21
= type_standard__Array__standard__Object
.color
;
1447 idtype22
= type_standard__Array__standard__Object
.id
;
1448 if(var_listnode7
== NULL
) {
1451 if(cltype21
>= (((long)var_listnode7
&3)?type_info
[((long)var_listnode7
&3)]:var_listnode7
->type
)->table_size
) {
1454 var20
= (((long)var_listnode7
&3)?type_info
[((long)var_listnode7
&3)]:var_listnode7
->type
)->type_table
[cltype21
] == idtype22
;
1457 if (unlikely(!var20
)) {
1458 PRINT_ERROR("Runtime error: %s", "Assert failed");
1459 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9887);
1463 var23
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode8
, var_listnode7
);
1465 var_listnode8
= var23
;
1466 var_tcparnode9
= var_nodearraylist8
;
1467 /* <var_tcparnode9:nullable Object> isa nullable TCpar */
1468 cltype25
= type_nullable__nit__TCpar
.color
;
1469 idtype26
= type_nullable__nit__TCpar
.id
;
1470 if(var_tcparnode9
== NULL
) {
1473 if(cltype25
>= (((long)var_tcparnode9
&3)?type_info
[((long)var_tcparnode9
&3)]:var_tcparnode9
->type
)->table_size
) {
1476 var24
= (((long)var_tcparnode9
&3)?type_info
[((long)var_tcparnode9
&3)]:var_tcparnode9
->type
)->type_table
[cltype25
] == idtype26
;
1479 if (unlikely(!var24
)) {
1480 PRINT_ERROR("Runtime error: %s", "Assert failed");
1481 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9890);
1484 var_pannotationsnode10
= var_nodearraylist9
;
1485 /* <var_pannotationsnode10:nullable Object> isa nullable AAnnotations */
1486 cltype28
= type_nullable__nit__AAnnotations
.color
;
1487 idtype29
= type_nullable__nit__AAnnotations
.id
;
1488 if(var_pannotationsnode10
== NULL
) {
1491 if(cltype28
>= (((long)var_pannotationsnode10
&3)?type_info
[((long)var_pannotationsnode10
&3)]:var_pannotationsnode10
->type
)->table_size
) {
1494 var27
= (((long)var_pannotationsnode10
&3)?type_info
[((long)var_pannotationsnode10
&3)]:var_pannotationsnode10
->type
)->type_table
[cltype28
] == idtype29
;
1497 if (unlikely(!var27
)) {
1498 PRINT_ERROR("Runtime error: %s", "Assert failed");
1499 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9892);
1502 var30
= NEW_nit__AAnnotation(&type_nit__AAnnotation
);
1504 nit__parser_prod___AAnnotation___init_aannotation(var30
, ((val
*)NULL
), var_tkwredefnode3
, var_pvisibilitynode4
, var_patidnode5
, var_toparnode6
, var_listnode8
, var_tcparnode9
, var_pannotationsnode10
); /* Direct call parser_prod#AAnnotation#init_aannotation on <var30:AAnnotation>*/
1506 var_pannotationnode1
= var30
;
1507 var_node_list
= var_pannotationnode1
;
1508 var31
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction413> */
1510 var32
= nit___nit__Parser___go_to(var_p
, var31
);
1513 nit___nit__Parser___push(var_p
, var32
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1517 /* method parser#ReduceAction414#action for (self: ReduceAction414, Parser) */
1518 void nit__parser___nit__parser__ReduceAction414___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1519 val
* var_p
/* var p: Parser */;
1520 val
* var_node_list
/* var node_list: nullable Object */;
1521 val
* var
/* : nullable Object */;
1522 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1523 val
* var1
/* : Array[Object] */;
1524 val
* var_listnode2
/* var listnode2: Array[Object] */;
1525 val
* var_pannotationnode1
/* var pannotationnode1: nullable Object */;
1526 short int var2
/* : Bool */;
1527 short int var3
/* : Bool */;
1528 long var4
/* : Int */;
1529 long var5
/* : Int */;
1531 var_node_list
= ((val
*)NULL
);
1533 var
= nit___nit__Parser___pop(var_p
);
1535 var_nodearraylist1
= var
;
1536 var1
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1538 standard___standard__Array___standard__kernel__Object__init(var1
); /* Direct call array#Array#init on <var1:Array[Object]>*/
1540 var_listnode2
= var1
;
1541 var_pannotationnode1
= var_nodearraylist1
;
1542 if (var_pannotationnode1
== NULL
) {
1543 var2
= 0; /* is null */
1545 var2
= 1; /* arg is null and recv is not */
1548 var3
= ((short int(*)(val
* self
, val
* p0
))((((long)var_pannotationnode1
&3)?class_info
[((long)var_pannotationnode1
&3)]:var_pannotationnode1
->class)->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pannotationnode1
, ((val
*)NULL
)); /* != on <var_pannotationnode1:nullable Object>*/
1553 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2
, var_pannotationnode1
); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
1557 var_node_list
= var_listnode2
;
1558 var4
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction414> */
1560 var5
= nit___nit__Parser___go_to(var_p
, var4
);
1563 nit___nit__Parser___push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1567 /* method parser#ReduceAction415#action for (self: ReduceAction415, Parser) */
1568 void nit__parser___nit__parser__ReduceAction415___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1569 val
* var_p
/* var p: Parser */;
1570 val
* var_node_list
/* var node_list: nullable Object */;
1571 val
* var
/* : nullable Object */;
1572 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1573 val
* var1
/* : nullable Object */;
1574 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1575 val
* var2
/* : Array[Object] */;
1576 val
* var_listnode3
/* var listnode3: Array[Object] */;
1577 val
* var_pannotationnode1
/* var pannotationnode1: nullable Object */;
1578 val
* var_listnode2
/* var listnode2: nullable Object */;
1579 short int var3
/* : Bool */;
1582 short int var4
/* : Bool */;
1583 short int var5
/* : Bool */;
1584 val
* var6
/* : Array[Object] */;
1585 long var7
/* : Int */;
1586 long var8
/* : Int */;
1588 var_node_list
= ((val
*)NULL
);
1590 var
= nit___nit__Parser___pop(var_p
);
1592 var_nodearraylist2
= var
;
1594 var1
= nit___nit__Parser___pop(var_p
);
1596 var_nodearraylist1
= var1
;
1597 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1599 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
1601 var_listnode3
= var2
;
1602 var_pannotationnode1
= var_nodearraylist1
;
1603 var_listnode2
= var_nodearraylist2
;
1604 /* <var_listnode2:nullable Object> isa Array[Object] */
1605 cltype
= type_standard__Array__standard__Object
.color
;
1606 idtype
= type_standard__Array__standard__Object
.id
;
1607 if(var_listnode2
== NULL
) {
1610 if(cltype
>= (((long)var_listnode2
&3)?type_info
[((long)var_listnode2
&3)]:var_listnode2
->type
)->table_size
) {
1613 var3
= (((long)var_listnode2
&3)?type_info
[((long)var_listnode2
&3)]:var_listnode2
->type
)->type_table
[cltype
] == idtype
;
1616 if (unlikely(!var3
)) {
1617 PRINT_ERROR("Runtime error: %s", "Assert failed");
1618 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9932);
1621 if (var_pannotationnode1
== NULL
) {
1622 var4
= 0; /* is null */
1624 var4
= 1; /* arg is null and recv is not */
1627 var5
= ((short int(*)(val
* self
, val
* p0
))((((long)var_pannotationnode1
&3)?class_info
[((long)var_pannotationnode1
&3)]:var_pannotationnode1
->class)->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pannotationnode1
, ((val
*)NULL
)); /* != on <var_pannotationnode1:nullable Object>*/
1632 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_pannotationnode1
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
1637 var6
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode2
);
1639 var_listnode3
= var6
;
1640 var_node_list
= var_listnode3
;
1641 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction415> */
1643 var8
= nit___nit__Parser___go_to(var_p
, var7
);
1646 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1650 /* method parser#ReduceAction418#action for (self: ReduceAction418, Parser) */
1651 void nit__parser___nit__parser__ReduceAction418___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1652 val
* var_p
/* var p: Parser */;
1653 val
* var_node_list
/* var node_list: nullable Object */;
1654 val
* var
/* : nullable Object */;
1655 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1656 val
* var1
/* : nullable Object */;
1657 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1658 val
* var2
/* : nullable Object */;
1659 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1660 val
* var3
/* : nullable Object */;
1661 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1662 val
* var4
/* : Array[Object] */;
1663 val
* var_listnode8
/* var listnode8: Array[Object] */;
1664 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
1665 short int var5
/* : Bool */;
1668 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
1669 short int var6
/* : Bool */;
1672 val
* var_patidnode5
/* var patidnode5: nullable Object */;
1673 short int var9
/* : Bool */;
1676 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
1677 short int var12
/* : Bool */;
1680 short int var15
/* : Bool */;
1681 short int var16
/* : Bool */;
1682 val
* var_other
/* var other: nullable Object */;
1683 short int var18
/* : Bool */;
1684 short int var19
/* : Bool */;
1685 val
* var20
/* : AAnnotation */;
1686 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
1687 long var21
/* : Int */;
1688 long var22
/* : Int */;
1690 var_node_list
= ((val
*)NULL
);
1692 var
= nit___nit__Parser___pop(var_p
);
1694 var_nodearraylist4
= var
;
1696 var1
= nit___nit__Parser___pop(var_p
);
1698 var_nodearraylist3
= var1
;
1700 var2
= nit___nit__Parser___pop(var_p
);
1702 var_nodearraylist2
= var2
;
1704 var3
= nit___nit__Parser___pop(var_p
);
1706 var_nodearraylist1
= var3
;
1707 var4
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1709 standard___standard__Array___standard__kernel__Object__init(var4
); /* Direct call array#Array#init on <var4:Array[Object]>*/
1711 var_listnode8
= var4
;
1712 var_tkwredefnode3
= var_nodearraylist1
;
1713 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1714 cltype
= type_nullable__nit__TKwredef
.color
;
1715 idtype
= type_nullable__nit__TKwredef
.id
;
1716 if(var_tkwredefnode3
== NULL
) {
1719 if(cltype
>= (((long)var_tkwredefnode3
&3)?type_info
[((long)var_tkwredefnode3
&3)]:var_tkwredefnode3
->type
)->table_size
) {
1722 var5
= (((long)var_tkwredefnode3
&3)?type_info
[((long)var_tkwredefnode3
&3)]:var_tkwredefnode3
->type
)->type_table
[cltype
] == idtype
;
1725 if (unlikely(!var5
)) {
1726 PRINT_ERROR("Runtime error: %s", "Assert failed");
1727 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9952);
1730 var_pvisibilitynode4
= var_nodearraylist2
;
1731 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1732 cltype7
= type_nullable__nit__AVisibility
.color
;
1733 idtype8
= type_nullable__nit__AVisibility
.id
;
1734 if(var_pvisibilitynode4
== NULL
) {
1737 if(cltype7
>= (((long)var_pvisibilitynode4
&3)?type_info
[((long)var_pvisibilitynode4
&3)]:var_pvisibilitynode4
->type
)->table_size
) {
1740 var6
= (((long)var_pvisibilitynode4
&3)?type_info
[((long)var_pvisibilitynode4
&3)]:var_pvisibilitynode4
->type
)->type_table
[cltype7
] == idtype8
;
1743 if (unlikely(!var6
)) {
1744 PRINT_ERROR("Runtime error: %s", "Assert failed");
1745 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9954);
1748 var_patidnode5
= var_nodearraylist3
;
1749 /* <var_patidnode5:nullable Object> isa nullable AAtid */
1750 cltype10
= type_nullable__nit__AAtid
.color
;
1751 idtype11
= type_nullable__nit__AAtid
.id
;
1752 if(var_patidnode5
== NULL
) {
1755 if(cltype10
>= (((long)var_patidnode5
&3)?type_info
[((long)var_patidnode5
&3)]:var_patidnode5
->type
)->table_size
) {
1758 var9
= (((long)var_patidnode5
&3)?type_info
[((long)var_patidnode5
&3)]:var_patidnode5
->type
)->type_table
[cltype10
] == idtype11
;
1761 if (unlikely(!var9
)) {
1762 PRINT_ERROR("Runtime error: %s", "Assert failed");
1763 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9956);
1766 var_pexprnode7
= var_nodearraylist4
;
1767 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
1768 cltype13
= type_nullable__nit__AExpr
.color
;
1769 idtype14
= type_nullable__nit__AExpr
.id
;
1770 if(var_pexprnode7
== NULL
) {
1773 if(cltype13
>= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->table_size
) {
1776 var12
= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->type_table
[cltype13
] == idtype14
;
1779 if (unlikely(!var12
)) {
1780 PRINT_ERROR("Runtime error: %s", "Assert failed");
1781 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9958);
1784 if (var_pexprnode7
== NULL
) {
1785 var15
= 0; /* is null */
1787 var15
= 1; /* arg is null and recv is not */
1790 { /* Inline kernel#Object#!= (var_pexprnode7,((val*)NULL)) on <var_pexprnode7:nullable Object(nullable AExpr)> */
1791 var_other
= ((val
*)NULL
);
1793 var18
= ((short int(*)(val
* self
, val
* p0
))(var_pexprnode7
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_pexprnode7
, var_other
); /* == on <var_pexprnode7:nullable AExpr(AExpr)>*/
1798 RET_LABEL17
:(void)0;
1804 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode8
, var_pexprnode7
); /* Direct call array#Array#add on <var_listnode8:Array[Object]>*/
1808 var20
= NEW_nit__AAnnotation(&type_nit__AAnnotation
);
1810 nit__parser_prod___AAnnotation___init_aannotation(var20
, ((val
*)NULL
), var_tkwredefnode3
, var_pvisibilitynode4
, var_patidnode5
, ((val
*)NULL
), var_listnode8
, ((val
*)NULL
), ((val
*)NULL
)); /* Direct call parser_prod#AAnnotation#init_aannotation on <var20:AAnnotation>*/
1812 var_pannotationnode1
= var20
;
1813 var_node_list
= var_pannotationnode1
;
1814 var21
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction418> */
1816 var22
= nit___nit__Parser___go_to(var_p
, var21
);
1819 nit___nit__Parser___push(var_p
, var22
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1823 /* method parser#ReduceAction420#action for (self: ReduceAction420, Parser) */
1824 void nit__parser___nit__parser__ReduceAction420___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1825 val
* var_p
/* var p: Parser */;
1826 val
* var_node_list
/* var node_list: nullable Object */;
1827 val
* var
/* : nullable Object */;
1828 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1829 val
* var1
/* : nullable Object */;
1830 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1831 val
* var2
/* : nullable Object */;
1832 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1833 val
* var_pannotationnode1
/* var pannotationnode1: nullable Object */;
1834 long var3
/* : Int */;
1835 long var4
/* : Int */;
1837 var_node_list
= ((val
*)NULL
);
1839 var
= nit___nit__Parser___pop(var_p
);
1841 var_nodearraylist3
= var
;
1843 var1
= nit___nit__Parser___pop(var_p
);
1845 var_nodearraylist2
= var1
;
1847 var2
= nit___nit__Parser___pop(var_p
);
1849 var_nodearraylist1
= var2
;
1850 var_pannotationnode1
= var_nodearraylist3
;
1851 var_node_list
= var_pannotationnode1
;
1852 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction420> */
1854 var4
= nit___nit__Parser___go_to(var_p
, var3
);
1857 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1861 /* method parser#ReduceAction421#action for (self: ReduceAction421, Parser) */
1862 void nit__parser___nit__parser__ReduceAction421___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1863 val
* var_p
/* var p: Parser */;
1864 val
* var_node_list
/* var node_list: nullable Object */;
1865 val
* var
/* : nullable Object */;
1866 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1867 val
* var1
/* : nullable Object */;
1868 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1869 val
* var2
/* : nullable Object */;
1870 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1871 val
* var3
/* : nullable Object */;
1872 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1873 val
* var4
/* : nullable Object */;
1874 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1875 val
* var5
/* : Array[Object] */;
1876 val
* var_listnode7
/* var listnode7: Array[Object] */;
1877 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
1878 short int var6
/* : Bool */;
1881 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
1882 short int var7
/* : Bool */;
1885 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
1886 short int var10
/* : Bool */;
1889 val
* var_patidnode5
/* var patidnode5: nullable Object */;
1890 short int var13
/* : Bool */;
1893 val
* var16
/* : AAnnotation */;
1894 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
1895 long var17
/* : Int */;
1896 long var18
/* : Int */;
1898 var_node_list
= ((val
*)NULL
);
1900 var
= nit___nit__Parser___pop(var_p
);
1902 var_nodearraylist5
= var
;
1904 var1
= nit___nit__Parser___pop(var_p
);
1906 var_nodearraylist4
= var1
;
1908 var2
= nit___nit__Parser___pop(var_p
);
1910 var_nodearraylist3
= var2
;
1912 var3
= nit___nit__Parser___pop(var_p
);
1914 var_nodearraylist2
= var3
;
1916 var4
= nit___nit__Parser___pop(var_p
);
1918 var_nodearraylist1
= var4
;
1919 var5
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1921 standard___standard__Array___standard__kernel__Object__init(var5
); /* Direct call array#Array#init on <var5:Array[Object]>*/
1923 var_listnode7
= var5
;
1924 var_pdocnode2
= var_nodearraylist1
;
1925 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1926 cltype
= type_nullable__nit__ADoc
.color
;
1927 idtype
= type_nullable__nit__ADoc
.id
;
1928 if(var_pdocnode2
== NULL
) {
1931 if(cltype
>= (((long)var_pdocnode2
&3)?type_info
[((long)var_pdocnode2
&3)]:var_pdocnode2
->type
)->table_size
) {
1934 var6
= (((long)var_pdocnode2
&3)?type_info
[((long)var_pdocnode2
&3)]:var_pdocnode2
->type
)->type_table
[cltype
] == idtype
;
1937 if (unlikely(!var6
)) {
1938 PRINT_ERROR("Runtime error: %s", "Assert failed");
1939 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10001);
1942 var_tkwredefnode3
= var_nodearraylist2
;
1943 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1944 cltype8
= type_nullable__nit__TKwredef
.color
;
1945 idtype9
= type_nullable__nit__TKwredef
.id
;
1946 if(var_tkwredefnode3
== NULL
) {
1949 if(cltype8
>= (((long)var_tkwredefnode3
&3)?type_info
[((long)var_tkwredefnode3
&3)]:var_tkwredefnode3
->type
)->table_size
) {
1952 var7
= (((long)var_tkwredefnode3
&3)?type_info
[((long)var_tkwredefnode3
&3)]:var_tkwredefnode3
->type
)->type_table
[cltype8
] == idtype9
;
1955 if (unlikely(!var7
)) {
1956 PRINT_ERROR("Runtime error: %s", "Assert failed");
1957 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10003);
1960 var_pvisibilitynode4
= var_nodearraylist3
;
1961 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1962 cltype11
= type_nullable__nit__AVisibility
.color
;
1963 idtype12
= type_nullable__nit__AVisibility
.id
;
1964 if(var_pvisibilitynode4
== NULL
) {
1967 if(cltype11
>= (((long)var_pvisibilitynode4
&3)?type_info
[((long)var_pvisibilitynode4
&3)]:var_pvisibilitynode4
->type
)->table_size
) {
1970 var10
= (((long)var_pvisibilitynode4
&3)?type_info
[((long)var_pvisibilitynode4
&3)]:var_pvisibilitynode4
->type
)->type_table
[cltype11
] == idtype12
;
1973 if (unlikely(!var10
)) {
1974 PRINT_ERROR("Runtime error: %s", "Assert failed");
1975 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10005);
1978 var_patidnode5
= var_nodearraylist4
;
1979 /* <var_patidnode5:nullable Object> isa nullable AAtid */
1980 cltype14
= type_nullable__nit__AAtid
.color
;
1981 idtype15
= type_nullable__nit__AAtid
.id
;
1982 if(var_patidnode5
== NULL
) {
1985 if(cltype14
>= (((long)var_patidnode5
&3)?type_info
[((long)var_patidnode5
&3)]:var_patidnode5
->type
)->table_size
) {
1988 var13
= (((long)var_patidnode5
&3)?type_info
[((long)var_patidnode5
&3)]:var_patidnode5
->type
)->type_table
[cltype14
] == idtype15
;
1991 if (unlikely(!var13
)) {
1992 PRINT_ERROR("Runtime error: %s", "Assert failed");
1993 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10007);
1996 var16
= NEW_nit__AAnnotation(&type_nit__AAnnotation
);
1998 nit__parser_prod___AAnnotation___init_aannotation(var16
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_patidnode5
, ((val
*)NULL
), var_listnode7
, ((val
*)NULL
), ((val
*)NULL
)); /* Direct call parser_prod#AAnnotation#init_aannotation on <var16:AAnnotation>*/
2000 var_pannotationnode1
= var16
;
2001 var_node_list
= var_pannotationnode1
;
2002 var17
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction421> */
2004 var18
= nit___nit__Parser___go_to(var_p
, var17
);
2007 nit___nit__Parser___push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2011 /* method parser#ReduceAction422#action for (self: ReduceAction422, Parser) */
2012 void nit__parser___nit__parser__ReduceAction422___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2013 val
* var_p
/* var p: Parser */;
2014 val
* var_node_list
/* var node_list: nullable Object */;
2015 val
* var
/* : nullable Object */;
2016 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2017 val
* var1
/* : nullable Object */;
2018 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2019 val
* var2
/* : nullable Object */;
2020 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2021 val
* var3
/* : nullable Object */;
2022 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2023 val
* var4
/* : nullable Object */;
2024 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2025 val
* var5
/* : nullable Object */;
2026 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2027 val
* var6
/* : Array[Object] */;
2028 val
* var_listnode7
/* var listnode7: Array[Object] */;
2029 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
2030 short int var7
/* : Bool */;
2033 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
2034 short int var8
/* : Bool */;
2037 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
2038 short int var11
/* : Bool */;
2041 val
* var_patidnode5
/* var patidnode5: nullable Object */;
2042 short int var14
/* : Bool */;
2045 val
* var_pannotationsnode9
/* var pannotationsnode9: nullable Object */;
2046 short int var17
/* : Bool */;
2049 val
* var20
/* : AAnnotation */;
2050 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
2051 long var21
/* : Int */;
2052 long var22
/* : Int */;
2054 var_node_list
= ((val
*)NULL
);
2056 var
= nit___nit__Parser___pop(var_p
);
2058 var_nodearraylist6
= var
;
2060 var1
= nit___nit__Parser___pop(var_p
);
2062 var_nodearraylist5
= var1
;
2064 var2
= nit___nit__Parser___pop(var_p
);
2066 var_nodearraylist4
= var2
;
2068 var3
= nit___nit__Parser___pop(var_p
);
2070 var_nodearraylist3
= var3
;
2072 var4
= nit___nit__Parser___pop(var_p
);
2074 var_nodearraylist2
= var4
;
2076 var5
= nit___nit__Parser___pop(var_p
);
2078 var_nodearraylist1
= var5
;
2079 var6
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2081 standard___standard__Array___standard__kernel__Object__init(var6
); /* Direct call array#Array#init on <var6:Array[Object]>*/
2083 var_listnode7
= var6
;
2084 var_pdocnode2
= var_nodearraylist1
;
2085 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2086 cltype
= type_nullable__nit__ADoc
.color
;
2087 idtype
= type_nullable__nit__ADoc
.id
;
2088 if(var_pdocnode2
== NULL
) {
2091 if(cltype
>= (((long)var_pdocnode2
&3)?type_info
[((long)var_pdocnode2
&3)]:var_pdocnode2
->type
)->table_size
) {
2094 var7
= (((long)var_pdocnode2
&3)?type_info
[((long)var_pdocnode2
&3)]:var_pdocnode2
->type
)->type_table
[cltype
] == idtype
;
2097 if (unlikely(!var7
)) {
2098 PRINT_ERROR("Runtime error: %s", "Assert failed");
2099 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10035);
2102 var_tkwredefnode3
= var_nodearraylist2
;
2103 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2104 cltype9
= type_nullable__nit__TKwredef
.color
;
2105 idtype10
= type_nullable__nit__TKwredef
.id
;
2106 if(var_tkwredefnode3
== NULL
) {
2109 if(cltype9
>= (((long)var_tkwredefnode3
&3)?type_info
[((long)var_tkwredefnode3
&3)]:var_tkwredefnode3
->type
)->table_size
) {
2112 var8
= (((long)var_tkwredefnode3
&3)?type_info
[((long)var_tkwredefnode3
&3)]:var_tkwredefnode3
->type
)->type_table
[cltype9
] == idtype10
;
2115 if (unlikely(!var8
)) {
2116 PRINT_ERROR("Runtime error: %s", "Assert failed");
2117 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10037);
2120 var_pvisibilitynode4
= var_nodearraylist3
;
2121 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2122 cltype12
= type_nullable__nit__AVisibility
.color
;
2123 idtype13
= type_nullable__nit__AVisibility
.id
;
2124 if(var_pvisibilitynode4
== NULL
) {
2127 if(cltype12
>= (((long)var_pvisibilitynode4
&3)?type_info
[((long)var_pvisibilitynode4
&3)]:var_pvisibilitynode4
->type
)->table_size
) {
2130 var11
= (((long)var_pvisibilitynode4
&3)?type_info
[((long)var_pvisibilitynode4
&3)]:var_pvisibilitynode4
->type
)->type_table
[cltype12
] == idtype13
;
2133 if (unlikely(!var11
)) {
2134 PRINT_ERROR("Runtime error: %s", "Assert failed");
2135 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10039);
2138 var_patidnode5
= var_nodearraylist4
;
2139 /* <var_patidnode5:nullable Object> isa nullable AAtid */
2140 cltype15
= type_nullable__nit__AAtid
.color
;
2141 idtype16
= type_nullable__nit__AAtid
.id
;
2142 if(var_patidnode5
== NULL
) {
2145 if(cltype15
>= (((long)var_patidnode5
&3)?type_info
[((long)var_patidnode5
&3)]:var_patidnode5
->type
)->table_size
) {
2148 var14
= (((long)var_patidnode5
&3)?type_info
[((long)var_patidnode5
&3)]:var_patidnode5
->type
)->type_table
[cltype15
] == idtype16
;
2151 if (unlikely(!var14
)) {
2152 PRINT_ERROR("Runtime error: %s", "Assert failed");
2153 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10041);
2156 var_pannotationsnode9
= var_nodearraylist5
;
2157 /* <var_pannotationsnode9:nullable Object> isa nullable AAnnotations */
2158 cltype18
= type_nullable__nit__AAnnotations
.color
;
2159 idtype19
= type_nullable__nit__AAnnotations
.id
;
2160 if(var_pannotationsnode9
== NULL
) {
2163 if(cltype18
>= (((long)var_pannotationsnode9
&3)?type_info
[((long)var_pannotationsnode9
&3)]:var_pannotationsnode9
->type
)->table_size
) {
2166 var17
= (((long)var_pannotationsnode9
&3)?type_info
[((long)var_pannotationsnode9
&3)]:var_pannotationsnode9
->type
)->type_table
[cltype18
] == idtype19
;
2169 if (unlikely(!var17
)) {
2170 PRINT_ERROR("Runtime error: %s", "Assert failed");
2171 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10043);
2174 var20
= NEW_nit__AAnnotation(&type_nit__AAnnotation
);
2176 nit__parser_prod___AAnnotation___init_aannotation(var20
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_patidnode5
, ((val
*)NULL
), var_listnode7
, ((val
*)NULL
), var_pannotationsnode9
); /* Direct call parser_prod#AAnnotation#init_aannotation on <var20:AAnnotation>*/
2178 var_pannotationnode1
= var20
;
2179 var_node_list
= var_pannotationnode1
;
2180 var21
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction422> */
2182 var22
= nit___nit__Parser___go_to(var_p
, var21
);
2185 nit___nit__Parser___push(var_p
, var22
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2189 /* method parser#ReduceAction423#action for (self: ReduceAction423, Parser) */
2190 void nit__parser___nit__parser__ReduceAction423___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2191 val
* var_p
/* var p: Parser */;
2192 val
* var_node_list
/* var node_list: nullable Object */;
2193 val
* var
/* : nullable Object */;
2194 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
2195 val
* var1
/* : nullable Object */;
2196 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
2197 val
* var2
/* : nullable Object */;
2198 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
2199 val
* var3
/* : nullable Object */;
2200 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2201 val
* var4
/* : nullable Object */;
2202 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2203 val
* var5
/* : nullable Object */;
2204 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2205 val
* var6
/* : nullable Object */;
2206 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2207 val
* var7
/* : nullable Object */;
2208 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2209 val
* var8
/* : nullable Object */;
2210 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2211 val
* var9
/* : Array[Object] */;
2212 val
* var_listnode8
/* var listnode8: Array[Object] */;
2213 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
2214 short int var10
/* : Bool */;
2217 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
2218 short int var11
/* : Bool */;
2221 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
2222 short int var14
/* : Bool */;
2225 val
* var_patidnode5
/* var patidnode5: nullable Object */;
2226 short int var17
/* : Bool */;
2229 val
* var_toparnode6
/* var toparnode6: nullable Object */;
2230 short int var20
/* : Bool */;
2233 val
* var_listnode7
/* var listnode7: nullable Object */;
2234 short int var23
/* : Bool */;
2237 val
* var26
/* : Array[Object] */;
2238 val
* var_tcparnode9
/* var tcparnode9: nullable Object */;
2239 short int var27
/* : Bool */;
2242 val
* var30
/* : AAnnotation */;
2243 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
2244 long var31
/* : Int */;
2245 long var32
/* : Int */;
2247 var_node_list
= ((val
*)NULL
);
2249 var
= nit___nit__Parser___pop(var_p
);
2251 var_nodearraylist9
= var
;
2253 var1
= nit___nit__Parser___pop(var_p
);
2255 var_nodearraylist8
= var1
;
2257 var2
= nit___nit__Parser___pop(var_p
);
2259 var_nodearraylist7
= var2
;
2261 var3
= nit___nit__Parser___pop(var_p
);
2263 var_nodearraylist6
= var3
;
2265 var4
= nit___nit__Parser___pop(var_p
);
2267 var_nodearraylist5
= var4
;
2269 var5
= nit___nit__Parser___pop(var_p
);
2271 var_nodearraylist4
= var5
;
2273 var6
= nit___nit__Parser___pop(var_p
);
2275 var_nodearraylist3
= var6
;
2277 var7
= nit___nit__Parser___pop(var_p
);
2279 var_nodearraylist2
= var7
;
2281 var8
= nit___nit__Parser___pop(var_p
);
2283 var_nodearraylist1
= var8
;
2284 var9
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2286 standard___standard__Array___standard__kernel__Object__init(var9
); /* Direct call array#Array#init on <var9:Array[Object]>*/
2288 var_listnode8
= var9
;
2289 var_pdocnode2
= var_nodearraylist1
;
2290 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2291 cltype
= type_nullable__nit__ADoc
.color
;
2292 idtype
= type_nullable__nit__ADoc
.id
;
2293 if(var_pdocnode2
== NULL
) {
2296 if(cltype
>= (((long)var_pdocnode2
&3)?type_info
[((long)var_pdocnode2
&3)]:var_pdocnode2
->type
)->table_size
) {
2299 var10
= (((long)var_pdocnode2
&3)?type_info
[((long)var_pdocnode2
&3)]:var_pdocnode2
->type
)->type_table
[cltype
] == idtype
;
2302 if (unlikely(!var10
)) {
2303 PRINT_ERROR("Runtime error: %s", "Assert failed");
2304 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10074);
2307 var_tkwredefnode3
= var_nodearraylist2
;
2308 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2309 cltype12
= type_nullable__nit__TKwredef
.color
;
2310 idtype13
= type_nullable__nit__TKwredef
.id
;
2311 if(var_tkwredefnode3
== NULL
) {
2314 if(cltype12
>= (((long)var_tkwredefnode3
&3)?type_info
[((long)var_tkwredefnode3
&3)]:var_tkwredefnode3
->type
)->table_size
) {
2317 var11
= (((long)var_tkwredefnode3
&3)?type_info
[((long)var_tkwredefnode3
&3)]:var_tkwredefnode3
->type
)->type_table
[cltype12
] == idtype13
;
2320 if (unlikely(!var11
)) {
2321 PRINT_ERROR("Runtime error: %s", "Assert failed");
2322 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10076);
2325 var_pvisibilitynode4
= var_nodearraylist3
;
2326 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2327 cltype15
= type_nullable__nit__AVisibility
.color
;
2328 idtype16
= type_nullable__nit__AVisibility
.id
;
2329 if(var_pvisibilitynode4
== NULL
) {
2332 if(cltype15
>= (((long)var_pvisibilitynode4
&3)?type_info
[((long)var_pvisibilitynode4
&3)]:var_pvisibilitynode4
->type
)->table_size
) {
2335 var14
= (((long)var_pvisibilitynode4
&3)?type_info
[((long)var_pvisibilitynode4
&3)]:var_pvisibilitynode4
->type
)->type_table
[cltype15
] == idtype16
;
2338 if (unlikely(!var14
)) {
2339 PRINT_ERROR("Runtime error: %s", "Assert failed");
2340 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10078);
2343 var_patidnode5
= var_nodearraylist4
;
2344 /* <var_patidnode5:nullable Object> isa nullable AAtid */
2345 cltype18
= type_nullable__nit__AAtid
.color
;
2346 idtype19
= type_nullable__nit__AAtid
.id
;
2347 if(var_patidnode5
== NULL
) {
2350 if(cltype18
>= (((long)var_patidnode5
&3)?type_info
[((long)var_patidnode5
&3)]:var_patidnode5
->type
)->table_size
) {
2353 var17
= (((long)var_patidnode5
&3)?type_info
[((long)var_patidnode5
&3)]:var_patidnode5
->type
)->type_table
[cltype18
] == idtype19
;
2356 if (unlikely(!var17
)) {
2357 PRINT_ERROR("Runtime error: %s", "Assert failed");
2358 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10080);
2361 var_toparnode6
= var_nodearraylist5
;
2362 /* <var_toparnode6:nullable Object> isa nullable TOpar */
2363 cltype21
= type_nullable__nit__TOpar
.color
;
2364 idtype22
= type_nullable__nit__TOpar
.id
;
2365 if(var_toparnode6
== NULL
) {
2368 if(cltype21
>= (((long)var_toparnode6
&3)?type_info
[((long)var_toparnode6
&3)]:var_toparnode6
->type
)->table_size
) {
2371 var20
= (((long)var_toparnode6
&3)?type_info
[((long)var_toparnode6
&3)]:var_toparnode6
->type
)->type_table
[cltype21
] == idtype22
;
2374 if (unlikely(!var20
)) {
2375 PRINT_ERROR("Runtime error: %s", "Assert failed");
2376 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10082);
2379 var_listnode7
= var_nodearraylist7
;
2380 /* <var_listnode7:nullable Object> isa Array[Object] */
2381 cltype24
= type_standard__Array__standard__Object
.color
;
2382 idtype25
= type_standard__Array__standard__Object
.id
;
2383 if(var_listnode7
== NULL
) {
2386 if(cltype24
>= (((long)var_listnode7
&3)?type_info
[((long)var_listnode7
&3)]:var_listnode7
->type
)->table_size
) {
2389 var23
= (((long)var_listnode7
&3)?type_info
[((long)var_listnode7
&3)]:var_listnode7
->type
)->type_table
[cltype24
] == idtype25
;
2392 if (unlikely(!var23
)) {
2393 PRINT_ERROR("Runtime error: %s", "Assert failed");
2394 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10084);
2398 var26
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode8
, var_listnode7
);
2400 var_listnode8
= var26
;
2401 var_tcparnode9
= var_nodearraylist8
;
2402 /* <var_tcparnode9:nullable Object> isa nullable TCpar */
2403 cltype28
= type_nullable__nit__TCpar
.color
;
2404 idtype29
= type_nullable__nit__TCpar
.id
;
2405 if(var_tcparnode9
== NULL
) {
2408 if(cltype28
>= (((long)var_tcparnode9
&3)?type_info
[((long)var_tcparnode9
&3)]:var_tcparnode9
->type
)->table_size
) {
2411 var27
= (((long)var_tcparnode9
&3)?type_info
[((long)var_tcparnode9
&3)]:var_tcparnode9
->type
)->type_table
[cltype28
] == idtype29
;
2414 if (unlikely(!var27
)) {
2415 PRINT_ERROR("Runtime error: %s", "Assert failed");
2416 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10087);
2419 var30
= NEW_nit__AAnnotation(&type_nit__AAnnotation
);
2421 nit__parser_prod___AAnnotation___init_aannotation(var30
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_patidnode5
, var_toparnode6
, var_listnode8
, var_tcparnode9
, ((val
*)NULL
)); /* Direct call parser_prod#AAnnotation#init_aannotation on <var30:AAnnotation>*/
2423 var_pannotationnode1
= var30
;
2424 var_node_list
= var_pannotationnode1
;
2425 var31
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction423> */
2427 var32
= nit___nit__Parser___go_to(var_p
, var31
);
2430 nit___nit__Parser___push(var_p
, var32
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2434 /* method parser#ReduceAction424#action for (self: ReduceAction424, Parser) */
2435 void nit__parser___nit__parser__ReduceAction424___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2436 val
* var_p
/* var p: Parser */;
2437 val
* var_node_list
/* var node_list: nullable Object */;
2438 val
* var
/* : nullable Object */;
2439 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
2440 val
* var1
/* : nullable Object */;
2441 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
2442 val
* var2
/* : nullable Object */;
2443 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
2444 val
* var3
/* : nullable Object */;
2445 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
2446 val
* var4
/* : nullable Object */;
2447 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2448 val
* var5
/* : nullable Object */;
2449 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2450 val
* var6
/* : nullable Object */;
2451 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2452 val
* var7
/* : nullable Object */;
2453 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2454 val
* var8
/* : nullable Object */;
2455 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2456 val
* var9
/* : nullable Object */;
2457 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2458 val
* var10
/* : Array[Object] */;
2459 val
* var_listnode8
/* var listnode8: Array[Object] */;
2460 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
2461 short int var11
/* : Bool */;
2464 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
2465 short int var12
/* : Bool */;
2468 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
2469 short int var15
/* : Bool */;
2472 val
* var_patidnode5
/* var patidnode5: nullable Object */;
2473 short int var18
/* : Bool */;
2476 val
* var_toparnode6
/* var toparnode6: nullable Object */;
2477 short int var21
/* : Bool */;
2480 val
* var_listnode7
/* var listnode7: nullable Object */;
2481 short int var24
/* : Bool */;
2484 val
* var27
/* : Array[Object] */;
2485 val
* var_tcparnode9
/* var tcparnode9: nullable Object */;
2486 short int var28
/* : Bool */;
2489 val
* var_pannotationsnode10
/* var pannotationsnode10: nullable Object */;
2490 short int var31
/* : Bool */;
2493 val
* var34
/* : AAnnotation */;
2494 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
2495 long var35
/* : Int */;
2496 long var36
/* : Int */;
2498 var_node_list
= ((val
*)NULL
);
2500 var
= nit___nit__Parser___pop(var_p
);
2502 var_nodearraylist10
= var
;
2504 var1
= nit___nit__Parser___pop(var_p
);
2506 var_nodearraylist9
= var1
;
2508 var2
= nit___nit__Parser___pop(var_p
);
2510 var_nodearraylist8
= var2
;
2512 var3
= nit___nit__Parser___pop(var_p
);
2514 var_nodearraylist7
= var3
;
2516 var4
= nit___nit__Parser___pop(var_p
);
2518 var_nodearraylist6
= var4
;
2520 var5
= nit___nit__Parser___pop(var_p
);
2522 var_nodearraylist5
= var5
;
2524 var6
= nit___nit__Parser___pop(var_p
);
2526 var_nodearraylist4
= var6
;
2528 var7
= nit___nit__Parser___pop(var_p
);
2530 var_nodearraylist3
= var7
;
2532 var8
= nit___nit__Parser___pop(var_p
);
2534 var_nodearraylist2
= var8
;
2536 var9
= nit___nit__Parser___pop(var_p
);
2538 var_nodearraylist1
= var9
;
2539 var10
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2541 standard___standard__Array___standard__kernel__Object__init(var10
); /* Direct call array#Array#init on <var10:Array[Object]>*/
2543 var_listnode8
= var10
;
2544 var_pdocnode2
= var_nodearraylist1
;
2545 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2546 cltype
= type_nullable__nit__ADoc
.color
;
2547 idtype
= type_nullable__nit__ADoc
.id
;
2548 if(var_pdocnode2
== NULL
) {
2551 if(cltype
>= (((long)var_pdocnode2
&3)?type_info
[((long)var_pdocnode2
&3)]:var_pdocnode2
->type
)->table_size
) {
2554 var11
= (((long)var_pdocnode2
&3)?type_info
[((long)var_pdocnode2
&3)]:var_pdocnode2
->type
)->type_table
[cltype
] == idtype
;
2557 if (unlikely(!var11
)) {
2558 PRINT_ERROR("Runtime error: %s", "Assert failed");
2559 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10119);
2562 var_tkwredefnode3
= var_nodearraylist2
;
2563 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2564 cltype13
= type_nullable__nit__TKwredef
.color
;
2565 idtype14
= type_nullable__nit__TKwredef
.id
;
2566 if(var_tkwredefnode3
== NULL
) {
2569 if(cltype13
>= (((long)var_tkwredefnode3
&3)?type_info
[((long)var_tkwredefnode3
&3)]:var_tkwredefnode3
->type
)->table_size
) {
2572 var12
= (((long)var_tkwredefnode3
&3)?type_info
[((long)var_tkwredefnode3
&3)]:var_tkwredefnode3
->type
)->type_table
[cltype13
] == idtype14
;
2575 if (unlikely(!var12
)) {
2576 PRINT_ERROR("Runtime error: %s", "Assert failed");
2577 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10121);
2580 var_pvisibilitynode4
= var_nodearraylist3
;
2581 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2582 cltype16
= type_nullable__nit__AVisibility
.color
;
2583 idtype17
= type_nullable__nit__AVisibility
.id
;
2584 if(var_pvisibilitynode4
== NULL
) {
2587 if(cltype16
>= (((long)var_pvisibilitynode4
&3)?type_info
[((long)var_pvisibilitynode4
&3)]:var_pvisibilitynode4
->type
)->table_size
) {
2590 var15
= (((long)var_pvisibilitynode4
&3)?type_info
[((long)var_pvisibilitynode4
&3)]:var_pvisibilitynode4
->type
)->type_table
[cltype16
] == idtype17
;
2593 if (unlikely(!var15
)) {
2594 PRINT_ERROR("Runtime error: %s", "Assert failed");
2595 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10123);
2598 var_patidnode5
= var_nodearraylist4
;
2599 /* <var_patidnode5:nullable Object> isa nullable AAtid */
2600 cltype19
= type_nullable__nit__AAtid
.color
;
2601 idtype20
= type_nullable__nit__AAtid
.id
;
2602 if(var_patidnode5
== NULL
) {
2605 if(cltype19
>= (((long)var_patidnode5
&3)?type_info
[((long)var_patidnode5
&3)]:var_patidnode5
->type
)->table_size
) {
2608 var18
= (((long)var_patidnode5
&3)?type_info
[((long)var_patidnode5
&3)]:var_patidnode5
->type
)->type_table
[cltype19
] == idtype20
;
2611 if (unlikely(!var18
)) {
2612 PRINT_ERROR("Runtime error: %s", "Assert failed");
2613 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10125);
2616 var_toparnode6
= var_nodearraylist5
;
2617 /* <var_toparnode6:nullable Object> isa nullable TOpar */
2618 cltype22
= type_nullable__nit__TOpar
.color
;
2619 idtype23
= type_nullable__nit__TOpar
.id
;
2620 if(var_toparnode6
== NULL
) {
2623 if(cltype22
>= (((long)var_toparnode6
&3)?type_info
[((long)var_toparnode6
&3)]:var_toparnode6
->type
)->table_size
) {
2626 var21
= (((long)var_toparnode6
&3)?type_info
[((long)var_toparnode6
&3)]:var_toparnode6
->type
)->type_table
[cltype22
] == idtype23
;
2629 if (unlikely(!var21
)) {
2630 PRINT_ERROR("Runtime error: %s", "Assert failed");
2631 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10127);
2634 var_listnode7
= var_nodearraylist7
;
2635 /* <var_listnode7:nullable Object> isa Array[Object] */
2636 cltype25
= type_standard__Array__standard__Object
.color
;
2637 idtype26
= type_standard__Array__standard__Object
.id
;
2638 if(var_listnode7
== NULL
) {
2641 if(cltype25
>= (((long)var_listnode7
&3)?type_info
[((long)var_listnode7
&3)]:var_listnode7
->type
)->table_size
) {
2644 var24
= (((long)var_listnode7
&3)?type_info
[((long)var_listnode7
&3)]:var_listnode7
->type
)->type_table
[cltype25
] == idtype26
;
2647 if (unlikely(!var24
)) {
2648 PRINT_ERROR("Runtime error: %s", "Assert failed");
2649 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10129);
2653 var27
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode8
, var_listnode7
);
2655 var_listnode8
= var27
;
2656 var_tcparnode9
= var_nodearraylist8
;
2657 /* <var_tcparnode9:nullable Object> isa nullable TCpar */
2658 cltype29
= type_nullable__nit__TCpar
.color
;
2659 idtype30
= type_nullable__nit__TCpar
.id
;
2660 if(var_tcparnode9
== NULL
) {
2663 if(cltype29
>= (((long)var_tcparnode9
&3)?type_info
[((long)var_tcparnode9
&3)]:var_tcparnode9
->type
)->table_size
) {
2666 var28
= (((long)var_tcparnode9
&3)?type_info
[((long)var_tcparnode9
&3)]:var_tcparnode9
->type
)->type_table
[cltype29
] == idtype30
;
2669 if (unlikely(!var28
)) {
2670 PRINT_ERROR("Runtime error: %s", "Assert failed");
2671 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10132);
2674 var_pannotationsnode10
= var_nodearraylist9
;
2675 /* <var_pannotationsnode10:nullable Object> isa nullable AAnnotations */
2676 cltype32
= type_nullable__nit__AAnnotations
.color
;
2677 idtype33
= type_nullable__nit__AAnnotations
.id
;
2678 if(var_pannotationsnode10
== NULL
) {
2681 if(cltype32
>= (((long)var_pannotationsnode10
&3)?type_info
[((long)var_pannotationsnode10
&3)]:var_pannotationsnode10
->type
)->table_size
) {
2684 var31
= (((long)var_pannotationsnode10
&3)?type_info
[((long)var_pannotationsnode10
&3)]:var_pannotationsnode10
->type
)->type_table
[cltype32
] == idtype33
;
2687 if (unlikely(!var31
)) {
2688 PRINT_ERROR("Runtime error: %s", "Assert failed");
2689 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10134);
2692 var34
= NEW_nit__AAnnotation(&type_nit__AAnnotation
);
2694 nit__parser_prod___AAnnotation___init_aannotation(var34
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_patidnode5
, var_toparnode6
, var_listnode8
, var_tcparnode9
, var_pannotationsnode10
); /* Direct call parser_prod#AAnnotation#init_aannotation on <var34:AAnnotation>*/
2696 var_pannotationnode1
= var34
;
2697 var_node_list
= var_pannotationnode1
;
2698 var35
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction424> */
2700 var36
= nit___nit__Parser___go_to(var_p
, var35
);
2703 nit___nit__Parser___push(var_p
, var36
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2707 /* method parser#ReduceAction425#action for (self: ReduceAction425, Parser) */
2708 void nit__parser___nit__parser__ReduceAction425___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2709 val
* var_p
/* var p: Parser */;
2710 val
* var_node_list
/* var node_list: nullable Object */;
2711 val
* var
/* : nullable Object */;
2712 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2713 val
* var1
/* : nullable Object */;
2714 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2715 val
* var2
/* : nullable Object */;
2716 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2717 val
* var3
/* : nullable Object */;
2718 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2719 val
* var4
/* : nullable Object */;
2720 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2721 val
* var5
/* : nullable Object */;
2722 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2723 val
* var6
/* : Array[Object] */;
2724 val
* var_listnode8
/* var listnode8: Array[Object] */;
2725 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
2726 short int var7
/* : Bool */;
2729 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
2730 short int var8
/* : Bool */;
2733 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
2734 short int var11
/* : Bool */;
2737 val
* var_patidnode5
/* var patidnode5: nullable Object */;
2738 short int var14
/* : Bool */;
2741 val
* var_listnode7
/* var listnode7: nullable Object */;
2742 short int var17
/* : Bool */;
2745 val
* var20
/* : Array[Object] */;
2746 val
* var21
/* : AAnnotation */;
2747 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
2748 long var22
/* : Int */;
2749 long var23
/* : Int */;
2751 var_node_list
= ((val
*)NULL
);
2753 var
= nit___nit__Parser___pop(var_p
);
2755 var_nodearraylist6
= var
;
2757 var1
= nit___nit__Parser___pop(var_p
);
2759 var_nodearraylist5
= var1
;
2761 var2
= nit___nit__Parser___pop(var_p
);
2763 var_nodearraylist4
= var2
;
2765 var3
= nit___nit__Parser___pop(var_p
);
2767 var_nodearraylist3
= var3
;
2769 var4
= nit___nit__Parser___pop(var_p
);
2771 var_nodearraylist2
= var4
;
2773 var5
= nit___nit__Parser___pop(var_p
);
2775 var_nodearraylist1
= var5
;
2776 var6
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2778 standard___standard__Array___standard__kernel__Object__init(var6
); /* Direct call array#Array#init on <var6:Array[Object]>*/
2780 var_listnode8
= var6
;
2781 var_pdocnode2
= var_nodearraylist1
;
2782 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2783 cltype
= type_nullable__nit__ADoc
.color
;
2784 idtype
= type_nullable__nit__ADoc
.id
;
2785 if(var_pdocnode2
== NULL
) {
2788 if(cltype
>= (((long)var_pdocnode2
&3)?type_info
[((long)var_pdocnode2
&3)]:var_pdocnode2
->type
)->table_size
) {
2791 var7
= (((long)var_pdocnode2
&3)?type_info
[((long)var_pdocnode2
&3)]:var_pdocnode2
->type
)->type_table
[cltype
] == idtype
;
2794 if (unlikely(!var7
)) {
2795 PRINT_ERROR("Runtime error: %s", "Assert failed");
2796 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10162);
2799 var_tkwredefnode3
= var_nodearraylist2
;
2800 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2801 cltype9
= type_nullable__nit__TKwredef
.color
;
2802 idtype10
= type_nullable__nit__TKwredef
.id
;
2803 if(var_tkwredefnode3
== NULL
) {
2806 if(cltype9
>= (((long)var_tkwredefnode3
&3)?type_info
[((long)var_tkwredefnode3
&3)]:var_tkwredefnode3
->type
)->table_size
) {
2809 var8
= (((long)var_tkwredefnode3
&3)?type_info
[((long)var_tkwredefnode3
&3)]:var_tkwredefnode3
->type
)->type_table
[cltype9
] == idtype10
;
2812 if (unlikely(!var8
)) {
2813 PRINT_ERROR("Runtime error: %s", "Assert failed");
2814 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10164);
2817 var_pvisibilitynode4
= var_nodearraylist3
;
2818 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2819 cltype12
= type_nullable__nit__AVisibility
.color
;
2820 idtype13
= type_nullable__nit__AVisibility
.id
;
2821 if(var_pvisibilitynode4
== NULL
) {
2824 if(cltype12
>= (((long)var_pvisibilitynode4
&3)?type_info
[((long)var_pvisibilitynode4
&3)]:var_pvisibilitynode4
->type
)->table_size
) {
2827 var11
= (((long)var_pvisibilitynode4
&3)?type_info
[((long)var_pvisibilitynode4
&3)]:var_pvisibilitynode4
->type
)->type_table
[cltype12
] == idtype13
;
2830 if (unlikely(!var11
)) {
2831 PRINT_ERROR("Runtime error: %s", "Assert failed");
2832 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10166);
2835 var_patidnode5
= var_nodearraylist4
;
2836 /* <var_patidnode5:nullable Object> isa nullable AAtid */
2837 cltype15
= type_nullable__nit__AAtid
.color
;
2838 idtype16
= type_nullable__nit__AAtid
.id
;
2839 if(var_patidnode5
== NULL
) {
2842 if(cltype15
>= (((long)var_patidnode5
&3)?type_info
[((long)var_patidnode5
&3)]:var_patidnode5
->type
)->table_size
) {
2845 var14
= (((long)var_patidnode5
&3)?type_info
[((long)var_patidnode5
&3)]:var_patidnode5
->type
)->type_table
[cltype15
] == idtype16
;
2848 if (unlikely(!var14
)) {
2849 PRINT_ERROR("Runtime error: %s", "Assert failed");
2850 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10168);
2853 var_listnode7
= var_nodearraylist5
;
2854 /* <var_listnode7:nullable Object> isa Array[Object] */
2855 cltype18
= type_standard__Array__standard__Object
.color
;
2856 idtype19
= type_standard__Array__standard__Object
.id
;
2857 if(var_listnode7
== NULL
) {
2860 if(cltype18
>= (((long)var_listnode7
&3)?type_info
[((long)var_listnode7
&3)]:var_listnode7
->type
)->table_size
) {
2863 var17
= (((long)var_listnode7
&3)?type_info
[((long)var_listnode7
&3)]:var_listnode7
->type
)->type_table
[cltype18
] == idtype19
;
2866 if (unlikely(!var17
)) {
2867 PRINT_ERROR("Runtime error: %s", "Assert failed");
2868 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10170);
2872 var20
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode8
, var_listnode7
);
2874 var_listnode8
= var20
;
2875 var21
= NEW_nit__AAnnotation(&type_nit__AAnnotation
);
2877 nit__parser_prod___AAnnotation___init_aannotation(var21
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_patidnode5
, ((val
*)NULL
), var_listnode8
, ((val
*)NULL
), ((val
*)NULL
)); /* Direct call parser_prod#AAnnotation#init_aannotation on <var21:AAnnotation>*/
2879 var_pannotationnode1
= var21
;
2880 var_node_list
= var_pannotationnode1
;
2881 var22
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction425> */
2883 var23
= nit___nit__Parser___go_to(var_p
, var22
);
2886 nit___nit__Parser___push(var_p
, var23
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2890 /* method parser#ReduceAction426#action for (self: ReduceAction426, Parser) */
2891 void nit__parser___nit__parser__ReduceAction426___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2892 val
* var_p
/* var p: Parser */;
2893 val
* var_node_list
/* var node_list: nullable Object */;
2894 val
* var
/* : nullable Object */;
2895 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2896 val
* var1
/* : nullable Object */;
2897 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2898 val
* var2
/* : Array[Object] */;
2899 val
* var_listnode7
/* var listnode7: Array[Object] */;
2900 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
2901 short int var3
/* : Bool */;
2904 val
* var_patidnode5
/* var patidnode5: nullable Object */;
2905 short int var4
/* : Bool */;
2908 val
* var7
/* : AAnnotPropdef */;
2909 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AAnnotPropdef */;
2910 long var8
/* : Int */;
2911 long var9
/* : Int */;
2913 var_node_list
= ((val
*)NULL
);
2915 var
= nit___nit__Parser___pop(var_p
);
2917 var_nodearraylist2
= var
;
2919 var1
= nit___nit__Parser___pop(var_p
);
2921 var_nodearraylist1
= var1
;
2922 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2924 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
2926 var_listnode7
= var2
;
2927 var_pdocnode2
= var_nodearraylist1
;
2928 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2929 cltype
= type_nullable__nit__ADoc
.color
;
2930 idtype
= type_nullable__nit__ADoc
.id
;
2931 if(var_pdocnode2
== NULL
) {
2934 if(cltype
>= (((long)var_pdocnode2
&3)?type_info
[((long)var_pdocnode2
&3)]:var_pdocnode2
->type
)->table_size
) {
2937 var3
= (((long)var_pdocnode2
&3)?type_info
[((long)var_pdocnode2
&3)]:var_pdocnode2
->type
)->type_table
[cltype
] == idtype
;
2940 if (unlikely(!var3
)) {
2941 PRINT_ERROR("Runtime error: %s", "Assert failed");
2942 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10195);
2945 var_patidnode5
= var_nodearraylist2
;
2946 /* <var_patidnode5:nullable Object> isa nullable AAtid */
2947 cltype5
= type_nullable__nit__AAtid
.color
;
2948 idtype6
= type_nullable__nit__AAtid
.id
;
2949 if(var_patidnode5
== NULL
) {
2952 if(cltype5
>= (((long)var_patidnode5
&3)?type_info
[((long)var_patidnode5
&3)]:var_patidnode5
->type
)->table_size
) {
2955 var4
= (((long)var_patidnode5
&3)?type_info
[((long)var_patidnode5
&3)]:var_patidnode5
->type
)->type_table
[cltype5
] == idtype6
;
2958 if (unlikely(!var4
)) {
2959 PRINT_ERROR("Runtime error: %s", "Assert failed");
2960 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10197);
2963 var7
= NEW_nit__AAnnotPropdef(&type_nit__AAnnotPropdef
);
2965 nit__parser_prod___AAnnotPropdef___init_aannotpropdef(var7
, var_pdocnode2
, ((val
*)NULL
), ((val
*)NULL
), var_patidnode5
, ((val
*)NULL
), var_listnode7
, ((val
*)NULL
), ((val
*)NULL
)); /* Direct call parser_prod#AAnnotPropdef#init_aannotpropdef on <var7:AAnnotPropdef>*/
2967 var_ppropdefnode1
= var7
;
2968 var_node_list
= var_ppropdefnode1
;
2969 var8
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction426> */
2971 var9
= nit___nit__Parser___go_to(var_p
, var8
);
2974 nit___nit__Parser___push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2978 /* method parser#ReduceAction427#action for (self: ReduceAction427, Parser) */
2979 void nit__parser___nit__parser__ReduceAction427___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2980 val
* var_p
/* var p: Parser */;
2981 val
* var_node_list
/* var node_list: nullable Object */;
2982 val
* var
/* : nullable Object */;
2983 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2984 val
* var1
/* : nullable Object */;
2985 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2986 val
* var2
/* : nullable Object */;
2987 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2988 val
* var3
/* : Array[Object] */;
2989 val
* var_listnode7
/* var listnode7: Array[Object] */;
2990 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
2991 short int var4
/* : Bool */;
2994 val
* var_patidnode5
/* var patidnode5: nullable Object */;
2995 short int var5
/* : Bool */;
2998 val
* var_pannotationsnode9
/* var pannotationsnode9: nullable Object */;
2999 short int var8
/* : Bool */;
3002 val
* var11
/* : AAnnotPropdef */;
3003 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AAnnotPropdef */;
3004 long var12
/* : Int */;
3005 long var13
/* : Int */;
3007 var_node_list
= ((val
*)NULL
);
3009 var
= nit___nit__Parser___pop(var_p
);
3011 var_nodearraylist3
= var
;
3013 var1
= nit___nit__Parser___pop(var_p
);
3015 var_nodearraylist2
= var1
;
3017 var2
= nit___nit__Parser___pop(var_p
);
3019 var_nodearraylist1
= var2
;
3020 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3022 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
3024 var_listnode7
= var3
;
3025 var_pdocnode2
= var_nodearraylist1
;
3026 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3027 cltype
= type_nullable__nit__ADoc
.color
;
3028 idtype
= type_nullable__nit__ADoc
.id
;
3029 if(var_pdocnode2
== NULL
) {
3032 if(cltype
>= (((long)var_pdocnode2
&3)?type_info
[((long)var_pdocnode2
&3)]:var_pdocnode2
->type
)->table_size
) {
3035 var4
= (((long)var_pdocnode2
&3)?type_info
[((long)var_pdocnode2
&3)]:var_pdocnode2
->type
)->type_table
[cltype
] == idtype
;
3038 if (unlikely(!var4
)) {
3039 PRINT_ERROR("Runtime error: %s", "Assert failed");
3040 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10222);
3043 var_patidnode5
= var_nodearraylist2
;
3044 /* <var_patidnode5:nullable Object> isa nullable AAtid */
3045 cltype6
= type_nullable__nit__AAtid
.color
;
3046 idtype7
= type_nullable__nit__AAtid
.id
;
3047 if(var_patidnode5
== NULL
) {
3050 if(cltype6
>= (((long)var_patidnode5
&3)?type_info
[((long)var_patidnode5
&3)]:var_patidnode5
->type
)->table_size
) {
3053 var5
= (((long)var_patidnode5
&3)?type_info
[((long)var_patidnode5
&3)]:var_patidnode5
->type
)->type_table
[cltype6
] == idtype7
;
3056 if (unlikely(!var5
)) {
3057 PRINT_ERROR("Runtime error: %s", "Assert failed");
3058 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10224);
3061 var_pannotationsnode9
= var_nodearraylist3
;
3062 /* <var_pannotationsnode9:nullable Object> isa nullable AAnnotations */
3063 cltype9
= type_nullable__nit__AAnnotations
.color
;
3064 idtype10
= type_nullable__nit__AAnnotations
.id
;
3065 if(var_pannotationsnode9
== NULL
) {
3068 if(cltype9
>= (((long)var_pannotationsnode9
&3)?type_info
[((long)var_pannotationsnode9
&3)]:var_pannotationsnode9
->type
)->table_size
) {
3071 var8
= (((long)var_pannotationsnode9
&3)?type_info
[((long)var_pannotationsnode9
&3)]:var_pannotationsnode9
->type
)->type_table
[cltype9
] == idtype10
;
3074 if (unlikely(!var8
)) {
3075 PRINT_ERROR("Runtime error: %s", "Assert failed");
3076 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10226);
3079 var11
= NEW_nit__AAnnotPropdef(&type_nit__AAnnotPropdef
);
3081 nit__parser_prod___AAnnotPropdef___init_aannotpropdef(var11
, var_pdocnode2
, ((val
*)NULL
), ((val
*)NULL
), var_patidnode5
, ((val
*)NULL
), var_listnode7
, ((val
*)NULL
), var_pannotationsnode9
); /* Direct call parser_prod#AAnnotPropdef#init_aannotpropdef on <var11:AAnnotPropdef>*/
3083 var_ppropdefnode1
= var11
;
3084 var_node_list
= var_ppropdefnode1
;
3085 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction427> */
3087 var13
= nit___nit__Parser___go_to(var_p
, var12
);
3090 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3094 /* method parser#ReduceAction428#action for (self: ReduceAction428, Parser) */
3095 void nit__parser___nit__parser__ReduceAction428___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3096 val
* var_p
/* var p: Parser */;
3097 val
* var_node_list
/* var node_list: nullable Object */;
3098 val
* var
/* : nullable Object */;
3099 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
3100 val
* var1
/* : nullable Object */;
3101 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3102 val
* var2
/* : nullable Object */;
3103 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3104 val
* var3
/* : nullable Object */;
3105 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3106 val
* var4
/* : nullable Object */;
3107 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3108 val
* var5
/* : nullable Object */;
3109 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3110 val
* var6
/* : Array[Object] */;
3111 val
* var_listnode8
/* var listnode8: Array[Object] */;
3112 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
3113 short int var7
/* : Bool */;
3116 val
* var_patidnode5
/* var patidnode5: nullable Object */;
3117 short int var8
/* : Bool */;
3120 val
* var_toparnode6
/* var toparnode6: nullable Object */;
3121 short int var11
/* : Bool */;
3124 val
* var_listnode7
/* var listnode7: nullable Object */;
3125 short int var14
/* : Bool */;
3128 val
* var17
/* : Array[Object] */;
3129 val
* var_tcparnode9
/* var tcparnode9: nullable Object */;
3130 short int var18
/* : Bool */;
3133 val
* var21
/* : AAnnotPropdef */;
3134 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AAnnotPropdef */;
3135 long var22
/* : Int */;
3136 long var23
/* : Int */;
3138 var_node_list
= ((val
*)NULL
);
3140 var
= nit___nit__Parser___pop(var_p
);
3142 var_nodearraylist6
= var
;
3144 var1
= nit___nit__Parser___pop(var_p
);
3146 var_nodearraylist5
= var1
;
3148 var2
= nit___nit__Parser___pop(var_p
);
3150 var_nodearraylist4
= var2
;
3152 var3
= nit___nit__Parser___pop(var_p
);
3154 var_nodearraylist3
= var3
;
3156 var4
= nit___nit__Parser___pop(var_p
);
3158 var_nodearraylist2
= var4
;
3160 var5
= nit___nit__Parser___pop(var_p
);
3162 var_nodearraylist1
= var5
;
3163 var6
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3165 standard___standard__Array___standard__kernel__Object__init(var6
); /* Direct call array#Array#init on <var6:Array[Object]>*/
3167 var_listnode8
= var6
;
3168 var_pdocnode2
= var_nodearraylist1
;
3169 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3170 cltype
= type_nullable__nit__ADoc
.color
;
3171 idtype
= type_nullable__nit__ADoc
.id
;
3172 if(var_pdocnode2
== NULL
) {
3175 if(cltype
>= (((long)var_pdocnode2
&3)?type_info
[((long)var_pdocnode2
&3)]:var_pdocnode2
->type
)->table_size
) {
3178 var7
= (((long)var_pdocnode2
&3)?type_info
[((long)var_pdocnode2
&3)]:var_pdocnode2
->type
)->type_table
[cltype
] == idtype
;
3181 if (unlikely(!var7
)) {
3182 PRINT_ERROR("Runtime error: %s", "Assert failed");
3183 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10254);
3186 var_patidnode5
= var_nodearraylist2
;
3187 /* <var_patidnode5:nullable Object> isa nullable AAtid */
3188 cltype9
= type_nullable__nit__AAtid
.color
;
3189 idtype10
= type_nullable__nit__AAtid
.id
;
3190 if(var_patidnode5
== NULL
) {
3193 if(cltype9
>= (((long)var_patidnode5
&3)?type_info
[((long)var_patidnode5
&3)]:var_patidnode5
->type
)->table_size
) {
3196 var8
= (((long)var_patidnode5
&3)?type_info
[((long)var_patidnode5
&3)]:var_patidnode5
->type
)->type_table
[cltype9
] == idtype10
;
3199 if (unlikely(!var8
)) {
3200 PRINT_ERROR("Runtime error: %s", "Assert failed");
3201 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10256);
3204 var_toparnode6
= var_nodearraylist3
;
3205 /* <var_toparnode6:nullable Object> isa nullable TOpar */
3206 cltype12
= type_nullable__nit__TOpar
.color
;
3207 idtype13
= type_nullable__nit__TOpar
.id
;
3208 if(var_toparnode6
== NULL
) {
3211 if(cltype12
>= (((long)var_toparnode6
&3)?type_info
[((long)var_toparnode6
&3)]:var_toparnode6
->type
)->table_size
) {
3214 var11
= (((long)var_toparnode6
&3)?type_info
[((long)var_toparnode6
&3)]:var_toparnode6
->type
)->type_table
[cltype12
] == idtype13
;
3217 if (unlikely(!var11
)) {
3218 PRINT_ERROR("Runtime error: %s", "Assert failed");
3219 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10258);
3222 var_listnode7
= var_nodearraylist5
;
3223 /* <var_listnode7:nullable Object> isa Array[Object] */
3224 cltype15
= type_standard__Array__standard__Object
.color
;
3225 idtype16
= type_standard__Array__standard__Object
.id
;
3226 if(var_listnode7
== NULL
) {
3229 if(cltype15
>= (((long)var_listnode7
&3)?type_info
[((long)var_listnode7
&3)]:var_listnode7
->type
)->table_size
) {
3232 var14
= (((long)var_listnode7
&3)?type_info
[((long)var_listnode7
&3)]:var_listnode7
->type
)->type_table
[cltype15
] == idtype16
;
3235 if (unlikely(!var14
)) {
3236 PRINT_ERROR("Runtime error: %s", "Assert failed");
3237 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10260);
3241 var17
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode8
, var_listnode7
);
3243 var_listnode8
= var17
;
3244 var_tcparnode9
= var_nodearraylist6
;
3245 /* <var_tcparnode9:nullable Object> isa nullable TCpar */
3246 cltype19
= type_nullable__nit__TCpar
.color
;
3247 idtype20
= type_nullable__nit__TCpar
.id
;
3248 if(var_tcparnode9
== NULL
) {
3251 if(cltype19
>= (((long)var_tcparnode9
&3)?type_info
[((long)var_tcparnode9
&3)]:var_tcparnode9
->type
)->table_size
) {
3254 var18
= (((long)var_tcparnode9
&3)?type_info
[((long)var_tcparnode9
&3)]:var_tcparnode9
->type
)->type_table
[cltype19
] == idtype20
;
3257 if (unlikely(!var18
)) {
3258 PRINT_ERROR("Runtime error: %s", "Assert failed");
3259 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10263);
3262 var21
= NEW_nit__AAnnotPropdef(&type_nit__AAnnotPropdef
);
3264 nit__parser_prod___AAnnotPropdef___init_aannotpropdef(var21
, var_pdocnode2
, ((val
*)NULL
), ((val
*)NULL
), var_patidnode5
, var_toparnode6
, var_listnode8
, var_tcparnode9
, ((val
*)NULL
)); /* Direct call parser_prod#AAnnotPropdef#init_aannotpropdef on <var21:AAnnotPropdef>*/
3266 var_ppropdefnode1
= var21
;
3267 var_node_list
= var_ppropdefnode1
;
3268 var22
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction428> */
3270 var23
= nit___nit__Parser___go_to(var_p
, var22
);
3273 nit___nit__Parser___push(var_p
, var23
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3277 /* method parser#ReduceAction429#action for (self: ReduceAction429, Parser) */
3278 void nit__parser___nit__parser__ReduceAction429___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3279 val
* var_p
/* var p: Parser */;
3280 val
* var_node_list
/* var node_list: nullable Object */;
3281 val
* var
/* : nullable Object */;
3282 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
3283 val
* var1
/* : nullable Object */;
3284 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
3285 val
* var2
/* : nullable Object */;
3286 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3287 val
* var3
/* : nullable Object */;
3288 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3289 val
* var4
/* : nullable Object */;
3290 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3291 val
* var5
/* : nullable Object */;
3292 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3293 val
* var6
/* : nullable Object */;
3294 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3295 val
* var7
/* : Array[Object] */;
3296 val
* var_listnode8
/* var listnode8: Array[Object] */;
3297 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
3298 short int var8
/* : Bool */;
3301 val
* var_patidnode5
/* var patidnode5: nullable Object */;
3302 short int var9
/* : Bool */;
3305 val
* var_toparnode6
/* var toparnode6: nullable Object */;
3306 short int var12
/* : Bool */;
3309 val
* var_listnode7
/* var listnode7: nullable Object */;
3310 short int var15
/* : Bool */;
3313 val
* var18
/* : Array[Object] */;
3314 val
* var_tcparnode9
/* var tcparnode9: nullable Object */;
3315 short int var19
/* : Bool */;
3318 val
* var_pannotationsnode10
/* var pannotationsnode10: nullable Object */;
3319 short int var22
/* : Bool */;
3322 val
* var25
/* : AAnnotPropdef */;
3323 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AAnnotPropdef */;
3324 long var26
/* : Int */;
3325 long var27
/* : Int */;
3327 var_node_list
= ((val
*)NULL
);
3329 var
= nit___nit__Parser___pop(var_p
);
3331 var_nodearraylist7
= var
;
3333 var1
= nit___nit__Parser___pop(var_p
);
3335 var_nodearraylist6
= var1
;
3337 var2
= nit___nit__Parser___pop(var_p
);
3339 var_nodearraylist5
= var2
;
3341 var3
= nit___nit__Parser___pop(var_p
);
3343 var_nodearraylist4
= var3
;
3345 var4
= nit___nit__Parser___pop(var_p
);
3347 var_nodearraylist3
= var4
;
3349 var5
= nit___nit__Parser___pop(var_p
);
3351 var_nodearraylist2
= var5
;
3353 var6
= nit___nit__Parser___pop(var_p
);
3355 var_nodearraylist1
= var6
;
3356 var7
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3358 standard___standard__Array___standard__kernel__Object__init(var7
); /* Direct call array#Array#init on <var7:Array[Object]>*/
3360 var_listnode8
= var7
;
3361 var_pdocnode2
= var_nodearraylist1
;
3362 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3363 cltype
= type_nullable__nit__ADoc
.color
;
3364 idtype
= type_nullable__nit__ADoc
.id
;
3365 if(var_pdocnode2
== NULL
) {
3368 if(cltype
>= (((long)var_pdocnode2
&3)?type_info
[((long)var_pdocnode2
&3)]:var_pdocnode2
->type
)->table_size
) {
3371 var8
= (((long)var_pdocnode2
&3)?type_info
[((long)var_pdocnode2
&3)]:var_pdocnode2
->type
)->type_table
[cltype
] == idtype
;
3374 if (unlikely(!var8
)) {
3375 PRINT_ERROR("Runtime error: %s", "Assert failed");
3376 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10292);
3379 var_patidnode5
= var_nodearraylist2
;
3380 /* <var_patidnode5:nullable Object> isa nullable AAtid */
3381 cltype10
= type_nullable__nit__AAtid
.color
;
3382 idtype11
= type_nullable__nit__AAtid
.id
;
3383 if(var_patidnode5
== NULL
) {
3386 if(cltype10
>= (((long)var_patidnode5
&3)?type_info
[((long)var_patidnode5
&3)]:var_patidnode5
->type
)->table_size
) {
3389 var9
= (((long)var_patidnode5
&3)?type_info
[((long)var_patidnode5
&3)]:var_patidnode5
->type
)->type_table
[cltype10
] == idtype11
;
3392 if (unlikely(!var9
)) {
3393 PRINT_ERROR("Runtime error: %s", "Assert failed");
3394 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10294);
3397 var_toparnode6
= var_nodearraylist3
;
3398 /* <var_toparnode6:nullable Object> isa nullable TOpar */
3399 cltype13
= type_nullable__nit__TOpar
.color
;
3400 idtype14
= type_nullable__nit__TOpar
.id
;
3401 if(var_toparnode6
== NULL
) {
3404 if(cltype13
>= (((long)var_toparnode6
&3)?type_info
[((long)var_toparnode6
&3)]:var_toparnode6
->type
)->table_size
) {
3407 var12
= (((long)var_toparnode6
&3)?type_info
[((long)var_toparnode6
&3)]:var_toparnode6
->type
)->type_table
[cltype13
] == idtype14
;
3410 if (unlikely(!var12
)) {
3411 PRINT_ERROR("Runtime error: %s", "Assert failed");
3412 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10296);
3415 var_listnode7
= var_nodearraylist5
;
3416 /* <var_listnode7:nullable Object> isa Array[Object] */
3417 cltype16
= type_standard__Array__standard__Object
.color
;
3418 idtype17
= type_standard__Array__standard__Object
.id
;
3419 if(var_listnode7
== NULL
) {
3422 if(cltype16
>= (((long)var_listnode7
&3)?type_info
[((long)var_listnode7
&3)]:var_listnode7
->type
)->table_size
) {
3425 var15
= (((long)var_listnode7
&3)?type_info
[((long)var_listnode7
&3)]:var_listnode7
->type
)->type_table
[cltype16
] == idtype17
;
3428 if (unlikely(!var15
)) {
3429 PRINT_ERROR("Runtime error: %s", "Assert failed");
3430 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10298);
3434 var18
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode8
, var_listnode7
);
3436 var_listnode8
= var18
;
3437 var_tcparnode9
= var_nodearraylist6
;
3438 /* <var_tcparnode9:nullable Object> isa nullable TCpar */
3439 cltype20
= type_nullable__nit__TCpar
.color
;
3440 idtype21
= type_nullable__nit__TCpar
.id
;
3441 if(var_tcparnode9
== NULL
) {
3444 if(cltype20
>= (((long)var_tcparnode9
&3)?type_info
[((long)var_tcparnode9
&3)]:var_tcparnode9
->type
)->table_size
) {
3447 var19
= (((long)var_tcparnode9
&3)?type_info
[((long)var_tcparnode9
&3)]:var_tcparnode9
->type
)->type_table
[cltype20
] == idtype21
;
3450 if (unlikely(!var19
)) {
3451 PRINT_ERROR("Runtime error: %s", "Assert failed");
3452 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10301);
3455 var_pannotationsnode10
= var_nodearraylist7
;
3456 /* <var_pannotationsnode10:nullable Object> isa nullable AAnnotations */
3457 cltype23
= type_nullable__nit__AAnnotations
.color
;
3458 idtype24
= type_nullable__nit__AAnnotations
.id
;
3459 if(var_pannotationsnode10
== NULL
) {
3462 if(cltype23
>= (((long)var_pannotationsnode10
&3)?type_info
[((long)var_pannotationsnode10
&3)]:var_pannotationsnode10
->type
)->table_size
) {
3465 var22
= (((long)var_pannotationsnode10
&3)?type_info
[((long)var_pannotationsnode10
&3)]:var_pannotationsnode10
->type
)->type_table
[cltype23
] == idtype24
;
3468 if (unlikely(!var22
)) {
3469 PRINT_ERROR("Runtime error: %s", "Assert failed");
3470 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10303);
3473 var25
= NEW_nit__AAnnotPropdef(&type_nit__AAnnotPropdef
);
3475 nit__parser_prod___AAnnotPropdef___init_aannotpropdef(var25
, var_pdocnode2
, ((val
*)NULL
), ((val
*)NULL
), var_patidnode5
, var_toparnode6
, var_listnode8
, var_tcparnode9
, var_pannotationsnode10
); /* Direct call parser_prod#AAnnotPropdef#init_aannotpropdef on <var25:AAnnotPropdef>*/
3477 var_ppropdefnode1
= var25
;
3478 var_node_list
= var_ppropdefnode1
;
3479 var26
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction429> */
3481 var27
= nit___nit__Parser___go_to(var_p
, var26
);
3484 nit___nit__Parser___push(var_p
, var27
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3488 /* method parser#ReduceAction430#action for (self: ReduceAction430, Parser) */
3489 void nit__parser___nit__parser__ReduceAction430___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3490 val
* var_p
/* var p: Parser */;
3491 val
* var_node_list
/* var node_list: nullable Object */;
3492 val
* var
/* : nullable Object */;
3493 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3494 val
* var1
/* : nullable Object */;
3495 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3496 val
* var2
/* : nullable Object */;
3497 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3498 val
* var3
/* : Array[Object] */;
3499 val
* var_listnode8
/* var listnode8: Array[Object] */;
3500 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
3501 short int var4
/* : Bool */;
3504 val
* var_patidnode5
/* var patidnode5: nullable Object */;
3505 short int var5
/* : Bool */;
3508 val
* var_listnode7
/* var listnode7: nullable Object */;
3509 short int var8
/* : Bool */;
3512 val
* var11
/* : Array[Object] */;
3513 val
* var12
/* : AAnnotPropdef */;
3514 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable AAnnotPropdef */;
3515 long var13
/* : Int */;
3516 long var14
/* : Int */;
3518 var_node_list
= ((val
*)NULL
);
3520 var
= nit___nit__Parser___pop(var_p
);
3522 var_nodearraylist3
= var
;
3524 var1
= nit___nit__Parser___pop(var_p
);
3526 var_nodearraylist2
= var1
;
3528 var2
= nit___nit__Parser___pop(var_p
);
3530 var_nodearraylist1
= var2
;
3531 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3533 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
3535 var_listnode8
= var3
;
3536 var_pdocnode2
= var_nodearraylist1
;
3537 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3538 cltype
= type_nullable__nit__ADoc
.color
;
3539 idtype
= type_nullable__nit__ADoc
.id
;
3540 if(var_pdocnode2
== NULL
) {
3543 if(cltype
>= (((long)var_pdocnode2
&3)?type_info
[((long)var_pdocnode2
&3)]:var_pdocnode2
->type
)->table_size
) {
3546 var4
= (((long)var_pdocnode2
&3)?type_info
[((long)var_pdocnode2
&3)]:var_pdocnode2
->type
)->type_table
[cltype
] == idtype
;
3549 if (unlikely(!var4
)) {
3550 PRINT_ERROR("Runtime error: %s", "Assert failed");
3551 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10328);
3554 var_patidnode5
= var_nodearraylist2
;
3555 /* <var_patidnode5:nullable Object> isa nullable AAtid */
3556 cltype6
= type_nullable__nit__AAtid
.color
;
3557 idtype7
= type_nullable__nit__AAtid
.id
;
3558 if(var_patidnode5
== NULL
) {
3561 if(cltype6
>= (((long)var_patidnode5
&3)?type_info
[((long)var_patidnode5
&3)]:var_patidnode5
->type
)->table_size
) {
3564 var5
= (((long)var_patidnode5
&3)?type_info
[((long)var_patidnode5
&3)]:var_patidnode5
->type
)->type_table
[cltype6
] == idtype7
;
3567 if (unlikely(!var5
)) {
3568 PRINT_ERROR("Runtime error: %s", "Assert failed");
3569 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10330);
3572 var_listnode7
= var_nodearraylist3
;
3573 /* <var_listnode7:nullable Object> isa Array[Object] */
3574 cltype9
= type_standard__Array__standard__Object
.color
;
3575 idtype10
= type_standard__Array__standard__Object
.id
;
3576 if(var_listnode7
== NULL
) {
3579 if(cltype9
>= (((long)var_listnode7
&3)?type_info
[((long)var_listnode7
&3)]:var_listnode7
->type
)->table_size
) {
3582 var8
= (((long)var_listnode7
&3)?type_info
[((long)var_listnode7
&3)]:var_listnode7
->type
)->type_table
[cltype9
] == idtype10
;
3585 if (unlikely(!var8
)) {
3586 PRINT_ERROR("Runtime error: %s", "Assert failed");
3587 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10332);
3591 var11
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode8
, var_listnode7
);
3593 var_listnode8
= var11
;
3594 var12
= NEW_nit__AAnnotPropdef(&type_nit__AAnnotPropdef
);
3596 nit__parser_prod___AAnnotPropdef___init_aannotpropdef(var12
, var_pdocnode2
, ((val
*)NULL
), ((val
*)NULL
), var_patidnode5
, ((val
*)NULL
), var_listnode8
, ((val
*)NULL
), ((val
*)NULL
)); /* Direct call parser_prod#AAnnotPropdef#init_aannotpropdef on <var12:AAnnotPropdef>*/
3598 var_ppropdefnode1
= var12
;
3599 var_node_list
= var_ppropdefnode1
;
3600 var13
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction430> */
3602 var14
= nit___nit__Parser___go_to(var_p
, var13
);
3605 nit___nit__Parser___push(var_p
, var14
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3609 /* method parser#ReduceAction434#action for (self: ReduceAction434, Parser) */
3610 void nit__parser___nit__parser__ReduceAction434___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3611 val
* var_p
/* var p: Parser */;
3612 val
* var_node_list
/* var node_list: nullable Object */;
3613 val
* var
/* : nullable Object */;
3614 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3615 val
* var_ptypenode2
/* var ptypenode2: nullable Object */;
3616 short int var1
/* : Bool */;
3619 val
* var2
/* : ATypeExpr */;
3620 val
* var_pexprnode1
/* var pexprnode1: nullable ATypeExpr */;
3621 long var3
/* : Int */;
3622 long var4
/* : Int */;
3624 var_node_list
= ((val
*)NULL
);
3626 var
= nit___nit__Parser___pop(var_p
);
3628 var_nodearraylist1
= var
;
3629 var_ptypenode2
= var_nodearraylist1
;
3630 /* <var_ptypenode2:nullable Object> isa nullable AType */
3631 cltype
= type_nullable__nit__AType
.color
;
3632 idtype
= type_nullable__nit__AType
.id
;
3633 if(var_ptypenode2
== NULL
) {
3636 if(cltype
>= (((long)var_ptypenode2
&3)?type_info
[((long)var_ptypenode2
&3)]:var_ptypenode2
->type
)->table_size
) {
3639 var1
= (((long)var_ptypenode2
&3)?type_info
[((long)var_ptypenode2
&3)]:var_ptypenode2
->type
)->type_table
[cltype
] == idtype
;
3642 if (unlikely(!var1
)) {
3643 PRINT_ERROR("Runtime error: %s", "Assert failed");
3644 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10355);
3647 var2
= NEW_nit__ATypeExpr(&type_nit__ATypeExpr
);
3649 nit__parser_prod___ATypeExpr___init_atypeexpr(var2
, var_ptypenode2
); /* Direct call parser_prod#ATypeExpr#init_atypeexpr on <var2:ATypeExpr>*/
3651 var_pexprnode1
= var2
;
3652 var_node_list
= var_pexprnode1
;
3653 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction434> */
3655 var4
= nit___nit__Parser___go_to(var_p
, var3
);
3658 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3662 /* method parser#ReduceAction437#action for (self: ReduceAction437, Parser) */
3663 void nit__parser___nit__parser__ReduceAction437___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3664 val
* var_p
/* var p: Parser */;
3665 val
* var_node_list
/* var node_list: nullable Object */;
3666 val
* var
/* : nullable Object */;
3667 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3668 val
* var1
/* : nullable Object */;
3669 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3670 val
* var2
/* : nullable Object */;
3671 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3672 val
* var3
/* : nullable Object */;
3673 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3674 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3675 short int var4
/* : Bool */;
3678 val
* var_pmethidnode3
/* var pmethidnode3: nullable Object */;
3679 short int var5
/* : Bool */;
3682 val
* var8
/* : AMethidExpr */;
3683 val
* var_pexprnode1
/* var pexprnode1: nullable AMethidExpr */;
3684 long var9
/* : Int */;
3685 long var10
/* : Int */;
3687 var_node_list
= ((val
*)NULL
);
3689 var
= nit___nit__Parser___pop(var_p
);
3691 var_nodearraylist4
= var
;
3693 var1
= nit___nit__Parser___pop(var_p
);
3695 var_nodearraylist3
= var1
;
3697 var2
= nit___nit__Parser___pop(var_p
);
3699 var_nodearraylist2
= var2
;
3701 var3
= nit___nit__Parser___pop(var_p
);
3703 var_nodearraylist1
= var3
;
3704 var_pexprnode2
= var_nodearraylist1
;
3705 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3706 cltype
= type_nullable__nit__AExpr
.color
;
3707 idtype
= type_nullable__nit__AExpr
.id
;
3708 if(var_pexprnode2
== NULL
) {
3711 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
3714 var4
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
3717 if (unlikely(!var4
)) {
3718 PRINT_ERROR("Runtime error: %s", "Assert failed");
3719 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10373);
3722 var_pmethidnode3
= var_nodearraylist4
;
3723 /* <var_pmethidnode3:nullable Object> isa nullable AMethid */
3724 cltype6
= type_nullable__nit__AMethid
.color
;
3725 idtype7
= type_nullable__nit__AMethid
.id
;
3726 if(var_pmethidnode3
== NULL
) {
3729 if(cltype6
>= (((long)var_pmethidnode3
&3)?type_info
[((long)var_pmethidnode3
&3)]:var_pmethidnode3
->type
)->table_size
) {
3732 var5
= (((long)var_pmethidnode3
&3)?type_info
[((long)var_pmethidnode3
&3)]:var_pmethidnode3
->type
)->type_table
[cltype6
] == idtype7
;
3735 if (unlikely(!var5
)) {
3736 PRINT_ERROR("Runtime error: %s", "Assert failed");
3737 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10375);
3740 var8
= NEW_nit__AMethidExpr(&type_nit__AMethidExpr
);
3742 nit__parser_prod___AMethidExpr___init_amethidexpr(var8
, var_pexprnode2
, var_pmethidnode3
); /* Direct call parser_prod#AMethidExpr#init_amethidexpr on <var8:AMethidExpr>*/
3744 var_pexprnode1
= var8
;
3745 var_node_list
= var_pexprnode1
;
3746 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction437> */
3748 var10
= nit___nit__Parser___go_to(var_p
, var9
);
3751 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3755 /* method parser#ReduceAction438#action for (self: ReduceAction438, Parser) */
3756 void nit__parser___nit__parser__ReduceAction438___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3757 val
* var_p
/* var p: Parser */;
3758 val
* var_node_list
/* var node_list: nullable Object */;
3759 val
* var
/* : nullable Object */;
3760 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3761 val
* var1
/* : AImplicitSelfExpr */;
3762 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
3763 val
* var_pmethidnode3
/* var pmethidnode3: nullable Object */;
3764 short int var2
/* : Bool */;
3767 val
* var3
/* : AMethidExpr */;
3768 val
* var_pexprnode1
/* var pexprnode1: nullable AMethidExpr */;
3769 long var4
/* : Int */;
3770 long var5
/* : Int */;
3772 var_node_list
= ((val
*)NULL
);
3774 var
= nit___nit__Parser___pop(var_p
);
3776 var_nodearraylist1
= var
;
3777 var1
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
3779 nit__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var1
); /* Direct call parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr on <var1:AImplicitSelfExpr>*/
3781 var_pexprnode2
= var1
;
3782 var_pmethidnode3
= var_nodearraylist1
;
3783 /* <var_pmethidnode3:nullable Object> isa nullable AMethid */
3784 cltype
= type_nullable__nit__AMethid
.color
;
3785 idtype
= type_nullable__nit__AMethid
.id
;
3786 if(var_pmethidnode3
== NULL
) {
3789 if(cltype
>= (((long)var_pmethidnode3
&3)?type_info
[((long)var_pmethidnode3
&3)]:var_pmethidnode3
->type
)->table_size
) {
3792 var2
= (((long)var_pmethidnode3
&3)?type_info
[((long)var_pmethidnode3
&3)]:var_pmethidnode3
->type
)->type_table
[cltype
] == idtype
;
3795 if (unlikely(!var2
)) {
3796 PRINT_ERROR("Runtime error: %s", "Assert failed");
3797 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10392);
3800 var3
= NEW_nit__AMethidExpr(&type_nit__AMethidExpr
);
3802 nit__parser_prod___AMethidExpr___init_amethidexpr(var3
, var_pexprnode2
, var_pmethidnode3
); /* Direct call parser_prod#AMethidExpr#init_amethidexpr on <var3:AMethidExpr>*/
3804 var_pexprnode1
= var3
;
3805 var_node_list
= var_pexprnode1
;
3806 var4
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction438> */
3808 var5
= nit___nit__Parser___go_to(var_p
, var4
);
3811 nit___nit__Parser___push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3815 /* method parser#ReduceAction439#action for (self: ReduceAction439, Parser) */
3816 void nit__parser___nit__parser__ReduceAction439___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3817 val
* var_p
/* var p: Parser */;
3818 val
* var_node_list
/* var node_list: nullable Object */;
3819 val
* var
/* : nullable Object */;
3820 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3821 val
* var_pannotationsnode2
/* var pannotationsnode2: nullable Object */;
3822 short int var1
/* : Bool */;
3825 val
* var2
/* : AAtExpr */;
3826 val
* var_pexprnode1
/* var pexprnode1: nullable AAtExpr */;
3827 long var3
/* : Int */;
3828 long var4
/* : Int */;
3830 var_node_list
= ((val
*)NULL
);
3832 var
= nit___nit__Parser___pop(var_p
);
3834 var_nodearraylist1
= var
;
3835 var_pannotationsnode2
= var_nodearraylist1
;
3836 /* <var_pannotationsnode2:nullable Object> isa nullable AAnnotations */
3837 cltype
= type_nullable__nit__AAnnotations
.color
;
3838 idtype
= type_nullable__nit__AAnnotations
.id
;
3839 if(var_pannotationsnode2
== NULL
) {
3842 if(cltype
>= (((long)var_pannotationsnode2
&3)?type_info
[((long)var_pannotationsnode2
&3)]:var_pannotationsnode2
->type
)->table_size
) {
3845 var1
= (((long)var_pannotationsnode2
&3)?type_info
[((long)var_pannotationsnode2
&3)]:var_pannotationsnode2
->type
)->type_table
[cltype
] == idtype
;
3848 if (unlikely(!var1
)) {
3849 PRINT_ERROR("Runtime error: %s", "Assert failed");
3850 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10408);
3853 var2
= NEW_nit__AAtExpr(&type_nit__AAtExpr
);
3855 nit__parser_prod___AAtExpr___init_aatexpr(var2
, var_pannotationsnode2
); /* Direct call parser_prod#AAtExpr#init_aatexpr on <var2:AAtExpr>*/
3857 var_pexprnode1
= var2
;
3858 var_node_list
= var_pexprnode1
;
3859 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction439> */
3861 var4
= nit___nit__Parser___go_to(var_p
, var3
);
3864 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3868 /* method parser#ReduceAction440#action for (self: ReduceAction440, Parser) */
3869 void nit__parser___nit__parser__ReduceAction440___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3870 val
* var_p
/* var p: Parser */;
3871 val
* var_node_list
/* var node_list: nullable Object */;
3872 val
* var
/* : nullable Object */;
3873 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3874 val
* var_tidnode2
/* var tidnode2: nullable Object */;
3875 short int var1
/* : Bool */;
3878 val
* var2
/* : AIdAtid */;
3879 val
* var_patidnode1
/* var patidnode1: nullable AIdAtid */;
3880 long var3
/* : Int */;
3881 long var4
/* : Int */;
3883 var_node_list
= ((val
*)NULL
);
3885 var
= nit___nit__Parser___pop(var_p
);
3887 var_nodearraylist1
= var
;
3888 var_tidnode2
= var_nodearraylist1
;
3889 /* <var_tidnode2:nullable Object> isa nullable TId */
3890 cltype
= type_nullable__nit__TId
.color
;
3891 idtype
= type_nullable__nit__TId
.id
;
3892 if(var_tidnode2
== NULL
) {
3895 if(cltype
>= (((long)var_tidnode2
&3)?type_info
[((long)var_tidnode2
&3)]:var_tidnode2
->type
)->table_size
) {
3898 var1
= (((long)var_tidnode2
&3)?type_info
[((long)var_tidnode2
&3)]:var_tidnode2
->type
)->type_table
[cltype
] == idtype
;
3901 if (unlikely(!var1
)) {
3902 PRINT_ERROR("Runtime error: %s", "Assert failed");
3903 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10423);
3906 var2
= NEW_nit__AIdAtid(&type_nit__AIdAtid
);
3908 nit__parser_prod___AIdAtid___init_aidatid(var2
, var_tidnode2
); /* Direct call parser_prod#AIdAtid#init_aidatid on <var2:AIdAtid>*/
3910 var_patidnode1
= var2
;
3911 var_node_list
= var_patidnode1
;
3912 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction440> */
3914 var4
= nit___nit__Parser___go_to(var_p
, var3
);
3917 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3921 /* method parser#ReduceAction441#action for (self: ReduceAction441, Parser) */
3922 void nit__parser___nit__parser__ReduceAction441___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3923 val
* var_p
/* var p: Parser */;
3924 val
* var_node_list
/* var node_list: nullable Object */;
3925 val
* var
/* : nullable Object */;
3926 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3927 val
* var_tkwexternnode2
/* var tkwexternnode2: nullable Object */;
3928 short int var1
/* : Bool */;
3931 val
* var2
/* : AKwexternAtid */;
3932 val
* var_patidnode1
/* var patidnode1: nullable AKwexternAtid */;
3933 long var3
/* : Int */;
3934 long var4
/* : Int */;
3936 var_node_list
= ((val
*)NULL
);
3938 var
= nit___nit__Parser___pop(var_p
);
3940 var_nodearraylist1
= var
;
3941 var_tkwexternnode2
= var_nodearraylist1
;
3942 /* <var_tkwexternnode2:nullable Object> isa nullable TKwextern */
3943 cltype
= type_nullable__nit__TKwextern
.color
;
3944 idtype
= type_nullable__nit__TKwextern
.id
;
3945 if(var_tkwexternnode2
== NULL
) {
3948 if(cltype
>= (((long)var_tkwexternnode2
&3)?type_info
[((long)var_tkwexternnode2
&3)]:var_tkwexternnode2
->type
)->table_size
) {
3951 var1
= (((long)var_tkwexternnode2
&3)?type_info
[((long)var_tkwexternnode2
&3)]:var_tkwexternnode2
->type
)->type_table
[cltype
] == idtype
;
3954 if (unlikely(!var1
)) {
3955 PRINT_ERROR("Runtime error: %s", "Assert failed");
3956 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10438);
3959 var2
= NEW_nit__AKwexternAtid(&type_nit__AKwexternAtid
);
3961 nit__parser_prod___AKwexternAtid___init_akwexternatid(var2
, var_tkwexternnode2
); /* Direct call parser_prod#AKwexternAtid#init_akwexternatid on <var2:AKwexternAtid>*/
3963 var_patidnode1
= var2
;
3964 var_node_list
= var_patidnode1
;
3965 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction441> */
3967 var4
= nit___nit__Parser___go_to(var_p
, var3
);
3970 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3974 /* method parser#ReduceAction442#action for (self: ReduceAction442, Parser) */
3975 void nit__parser___nit__parser__ReduceAction442___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3976 val
* var_p
/* var p: Parser */;
3977 val
* var_node_list
/* var node_list: nullable Object */;
3978 val
* var
/* : nullable Object */;
3979 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3980 val
* var_tkwabstractnode2
/* var tkwabstractnode2: nullable Object */;
3981 short int var1
/* : Bool */;
3984 val
* var2
/* : AKwabstractAtid */;
3985 val
* var_patidnode1
/* var patidnode1: nullable AKwabstractAtid */;
3986 long var3
/* : Int */;
3987 long var4
/* : Int */;
3989 var_node_list
= ((val
*)NULL
);
3991 var
= nit___nit__Parser___pop(var_p
);
3993 var_nodearraylist1
= var
;
3994 var_tkwabstractnode2
= var_nodearraylist1
;
3995 /* <var_tkwabstractnode2:nullable Object> isa nullable TKwabstract */
3996 cltype
= type_nullable__nit__TKwabstract
.color
;
3997 idtype
= type_nullable__nit__TKwabstract
.id
;
3998 if(var_tkwabstractnode2
== NULL
) {
4001 if(cltype
>= (((long)var_tkwabstractnode2
&3)?type_info
[((long)var_tkwabstractnode2
&3)]:var_tkwabstractnode2
->type
)->table_size
) {
4004 var1
= (((long)var_tkwabstractnode2
&3)?type_info
[((long)var_tkwabstractnode2
&3)]:var_tkwabstractnode2
->type
)->type_table
[cltype
] == idtype
;
4007 if (unlikely(!var1
)) {
4008 PRINT_ERROR("Runtime error: %s", "Assert failed");
4009 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10453);
4012 var2
= NEW_nit__AKwabstractAtid(&type_nit__AKwabstractAtid
);
4014 nit__parser_prod___AKwabstractAtid___init_akwabstractatid(var2
, var_tkwabstractnode2
); /* Direct call parser_prod#AKwabstractAtid#init_akwabstractatid on <var2:AKwabstractAtid>*/
4016 var_patidnode1
= var2
;
4017 var_node_list
= var_patidnode1
;
4018 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction442> */
4020 var4
= nit___nit__Parser___go_to(var_p
, var3
);
4023 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4027 /* method parser#ReduceAction443#action for (self: ReduceAction443, Parser) */
4028 void nit__parser___nit__parser__ReduceAction443___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4029 val
* var_p
/* var p: Parser */;
4030 val
* var_node_list
/* var node_list: nullable Object */;
4031 val
* var
/* : nullable Object */;
4032 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4033 val
* var1
/* : nullable Object */;
4034 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4035 val
* var2
/* : nullable Object */;
4036 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4037 val
* var3
/* : nullable Object */;
4038 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4039 val
* var4
/* : Array[Object] */;
4040 val
* var_listnode4
/* var listnode4: Array[Object] */;
4041 val
* var_toparnode2
/* var toparnode2: nullable Object */;
4042 short int var5
/* : Bool */;
4045 val
* var_listnode3
/* var listnode3: nullable Object */;
4046 short int var6
/* : Bool */;
4049 val
* var9
/* : Array[Object] */;
4050 val
* var_tcparnode5
/* var tcparnode5: nullable Object */;
4051 short int var10
/* : Bool */;
4054 val
* var13
/* : AParExprs */;
4055 val
* var_pexprsnode1
/* var pexprsnode1: nullable AParExprs */;
4056 long var14
/* : Int */;
4057 long var15
/* : Int */;
4059 var_node_list
= ((val
*)NULL
);
4061 var
= nit___nit__Parser___pop(var_p
);
4063 var_nodearraylist4
= var
;
4065 var1
= nit___nit__Parser___pop(var_p
);
4067 var_nodearraylist3
= var1
;
4069 var2
= nit___nit__Parser___pop(var_p
);
4071 var_nodearraylist2
= var2
;
4073 var3
= nit___nit__Parser___pop(var_p
);
4075 var_nodearraylist1
= var3
;
4076 var4
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4078 standard___standard__Array___standard__kernel__Object__init(var4
); /* Direct call array#Array#init on <var4:Array[Object]>*/
4080 var_listnode4
= var4
;
4081 var_toparnode2
= var_nodearraylist1
;
4082 /* <var_toparnode2:nullable Object> isa nullable TOpar */
4083 cltype
= type_nullable__nit__TOpar
.color
;
4084 idtype
= type_nullable__nit__TOpar
.id
;
4085 if(var_toparnode2
== NULL
) {
4088 if(cltype
>= (((long)var_toparnode2
&3)?type_info
[((long)var_toparnode2
&3)]:var_toparnode2
->type
)->table_size
) {
4091 var5
= (((long)var_toparnode2
&3)?type_info
[((long)var_toparnode2
&3)]:var_toparnode2
->type
)->type_table
[cltype
] == idtype
;
4094 if (unlikely(!var5
)) {
4095 PRINT_ERROR("Runtime error: %s", "Assert failed");
4096 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10472);
4099 var_listnode3
= var_nodearraylist3
;
4100 /* <var_listnode3:nullable Object> isa Array[Object] */
4101 cltype7
= type_standard__Array__standard__Object
.color
;
4102 idtype8
= type_standard__Array__standard__Object
.id
;
4103 if(var_listnode3
== NULL
) {
4106 if(cltype7
>= (((long)var_listnode3
&3)?type_info
[((long)var_listnode3
&3)]:var_listnode3
->type
)->table_size
) {
4109 var6
= (((long)var_listnode3
&3)?type_info
[((long)var_listnode3
&3)]:var_listnode3
->type
)->type_table
[cltype7
] == idtype8
;
4112 if (unlikely(!var6
)) {
4113 PRINT_ERROR("Runtime error: %s", "Assert failed");
4114 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10474);
4118 var9
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode4
, var_listnode3
);
4120 var_listnode4
= var9
;
4121 var_tcparnode5
= var_nodearraylist4
;
4122 /* <var_tcparnode5:nullable Object> isa nullable TCpar */
4123 cltype11
= type_nullable__nit__TCpar
.color
;
4124 idtype12
= type_nullable__nit__TCpar
.id
;
4125 if(var_tcparnode5
== NULL
) {
4128 if(cltype11
>= (((long)var_tcparnode5
&3)?type_info
[((long)var_tcparnode5
&3)]:var_tcparnode5
->type
)->table_size
) {
4131 var10
= (((long)var_tcparnode5
&3)?type_info
[((long)var_tcparnode5
&3)]:var_tcparnode5
->type
)->type_table
[cltype11
] == idtype12
;
4134 if (unlikely(!var10
)) {
4135 PRINT_ERROR("Runtime error: %s", "Assert failed");
4136 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10477);
4139 var13
= NEW_nit__AParExprs(&type_nit__AParExprs
);
4141 nit__parser_prod___AParExprs___init_aparexprs(var13
, var_toparnode2
, var_listnode4
, var_tcparnode5
); /* Direct call parser_prod#AParExprs#init_aparexprs on <var13:AParExprs>*/
4143 var_pexprsnode1
= var13
;
4144 var_node_list
= var_pexprsnode1
;
4145 var14
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction443> */
4147 var15
= nit___nit__Parser___go_to(var_p
, var14
);
4150 nit___nit__Parser___push(var_p
, var15
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4154 /* method parser#ReduceAction444#action for (self: ReduceAction444, Parser) */
4155 void nit__parser___nit__parser__ReduceAction444___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4156 val
* var_p
/* var p: Parser */;
4157 val
* var_node_list
/* var node_list: nullable Object */;
4158 val
* var
/* : nullable Object */;
4159 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4160 val
* var1
/* : nullable Object */;
4161 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4162 val
* var2
/* : nullable Object */;
4163 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4164 val
* var3
/* : Array[Object] */;
4165 val
* var_listnode3
/* var listnode3: Array[Object] */;
4166 val
* var_toparnode2
/* var toparnode2: nullable Object */;
4167 short int var4
/* : Bool */;
4170 val
* var_tcparnode4
/* var tcparnode4: nullable Object */;
4171 short int var5
/* : Bool */;
4174 val
* var8
/* : AParExprs */;
4175 val
* var_pexprsnode1
/* var pexprsnode1: nullable AParExprs */;
4176 long var9
/* : Int */;
4177 long var10
/* : Int */;
4179 var_node_list
= ((val
*)NULL
);
4181 var
= nit___nit__Parser___pop(var_p
);
4183 var_nodearraylist3
= var
;
4185 var1
= nit___nit__Parser___pop(var_p
);
4187 var_nodearraylist2
= var1
;
4189 var2
= nit___nit__Parser___pop(var_p
);
4191 var_nodearraylist1
= var2
;
4192 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4194 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
4196 var_listnode3
= var3
;
4197 var_toparnode2
= var_nodearraylist1
;
4198 /* <var_toparnode2:nullable Object> isa nullable TOpar */
4199 cltype
= type_nullable__nit__TOpar
.color
;
4200 idtype
= type_nullable__nit__TOpar
.id
;
4201 if(var_toparnode2
== NULL
) {
4204 if(cltype
>= (((long)var_toparnode2
&3)?type_info
[((long)var_toparnode2
&3)]:var_toparnode2
->type
)->table_size
) {
4207 var4
= (((long)var_toparnode2
&3)?type_info
[((long)var_toparnode2
&3)]:var_toparnode2
->type
)->type_table
[cltype
] == idtype
;
4210 if (unlikely(!var4
)) {
4211 PRINT_ERROR("Runtime error: %s", "Assert failed");
4212 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10497);
4215 var_tcparnode4
= var_nodearraylist3
;
4216 /* <var_tcparnode4:nullable Object> isa nullable TCpar */
4217 cltype6
= type_nullable__nit__TCpar
.color
;
4218 idtype7
= type_nullable__nit__TCpar
.id
;
4219 if(var_tcparnode4
== NULL
) {
4222 if(cltype6
>= (((long)var_tcparnode4
&3)?type_info
[((long)var_tcparnode4
&3)]:var_tcparnode4
->type
)->table_size
) {
4225 var5
= (((long)var_tcparnode4
&3)?type_info
[((long)var_tcparnode4
&3)]:var_tcparnode4
->type
)->type_table
[cltype6
] == idtype7
;
4228 if (unlikely(!var5
)) {
4229 PRINT_ERROR("Runtime error: %s", "Assert failed");
4230 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10499);
4233 var8
= NEW_nit__AParExprs(&type_nit__AParExprs
);
4235 nit__parser_prod___AParExprs___init_aparexprs(var8
, var_toparnode2
, var_listnode3
, var_tcparnode4
); /* Direct call parser_prod#AParExprs#init_aparexprs on <var8:AParExprs>*/
4237 var_pexprsnode1
= var8
;
4238 var_node_list
= var_pexprsnode1
;
4239 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction444> */
4241 var10
= nit___nit__Parser___go_to(var_p
, var9
);
4244 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4248 /* method parser#ReduceAction446#action for (self: ReduceAction446, Parser) */
4249 void nit__parser___nit__parser__ReduceAction446___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4250 val
* var_p
/* var p: Parser */;
4251 val
* var_node_list
/* var node_list: nullable Object */;
4252 val
* var
/* : nullable Object */;
4253 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4254 val
* var1
/* : Array[Object] */;
4255 val
* var_listnode3
/* var listnode3: Array[Object] */;
4256 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4257 short int var2
/* : Bool */;
4260 short int var3
/* : Bool */;
4261 short int var4
/* : Bool */;
4262 val
* var_other
/* var other: nullable Object */;
4263 short int var6
/* : Bool */;
4264 short int var7
/* : Bool */;
4265 val
* var8
/* : AListExprs */;
4266 val
* var_pexprsnode1
/* var pexprsnode1: nullable AListExprs */;
4267 long var9
/* : Int */;
4268 long var10
/* : Int */;
4270 var_node_list
= ((val
*)NULL
);
4272 var
= nit___nit__Parser___pop(var_p
);
4274 var_nodearraylist1
= var
;
4275 var1
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4277 standard___standard__Array___standard__kernel__Object__init(var1
); /* Direct call array#Array#init on <var1:Array[Object]>*/
4279 var_listnode3
= var1
;
4280 var_pexprnode2
= var_nodearraylist1
;
4281 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4282 cltype
= type_nullable__nit__AExpr
.color
;
4283 idtype
= type_nullable__nit__AExpr
.id
;
4284 if(var_pexprnode2
== NULL
) {
4287 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
4290 var2
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
4293 if (unlikely(!var2
)) {
4294 PRINT_ERROR("Runtime error: %s", "Assert failed");
4295 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10517);
4298 if (var_pexprnode2
== NULL
) {
4299 var3
= 0; /* is null */
4301 var3
= 1; /* arg is null and recv is not */
4304 { /* Inline kernel#Object#!= (var_pexprnode2,((val*)NULL)) on <var_pexprnode2:nullable Object(nullable AExpr)> */
4305 var_other
= ((val
*)NULL
);
4307 var6
= ((short int(*)(val
* self
, val
* p0
))(var_pexprnode2
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_pexprnode2
, var_other
); /* == on <var_pexprnode2:nullable AExpr(AExpr)>*/
4318 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_pexprnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
4322 var8
= NEW_nit__AListExprs(&type_nit__AListExprs
);
4324 nit__parser_prod___AListExprs___init_alistexprs(var8
, var_listnode3
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var8:AListExprs>*/
4326 var_pexprsnode1
= var8
;
4327 var_node_list
= var_pexprsnode1
;
4328 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction446> */
4330 var10
= nit___nit__Parser___go_to(var_p
, var9
);
4333 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4337 /* method parser#ReduceAction448#action for (self: ReduceAction448, Parser) */
4338 void nit__parser___nit__parser__ReduceAction448___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4339 val
* var_p
/* var p: Parser */;
4340 val
* var_node_list
/* var node_list: nullable Object */;
4341 val
* var
/* : Array[Object] */;
4342 val
* var_listnode2
/* var listnode2: Array[Object] */;
4343 val
* var1
/* : AListExprs */;
4344 val
* var_pexprsnode1
/* var pexprsnode1: nullable AListExprs */;
4345 long var2
/* : Int */;
4346 long var3
/* : Int */;
4348 var_node_list
= ((val
*)NULL
);
4349 var
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4351 standard___standard__Array___standard__kernel__Object__init(var
); /* Direct call array#Array#init on <var:Array[Object]>*/
4353 var_listnode2
= var
;
4354 var1
= NEW_nit__AListExprs(&type_nit__AListExprs
);
4356 nit__parser_prod___AListExprs___init_alistexprs(var1
, var_listnode2
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var1:AListExprs>*/
4358 var_pexprsnode1
= var1
;
4359 var_node_list
= var_pexprsnode1
;
4360 var2
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction448> */
4362 var3
= nit___nit__Parser___go_to(var_p
, var2
);
4365 nit___nit__Parser___push(var_p
, var3
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4369 /* method parser#ReduceAction449#action for (self: ReduceAction449, Parser) */
4370 void nit__parser___nit__parser__ReduceAction449___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4371 val
* var_p
/* var p: Parser */;
4372 val
* var_node_list
/* var node_list: nullable Object */;
4373 val
* var
/* : nullable Object */;
4374 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4375 val
* var1
/* : nullable Object */;
4376 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4377 val
* var2
/* : nullable Object */;
4378 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4379 val
* var3
/* : nullable Object */;
4380 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4381 val
* var4
/* : Array[Object] */;
4382 val
* var_listnode4
/* var listnode4: Array[Object] */;
4383 val
* var_tobranode2
/* var tobranode2: nullable Object */;
4384 short int var5
/* : Bool */;
4387 val
* var_listnode3
/* var listnode3: nullable Object */;
4388 short int var6
/* : Bool */;
4391 val
* var9
/* : Array[Object] */;
4392 val
* var_tcbranode5
/* var tcbranode5: nullable Object */;
4393 short int var10
/* : Bool */;
4396 val
* var13
/* : ABraExprs */;
4397 val
* var_pexprsnode1
/* var pexprsnode1: nullable ABraExprs */;
4398 long var14
/* : Int */;
4399 long var15
/* : Int */;
4401 var_node_list
= ((val
*)NULL
);
4403 var
= nit___nit__Parser___pop(var_p
);
4405 var_nodearraylist4
= var
;
4407 var1
= nit___nit__Parser___pop(var_p
);
4409 var_nodearraylist3
= var1
;
4411 var2
= nit___nit__Parser___pop(var_p
);
4413 var_nodearraylist2
= var2
;
4415 var3
= nit___nit__Parser___pop(var_p
);
4417 var_nodearraylist1
= var3
;
4418 var4
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4420 standard___standard__Array___standard__kernel__Object__init(var4
); /* Direct call array#Array#init on <var4:Array[Object]>*/
4422 var_listnode4
= var4
;
4423 var_tobranode2
= var_nodearraylist1
;
4424 /* <var_tobranode2:nullable Object> isa nullable TObra */
4425 cltype
= type_nullable__nit__TObra
.color
;
4426 idtype
= type_nullable__nit__TObra
.id
;
4427 if(var_tobranode2
== NULL
) {
4430 if(cltype
>= (((long)var_tobranode2
&3)?type_info
[((long)var_tobranode2
&3)]:var_tobranode2
->type
)->table_size
) {
4433 var5
= (((long)var_tobranode2
&3)?type_info
[((long)var_tobranode2
&3)]:var_tobranode2
->type
)->type_table
[cltype
] == idtype
;
4436 if (unlikely(!var5
)) {
4437 PRINT_ERROR("Runtime error: %s", "Assert failed");
4438 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10552);
4441 var_listnode3
= var_nodearraylist3
;
4442 /* <var_listnode3:nullable Object> isa Array[Object] */
4443 cltype7
= type_standard__Array__standard__Object
.color
;
4444 idtype8
= type_standard__Array__standard__Object
.id
;
4445 if(var_listnode3
== NULL
) {
4448 if(cltype7
>= (((long)var_listnode3
&3)?type_info
[((long)var_listnode3
&3)]:var_listnode3
->type
)->table_size
) {
4451 var6
= (((long)var_listnode3
&3)?type_info
[((long)var_listnode3
&3)]:var_listnode3
->type
)->type_table
[cltype7
] == idtype8
;
4454 if (unlikely(!var6
)) {
4455 PRINT_ERROR("Runtime error: %s", "Assert failed");
4456 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10554);
4460 var9
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode4
, var_listnode3
);
4462 var_listnode4
= var9
;
4463 var_tcbranode5
= var_nodearraylist4
;
4464 /* <var_tcbranode5:nullable Object> isa nullable TCbra */
4465 cltype11
= type_nullable__nit__TCbra
.color
;
4466 idtype12
= type_nullable__nit__TCbra
.id
;
4467 if(var_tcbranode5
== NULL
) {
4470 if(cltype11
>= (((long)var_tcbranode5
&3)?type_info
[((long)var_tcbranode5
&3)]:var_tcbranode5
->type
)->table_size
) {
4473 var10
= (((long)var_tcbranode5
&3)?type_info
[((long)var_tcbranode5
&3)]:var_tcbranode5
->type
)->type_table
[cltype11
] == idtype12
;
4476 if (unlikely(!var10
)) {
4477 PRINT_ERROR("Runtime error: %s", "Assert failed");
4478 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10557);
4481 var13
= NEW_nit__ABraExprs(&type_nit__ABraExprs
);
4483 nit__parser_prod___ABraExprs___init_abraexprs(var13
, var_tobranode2
, var_listnode4
, var_tcbranode5
); /* Direct call parser_prod#ABraExprs#init_abraexprs on <var13:ABraExprs>*/
4485 var_pexprsnode1
= var13
;
4486 var_node_list
= var_pexprsnode1
;
4487 var14
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction449> */
4489 var15
= nit___nit__Parser___go_to(var_p
, var14
);
4492 nit___nit__Parser___push(var_p
, var15
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4496 /* method parser#ReduceAction451#action for (self: ReduceAction451, Parser) */
4497 void nit__parser___nit__parser__ReduceAction451___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4498 val
* var_p
/* var p: Parser */;
4499 val
* var_node_list
/* var node_list: nullable Object */;
4500 val
* var
/* : nullable Object */;
4501 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4502 val
* var1
/* : nullable Object */;
4503 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4504 val
* var2
/* : nullable Object */;
4505 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4506 val
* var3
/* : Array[Object] */;
4507 val
* var_listnode3
/* var listnode3: Array[Object] */;
4508 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
4509 val
* var_listnode2
/* var listnode2: nullable Object */;
4510 short int var4
/* : Bool */;
4513 short int var5
/* : Bool */;
4514 short int var6
/* : Bool */;
4515 val
* var7
/* : Array[Object] */;
4516 long var8
/* : Int */;
4517 long var9
/* : Int */;
4519 var_node_list
= ((val
*)NULL
);
4521 var
= nit___nit__Parser___pop(var_p
);
4523 var_nodearraylist3
= var
;
4525 var1
= nit___nit__Parser___pop(var_p
);
4527 var_nodearraylist2
= var1
;
4529 var2
= nit___nit__Parser___pop(var_p
);
4531 var_nodearraylist1
= var2
;
4532 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4534 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
4536 var_listnode3
= var3
;
4537 var_pexprnode1
= var_nodearraylist1
;
4538 var_listnode2
= var_nodearraylist3
;
4539 /* <var_listnode2:nullable Object> isa Array[Object] */
4540 cltype
= type_standard__Array__standard__Object
.color
;
4541 idtype
= type_standard__Array__standard__Object
.id
;
4542 if(var_listnode2
== NULL
) {
4545 if(cltype
>= (((long)var_listnode2
&3)?type_info
[((long)var_listnode2
&3)]:var_listnode2
->type
)->table_size
) {
4548 var4
= (((long)var_listnode2
&3)?type_info
[((long)var_listnode2
&3)]:var_listnode2
->type
)->type_table
[cltype
] == idtype
;
4551 if (unlikely(!var4
)) {
4552 PRINT_ERROR("Runtime error: %s", "Assert failed");
4553 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10578);
4556 if (var_pexprnode1
== NULL
) {
4557 var5
= 0; /* is null */
4559 var5
= 1; /* arg is null and recv is not */
4562 var6
= ((short int(*)(val
* self
, val
* p0
))((((long)var_pexprnode1
&3)?class_info
[((long)var_pexprnode1
&3)]:var_pexprnode1
->class)->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pexprnode1
, ((val
*)NULL
)); /* != on <var_pexprnode1:nullable Object>*/
4567 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_pexprnode1
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
4572 var7
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode2
);
4574 var_listnode3
= var7
;
4575 var_node_list
= var_listnode3
;
4576 var8
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction451> */
4578 var9
= nit___nit__Parser___go_to(var_p
, var8
);
4581 nit___nit__Parser___push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4585 /* method parser#ReduceAction452#action for (self: ReduceAction452, Parser) */
4586 void nit__parser___nit__parser__ReduceAction452___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4587 val
* var_p
/* var p: Parser */;
4588 val
* var_node_list
/* var node_list: nullable Object */;
4589 val
* var
/* : nullable Object */;
4590 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4591 val
* var1
/* : nullable Object */;
4592 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4593 val
* var2
/* : nullable Object */;
4594 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4595 val
* var3
/* : nullable Object */;
4596 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4597 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
4598 long var4
/* : Int */;
4599 long var5
/* : Int */;
4601 var_node_list
= ((val
*)NULL
);
4603 var
= nit___nit__Parser___pop(var_p
);
4605 var_nodearraylist4
= var
;
4607 var1
= nit___nit__Parser___pop(var_p
);
4609 var_nodearraylist3
= var1
;
4611 var2
= nit___nit__Parser___pop(var_p
);
4613 var_nodearraylist2
= var2
;
4615 var3
= nit___nit__Parser___pop(var_p
);
4617 var_nodearraylist1
= var3
;
4618 var_pexprnode1
= var_nodearraylist3
;
4619 var_node_list
= var_pexprnode1
;
4620 var4
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction452> */
4622 var5
= nit___nit__Parser___go_to(var_p
, var4
);
4625 nit___nit__Parser___push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4629 /* method parser#ReduceAction453#action for (self: ReduceAction453, Parser) */
4630 void nit__parser___nit__parser__ReduceAction453___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4631 val
* var_p
/* var p: Parser */;
4632 val
* var_node_list
/* var node_list: nullable Object */;
4633 val
* var
/* : nullable Object */;
4634 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4635 val
* var1
/* : nullable Object */;
4636 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4637 val
* var2
/* : nullable Object */;
4638 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4639 val
* var3
/* : nullable Object */;
4640 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4641 val
* var4
/* : nullable Object */;
4642 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4643 val
* var5
/* : Array[Object] */;
4644 val
* var_listnode2
/* var listnode2: Array[Object] */;
4645 val
* var_listnode1
/* var listnode1: nullable Object */;
4646 short int var6
/* : Bool */;
4649 val
* var7
/* : Array[Object] */;
4650 long var8
/* : Int */;
4651 long var9
/* : Int */;
4653 var_node_list
= ((val
*)NULL
);
4655 var
= nit___nit__Parser___pop(var_p
);
4657 var_nodearraylist5
= var
;
4659 var1
= nit___nit__Parser___pop(var_p
);
4661 var_nodearraylist4
= var1
;
4663 var2
= nit___nit__Parser___pop(var_p
);
4665 var_nodearraylist3
= var2
;
4667 var3
= nit___nit__Parser___pop(var_p
);
4669 var_nodearraylist2
= var3
;
4671 var4
= nit___nit__Parser___pop(var_p
);
4673 var_nodearraylist1
= var4
;
4674 var5
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4676 standard___standard__Array___standard__kernel__Object__init(var5
); /* Direct call array#Array#init on <var5:Array[Object]>*/
4678 var_listnode2
= var5
;
4679 var_listnode1
= var_nodearraylist3
;
4680 /* <var_listnode1:nullable Object> isa Array[Object] */
4681 cltype
= type_standard__Array__standard__Object
.color
;
4682 idtype
= type_standard__Array__standard__Object
.id
;
4683 if(var_listnode1
== NULL
) {
4686 if(cltype
>= (((long)var_listnode1
&3)?type_info
[((long)var_listnode1
&3)]:var_listnode1
->type
)->table_size
) {
4689 var6
= (((long)var_listnode1
&3)?type_info
[((long)var_listnode1
&3)]:var_listnode1
->type
)->type_table
[cltype
] == idtype
;
4692 if (unlikely(!var6
)) {
4693 PRINT_ERROR("Runtime error: %s", "Assert failed");
4694 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10613);
4698 var7
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode2
, var_listnode1
);
4700 var_listnode2
= var7
;
4701 var_node_list
= var_listnode2
;
4702 var8
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction453> */
4704 var9
= nit___nit__Parser___go_to(var_p
, var8
);
4707 nit___nit__Parser___push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4711 /* method parser#ReduceAction454#action for (self: ReduceAction454, Parser) */
4712 void nit__parser___nit__parser__ReduceAction454___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4713 val
* var_p
/* var p: Parser */;
4714 val
* var_node_list
/* var node_list: nullable Object */;
4715 val
* var
/* : nullable Object */;
4716 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4717 val
* var1
/* : Array[Object] */;
4718 val
* var_listnode2
/* var listnode2: Array[Object] */;
4719 val
* var_listnode1
/* var listnode1: nullable Object */;
4720 short int var2
/* : Bool */;
4723 val
* var3
/* : Array[Object] */;
4724 long var4
/* : Int */;
4725 long var5
/* : Int */;
4727 var_node_list
= ((val
*)NULL
);
4729 var
= nit___nit__Parser___pop(var_p
);
4731 var_nodearraylist1
= var
;
4732 var1
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4734 standard___standard__Array___standard__kernel__Object__init(var1
); /* Direct call array#Array#init on <var1:Array[Object]>*/
4736 var_listnode2
= var1
;
4737 var_listnode1
= var_nodearraylist1
;
4738 /* <var_listnode1:nullable Object> isa Array[Object] */
4739 cltype
= type_standard__Array__standard__Object
.color
;
4740 idtype
= type_standard__Array__standard__Object
.id
;
4741 if(var_listnode1
== NULL
) {
4744 if(cltype
>= (((long)var_listnode1
&3)?type_info
[((long)var_listnode1
&3)]:var_listnode1
->type
)->table_size
) {
4747 var2
= (((long)var_listnode1
&3)?type_info
[((long)var_listnode1
&3)]:var_listnode1
->type
)->type_table
[cltype
] == idtype
;
4750 if (unlikely(!var2
)) {
4751 PRINT_ERROR("Runtime error: %s", "Assert failed");
4752 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10627);
4756 var3
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode2
, var_listnode1
);
4758 var_listnode2
= var3
;
4759 var_node_list
= var_listnode2
;
4760 var4
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction454> */
4762 var5
= nit___nit__Parser___go_to(var_p
, var4
);
4765 nit___nit__Parser___push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4769 /* method parser#ReduceAction455#action for (self: ReduceAction455, Parser) */
4770 void nit__parser___nit__parser__ReduceAction455___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4771 val
* var_p
/* var p: Parser */;
4772 val
* var_node_list
/* var node_list: nullable Object */;
4773 val
* var
/* : nullable Object */;
4774 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4775 val
* var1
/* : Array[Object] */;
4776 val
* var_listnode2
/* var listnode2: Array[Object] */;
4777 val
* var_tidnode1
/* var tidnode1: nullable Object */;
4778 short int var2
/* : Bool */;
4779 short int var3
/* : Bool */;
4780 long var4
/* : Int */;
4781 long var5
/* : Int */;
4783 var_node_list
= ((val
*)NULL
);
4785 var
= nit___nit__Parser___pop(var_p
);
4787 var_nodearraylist1
= var
;
4788 var1
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4790 standard___standard__Array___standard__kernel__Object__init(var1
); /* Direct call array#Array#init on <var1:Array[Object]>*/
4792 var_listnode2
= var1
;
4793 var_tidnode1
= var_nodearraylist1
;
4794 if (var_tidnode1
== NULL
) {
4795 var2
= 0; /* is null */
4797 var2
= 1; /* arg is null and recv is not */
4800 var3
= ((short int(*)(val
* self
, val
* p0
))((((long)var_tidnode1
&3)?class_info
[((long)var_tidnode1
&3)]:var_tidnode1
->class)->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_tidnode1
, ((val
*)NULL
)); /* != on <var_tidnode1:nullable Object>*/
4805 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2
, var_tidnode1
); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
4809 var_node_list
= var_listnode2
;
4810 var4
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction455> */
4812 var5
= nit___nit__Parser___go_to(var_p
, var4
);
4815 nit___nit__Parser___push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4819 /* method parser#ReduceAction456#action for (self: ReduceAction456, Parser) */
4820 void nit__parser___nit__parser__ReduceAction456___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4821 val
* var_p
/* var p: Parser */;
4822 val
* var_node_list
/* var node_list: nullable Object */;
4823 val
* var
/* : nullable Object */;
4824 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4825 val
* var1
/* : nullable Object */;
4826 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4827 val
* var2
/* : nullable Object */;
4828 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4829 val
* var3
/* : nullable Object */;
4830 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4831 val
* var4
/* : Array[Object] */;
4832 val
* var_listnode3
/* var listnode3: Array[Object] */;
4833 val
* var_listnode1
/* var listnode1: nullable Object */;
4834 short int var5
/* : Bool */;
4837 val
* var_tidnode2
/* var tidnode2: nullable Object */;
4838 val
* var6
/* : Array[Object] */;
4839 short int var7
/* : Bool */;
4840 short int var8
/* : Bool */;
4841 long var9
/* : Int */;
4842 long var10
/* : Int */;
4844 var_node_list
= ((val
*)NULL
);
4846 var
= nit___nit__Parser___pop(var_p
);
4848 var_nodearraylist4
= var
;
4850 var1
= nit___nit__Parser___pop(var_p
);
4852 var_nodearraylist3
= var1
;
4854 var2
= nit___nit__Parser___pop(var_p
);
4856 var_nodearraylist2
= var2
;
4858 var3
= nit___nit__Parser___pop(var_p
);
4860 var_nodearraylist1
= var3
;
4861 var4
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4863 standard___standard__Array___standard__kernel__Object__init(var4
); /* Direct call array#Array#init on <var4:Array[Object]>*/
4865 var_listnode3
= var4
;
4866 var_listnode1
= var_nodearraylist1
;
4867 /* <var_listnode1:nullable Object> isa Array[Object] */
4868 cltype
= type_standard__Array__standard__Object
.color
;
4869 idtype
= type_standard__Array__standard__Object
.id
;
4870 if(var_listnode1
== NULL
) {
4873 if(cltype
>= (((long)var_listnode1
&3)?type_info
[((long)var_listnode1
&3)]:var_listnode1
->type
)->table_size
) {
4876 var5
= (((long)var_listnode1
&3)?type_info
[((long)var_listnode1
&3)]:var_listnode1
->type
)->type_table
[cltype
] == idtype
;
4879 if (unlikely(!var5
)) {
4880 PRINT_ERROR("Runtime error: %s", "Assert failed");
4881 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10659);
4884 var_tidnode2
= var_nodearraylist4
;
4886 var6
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode1
);
4888 var_listnode3
= var6
;
4889 if (var_tidnode2
== NULL
) {
4890 var7
= 0; /* is null */
4892 var7
= 1; /* arg is null and recv is not */
4895 var8
= ((short int(*)(val
* self
, val
* p0
))((((long)var_tidnode2
&3)?class_info
[((long)var_tidnode2
&3)]:var_tidnode2
->class)->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_tidnode2
, ((val
*)NULL
)); /* != on <var_tidnode2:nullable Object>*/
4900 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_tidnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
4904 var_node_list
= var_listnode3
;
4905 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction456> */
4907 var10
= nit___nit__Parser___go_to(var_p
, var9
);
4910 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4914 /* method parser#ReduceAction457#action for (self: ReduceAction457, Parser) */
4915 void nit__parser___nit__parser__ReduceAction457___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4916 val
* var_p
/* var p: Parser */;
4917 val
* var_node_list
/* var node_list: nullable Object */;
4918 val
* var
/* : nullable Object */;
4919 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4920 val
* var1
/* : Array[Object] */;
4921 val
* var_listnode3
/* var listnode3: Array[Object] */;
4922 val
* var_tidnode4
/* var tidnode4: nullable Object */;
4923 short int var2
/* : Bool */;
4926 val
* var3
/* : AModuleName */;
4927 val
* var_pmodulenamenode1
/* var pmodulenamenode1: nullable AModuleName */;
4928 long var4
/* : Int */;
4929 long var5
/* : Int */;
4931 var_node_list
= ((val
*)NULL
);
4933 var
= nit___nit__Parser___pop(var_p
);
4935 var_nodearraylist1
= var
;
4936 var1
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4938 standard___standard__Array___standard__kernel__Object__init(var1
); /* Direct call array#Array#init on <var1:Array[Object]>*/
4940 var_listnode3
= var1
;
4941 var_tidnode4
= var_nodearraylist1
;
4942 /* <var_tidnode4:nullable Object> isa nullable TId */
4943 cltype
= type_nullable__nit__TId
.color
;
4944 idtype
= type_nullable__nit__TId
.id
;
4945 if(var_tidnode4
== NULL
) {
4948 if(cltype
>= (((long)var_tidnode4
&3)?type_info
[((long)var_tidnode4
&3)]:var_tidnode4
->type
)->table_size
) {
4951 var2
= (((long)var_tidnode4
&3)?type_info
[((long)var_tidnode4
&3)]:var_tidnode4
->type
)->type_table
[cltype
] == idtype
;
4954 if (unlikely(!var2
)) {
4955 PRINT_ERROR("Runtime error: %s", "Assert failed");
4956 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10677);
4959 var3
= NEW_nit__AModuleName(&type_nit__AModuleName
);
4961 nit__parser_prod___AModuleName___init_amodulename(var3
, ((val
*)NULL
), var_listnode3
, var_tidnode4
); /* Direct call parser_prod#AModuleName#init_amodulename on <var3:AModuleName>*/
4963 var_pmodulenamenode1
= var3
;
4964 var_node_list
= var_pmodulenamenode1
;
4965 var4
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction457> */
4967 var5
= nit___nit__Parser___go_to(var_p
, var4
);
4970 nit___nit__Parser___push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4974 /* method parser#ReduceAction458#action for (self: ReduceAction458, Parser) */
4975 void nit__parser___nit__parser__ReduceAction458___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4976 val
* var_p
/* var p: Parser */;
4977 val
* var_node_list
/* var node_list: nullable Object */;
4978 val
* var
/* : nullable Object */;
4979 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4980 val
* var1
/* : nullable Object */;
4981 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4982 val
* var2
/* : Array[Object] */;
4983 val
* var_listnode4
/* var listnode4: Array[Object] */;
4984 val
* var_listnode3
/* var listnode3: nullable Object */;
4985 short int var3
/* : Bool */;
4988 val
* var4
/* : Array[Object] */;
4989 val
* var_tidnode5
/* var tidnode5: nullable Object */;
4990 short int var5
/* : Bool */;
4993 val
* var8
/* : AModuleName */;
4994 val
* var_pmodulenamenode1
/* var pmodulenamenode1: nullable AModuleName */;
4995 long var9
/* : Int */;
4996 long var10
/* : Int */;
4998 var_node_list
= ((val
*)NULL
);
5000 var
= nit___nit__Parser___pop(var_p
);
5002 var_nodearraylist2
= var
;
5004 var1
= nit___nit__Parser___pop(var_p
);
5006 var_nodearraylist1
= var1
;
5007 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5009 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
5011 var_listnode4
= var2
;
5012 var_listnode3
= var_nodearraylist1
;
5013 /* <var_listnode3:nullable Object> isa Array[Object] */
5014 cltype
= type_standard__Array__standard__Object
.color
;
5015 idtype
= type_standard__Array__standard__Object
.id
;
5016 if(var_listnode3
== NULL
) {
5019 if(cltype
>= (((long)var_listnode3
&3)?type_info
[((long)var_listnode3
&3)]:var_listnode3
->type
)->table_size
) {
5022 var3
= (((long)var_listnode3
&3)?type_info
[((long)var_listnode3
&3)]:var_listnode3
->type
)->type_table
[cltype
] == idtype
;
5025 if (unlikely(!var3
)) {
5026 PRINT_ERROR("Runtime error: %s", "Assert failed");
5027 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10696);
5031 var4
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode4
, var_listnode3
);
5033 var_listnode4
= var4
;
5034 var_tidnode5
= var_nodearraylist2
;
5035 /* <var_tidnode5:nullable Object> isa nullable TId */
5036 cltype6
= type_nullable__nit__TId
.color
;
5037 idtype7
= type_nullable__nit__TId
.id
;
5038 if(var_tidnode5
== NULL
) {
5041 if(cltype6
>= (((long)var_tidnode5
&3)?type_info
[((long)var_tidnode5
&3)]:var_tidnode5
->type
)->table_size
) {
5044 var5
= (((long)var_tidnode5
&3)?type_info
[((long)var_tidnode5
&3)]:var_tidnode5
->type
)->type_table
[cltype6
] == idtype7
;
5047 if (unlikely(!var5
)) {
5048 PRINT_ERROR("Runtime error: %s", "Assert failed");
5049 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10699);
5052 var8
= NEW_nit__AModuleName(&type_nit__AModuleName
);
5054 nit__parser_prod___AModuleName___init_amodulename(var8
, ((val
*)NULL
), var_listnode4
, var_tidnode5
); /* Direct call parser_prod#AModuleName#init_amodulename on <var8:AModuleName>*/
5056 var_pmodulenamenode1
= var8
;
5057 var_node_list
= var_pmodulenamenode1
;
5058 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction458> */
5060 var10
= nit___nit__Parser___go_to(var_p
, var9
);
5063 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5067 /* method parser#ReduceAction459#action for (self: ReduceAction459, Parser) */
5068 void nit__parser___nit__parser__ReduceAction459___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5069 val
* var_p
/* var p: Parser */;
5070 val
* var_node_list
/* var node_list: nullable Object */;
5071 val
* var
/* : nullable Object */;
5072 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5073 val
* var1
/* : nullable Object */;
5074 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5075 val
* var2
/* : nullable Object */;
5076 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5077 val
* var3
/* : Array[Object] */;
5078 val
* var_listnode3
/* var listnode3: Array[Object] */;
5079 val
* var_tquadnode2
/* var tquadnode2: nullable Object */;
5080 short int var4
/* : Bool */;
5083 val
* var_tidnode4
/* var tidnode4: nullable Object */;
5084 short int var5
/* : Bool */;
5087 val
* var8
/* : AModuleName */;
5088 val
* var_pmodulenamenode1
/* var pmodulenamenode1: nullable AModuleName */;
5089 long var9
/* : Int */;
5090 long var10
/* : Int */;
5092 var_node_list
= ((val
*)NULL
);
5094 var
= nit___nit__Parser___pop(var_p
);
5096 var_nodearraylist3
= var
;
5098 var1
= nit___nit__Parser___pop(var_p
);
5100 var_nodearraylist2
= var1
;
5102 var2
= nit___nit__Parser___pop(var_p
);
5104 var_nodearraylist1
= var2
;
5105 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5107 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
5109 var_listnode3
= var3
;
5110 var_tquadnode2
= var_nodearraylist1
;
5111 /* <var_tquadnode2:nullable Object> isa nullable TQuad */
5112 cltype
= type_nullable__nit__TQuad
.color
;
5113 idtype
= type_nullable__nit__TQuad
.id
;
5114 if(var_tquadnode2
== NULL
) {
5117 if(cltype
>= (((long)var_tquadnode2
&3)?type_info
[((long)var_tquadnode2
&3)]:var_tquadnode2
->type
)->table_size
) {
5120 var4
= (((long)var_tquadnode2
&3)?type_info
[((long)var_tquadnode2
&3)]:var_tquadnode2
->type
)->type_table
[cltype
] == idtype
;
5123 if (unlikely(!var4
)) {
5124 PRINT_ERROR("Runtime error: %s", "Assert failed");
5125 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10719);
5128 var_tidnode4
= var_nodearraylist3
;
5129 /* <var_tidnode4:nullable Object> isa nullable TId */
5130 cltype6
= type_nullable__nit__TId
.color
;
5131 idtype7
= type_nullable__nit__TId
.id
;
5132 if(var_tidnode4
== NULL
) {
5135 if(cltype6
>= (((long)var_tidnode4
&3)?type_info
[((long)var_tidnode4
&3)]:var_tidnode4
->type
)->table_size
) {
5138 var5
= (((long)var_tidnode4
&3)?type_info
[((long)var_tidnode4
&3)]:var_tidnode4
->type
)->type_table
[cltype6
] == idtype7
;
5141 if (unlikely(!var5
)) {
5142 PRINT_ERROR("Runtime error: %s", "Assert failed");
5143 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10721);
5146 var8
= NEW_nit__AModuleName(&type_nit__AModuleName
);
5148 nit__parser_prod___AModuleName___init_amodulename(var8
, var_tquadnode2
, var_listnode3
, var_tidnode4
); /* Direct call parser_prod#AModuleName#init_amodulename on <var8:AModuleName>*/
5150 var_pmodulenamenode1
= var8
;
5151 var_node_list
= var_pmodulenamenode1
;
5152 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction459> */
5154 var10
= nit___nit__Parser___go_to(var_p
, var9
);
5157 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5161 /* method parser#ReduceAction460#action for (self: ReduceAction460, Parser) */
5162 void nit__parser___nit__parser__ReduceAction460___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5163 val
* var_p
/* var p: Parser */;
5164 val
* var_node_list
/* var node_list: nullable Object */;
5165 val
* var
/* : nullable Object */;
5166 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5167 val
* var1
/* : nullable Object */;
5168 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5169 val
* var2
/* : nullable Object */;
5170 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5171 val
* var3
/* : nullable Object */;
5172 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5173 val
* var4
/* : Array[Object] */;
5174 val
* var_listnode4
/* var listnode4: Array[Object] */;
5175 val
* var_tquadnode2
/* var tquadnode2: nullable Object */;
5176 short int var5
/* : Bool */;
5179 val
* var_listnode3
/* var listnode3: nullable Object */;
5180 short int var6
/* : Bool */;
5183 val
* var9
/* : Array[Object] */;
5184 val
* var_tidnode5
/* var tidnode5: nullable Object */;
5185 short int var10
/* : Bool */;
5188 val
* var13
/* : AModuleName */;
5189 val
* var_pmodulenamenode1
/* var pmodulenamenode1: nullable AModuleName */;
5190 long var14
/* : Int */;
5191 long var15
/* : Int */;
5193 var_node_list
= ((val
*)NULL
);
5195 var
= nit___nit__Parser___pop(var_p
);
5197 var_nodearraylist4
= var
;
5199 var1
= nit___nit__Parser___pop(var_p
);
5201 var_nodearraylist3
= var1
;
5203 var2
= nit___nit__Parser___pop(var_p
);
5205 var_nodearraylist2
= var2
;
5207 var3
= nit___nit__Parser___pop(var_p
);
5209 var_nodearraylist1
= var3
;
5210 var4
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5212 standard___standard__Array___standard__kernel__Object__init(var4
); /* Direct call array#Array#init on <var4:Array[Object]>*/
5214 var_listnode4
= var4
;
5215 var_tquadnode2
= var_nodearraylist1
;
5216 /* <var_tquadnode2:nullable Object> isa nullable TQuad */
5217 cltype
= type_nullable__nit__TQuad
.color
;
5218 idtype
= type_nullable__nit__TQuad
.id
;
5219 if(var_tquadnode2
== NULL
) {
5222 if(cltype
>= (((long)var_tquadnode2
&3)?type_info
[((long)var_tquadnode2
&3)]:var_tquadnode2
->type
)->table_size
) {
5225 var5
= (((long)var_tquadnode2
&3)?type_info
[((long)var_tquadnode2
&3)]:var_tquadnode2
->type
)->type_table
[cltype
] == idtype
;
5228 if (unlikely(!var5
)) {
5229 PRINT_ERROR("Runtime error: %s", "Assert failed");
5230 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10742);
5233 var_listnode3
= var_nodearraylist3
;
5234 /* <var_listnode3:nullable Object> isa Array[Object] */
5235 cltype7
= type_standard__Array__standard__Object
.color
;
5236 idtype8
= type_standard__Array__standard__Object
.id
;
5237 if(var_listnode3
== NULL
) {
5240 if(cltype7
>= (((long)var_listnode3
&3)?type_info
[((long)var_listnode3
&3)]:var_listnode3
->type
)->table_size
) {
5243 var6
= (((long)var_listnode3
&3)?type_info
[((long)var_listnode3
&3)]:var_listnode3
->type
)->type_table
[cltype7
] == idtype8
;
5246 if (unlikely(!var6
)) {
5247 PRINT_ERROR("Runtime error: %s", "Assert failed");
5248 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10744);
5252 var9
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode4
, var_listnode3
);
5254 var_listnode4
= var9
;
5255 var_tidnode5
= var_nodearraylist4
;
5256 /* <var_tidnode5:nullable Object> isa nullable TId */
5257 cltype11
= type_nullable__nit__TId
.color
;
5258 idtype12
= type_nullable__nit__TId
.id
;
5259 if(var_tidnode5
== NULL
) {
5262 if(cltype11
>= (((long)var_tidnode5
&3)?type_info
[((long)var_tidnode5
&3)]:var_tidnode5
->type
)->table_size
) {
5265 var10
= (((long)var_tidnode5
&3)?type_info
[((long)var_tidnode5
&3)]:var_tidnode5
->type
)->type_table
[cltype11
] == idtype12
;
5268 if (unlikely(!var10
)) {
5269 PRINT_ERROR("Runtime error: %s", "Assert failed");
5270 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10747);
5273 var13
= NEW_nit__AModuleName(&type_nit__AModuleName
);
5275 nit__parser_prod___AModuleName___init_amodulename(var13
, var_tquadnode2
, var_listnode4
, var_tidnode5
); /* Direct call parser_prod#AModuleName#init_amodulename on <var13:AModuleName>*/
5277 var_pmodulenamenode1
= var13
;
5278 var_node_list
= var_pmodulenamenode1
;
5279 var14
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction460> */
5281 var15
= nit___nit__Parser___go_to(var_p
, var14
);
5284 nit___nit__Parser___push(var_p
, var15
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5288 /* method parser#ReduceAction461#action for (self: ReduceAction461, Parser) */
5289 void nit__parser___nit__parser__ReduceAction461___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5290 val
* var_p
/* var p: Parser */;
5291 val
* var_node_list
/* var node_list: nullable Object */;
5292 val
* var
/* : nullable Object */;
5293 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5294 val
* var1
/* : Array[Object] */;
5295 val
* var_listnode2
/* var listnode2: Array[Object] */;
5296 val
* var_tclassidnode3
/* var tclassidnode3: nullable Object */;
5297 short int var2
/* : Bool */;
5300 val
* var3
/* : AQualified */;
5301 val
* var_pqualifiednode1
/* var pqualifiednode1: nullable AQualified */;
5302 long var4
/* : Int */;
5303 long var5
/* : Int */;
5305 var_node_list
= ((val
*)NULL
);
5307 var
= nit___nit__Parser___pop(var_p
);
5309 var_nodearraylist1
= var
;
5310 var1
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5312 standard___standard__Array___standard__kernel__Object__init(var1
); /* Direct call array#Array#init on <var1:Array[Object]>*/
5314 var_listnode2
= var1
;
5315 var_tclassidnode3
= var_nodearraylist1
;
5316 /* <var_tclassidnode3:nullable Object> isa nullable TClassid */
5317 cltype
= type_nullable__nit__TClassid
.color
;
5318 idtype
= type_nullable__nit__TClassid
.id
;
5319 if(var_tclassidnode3
== NULL
) {
5322 if(cltype
>= (((long)var_tclassidnode3
&3)?type_info
[((long)var_tclassidnode3
&3)]:var_tclassidnode3
->type
)->table_size
) {
5325 var2
= (((long)var_tclassidnode3
&3)?type_info
[((long)var_tclassidnode3
&3)]:var_tclassidnode3
->type
)->type_table
[cltype
] == idtype
;
5328 if (unlikely(!var2
)) {
5329 PRINT_ERROR("Runtime error: %s", "Assert failed");
5330 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10765);
5333 var3
= NEW_nit__AQualified(&type_nit__AQualified
);
5335 nit__parser_prod___AQualified___init_aqualified(var3
, var_listnode2
, var_tclassidnode3
); /* Direct call parser_prod#AQualified#init_aqualified on <var3:AQualified>*/
5337 var_pqualifiednode1
= var3
;
5338 var_node_list
= var_pqualifiednode1
;
5339 var4
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction461> */
5341 var5
= nit___nit__Parser___go_to(var_p
, var4
);
5344 nit___nit__Parser___push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5348 /* method parser#ReduceAction462#action for (self: ReduceAction462, Parser) */
5349 void nit__parser___nit__parser__ReduceAction462___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5350 val
* var_p
/* var p: Parser */;
5351 val
* var_node_list
/* var node_list: nullable Object */;
5352 val
* var
/* : nullable Object */;
5353 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5354 val
* var1
/* : nullable Object */;
5355 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5356 val
* var2
/* : Array[Object] */;
5357 val
* var_listnode3
/* var listnode3: Array[Object] */;
5358 val
* var_listnode2
/* var listnode2: nullable Object */;
5359 short int var3
/* : Bool */;
5362 val
* var4
/* : Array[Object] */;
5363 val
* var_tclassidnode4
/* var tclassidnode4: nullable Object */;
5364 short int var5
/* : Bool */;
5367 val
* var8
/* : AQualified */;
5368 val
* var_pqualifiednode1
/* var pqualifiednode1: nullable AQualified */;
5369 long var9
/* : Int */;
5370 long var10
/* : Int */;
5372 var_node_list
= ((val
*)NULL
);
5374 var
= nit___nit__Parser___pop(var_p
);
5376 var_nodearraylist2
= var
;
5378 var1
= nit___nit__Parser___pop(var_p
);
5380 var_nodearraylist1
= var1
;
5381 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5383 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
5385 var_listnode3
= var2
;
5386 var_listnode2
= var_nodearraylist1
;
5387 /* <var_listnode2:nullable Object> isa Array[Object] */
5388 cltype
= type_standard__Array__standard__Object
.color
;
5389 idtype
= type_standard__Array__standard__Object
.id
;
5390 if(var_listnode2
== NULL
) {
5393 if(cltype
>= (((long)var_listnode2
&3)?type_info
[((long)var_listnode2
&3)]:var_listnode2
->type
)->table_size
) {
5396 var3
= (((long)var_listnode2
&3)?type_info
[((long)var_listnode2
&3)]:var_listnode2
->type
)->type_table
[cltype
] == idtype
;
5399 if (unlikely(!var3
)) {
5400 PRINT_ERROR("Runtime error: %s", "Assert failed");
5401 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10783);
5405 var4
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode2
);
5407 var_listnode3
= var4
;
5408 var_tclassidnode4
= var_nodearraylist2
;
5409 /* <var_tclassidnode4:nullable Object> isa nullable TClassid */
5410 cltype6
= type_nullable__nit__TClassid
.color
;
5411 idtype7
= type_nullable__nit__TClassid
.id
;
5412 if(var_tclassidnode4
== NULL
) {
5415 if(cltype6
>= (((long)var_tclassidnode4
&3)?type_info
[((long)var_tclassidnode4
&3)]:var_tclassidnode4
->type
)->table_size
) {
5418 var5
= (((long)var_tclassidnode4
&3)?type_info
[((long)var_tclassidnode4
&3)]:var_tclassidnode4
->type
)->type_table
[cltype6
] == idtype7
;
5421 if (unlikely(!var5
)) {
5422 PRINT_ERROR("Runtime error: %s", "Assert failed");
5423 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10786);
5426 var8
= NEW_nit__AQualified(&type_nit__AQualified
);
5428 nit__parser_prod___AQualified___init_aqualified(var8
, var_listnode3
, var_tclassidnode4
); /* Direct call parser_prod#AQualified#init_aqualified on <var8:AQualified>*/
5430 var_pqualifiednode1
= var8
;
5431 var_node_list
= var_pqualifiednode1
;
5432 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction462> */
5434 var10
= nit___nit__Parser___go_to(var_p
, var9
);
5437 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5441 /* method parser#ReduceAction463#action for (self: ReduceAction463, Parser) */
5442 void nit__parser___nit__parser__ReduceAction463___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5443 val
* var_p
/* var p: Parser */;
5444 val
* var_node_list
/* var node_list: nullable Object */;
5445 val
* var
/* : nullable Object */;
5446 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5447 val
* var1
/* : Array[Object] */;
5448 val
* var_listnode3
/* var listnode3: Array[Object] */;
5449 val
* var_listnode2
/* var listnode2: nullable Object */;
5450 short int var2
/* : Bool */;
5453 val
* var3
/* : Array[Object] */;
5454 val
* var4
/* : AQualified */;
5455 val
* var_pqualifiednode1
/* var pqualifiednode1: nullable AQualified */;
5456 long var5
/* : Int */;
5457 long var6
/* : Int */;
5459 var_node_list
= ((val
*)NULL
);
5461 var
= nit___nit__Parser___pop(var_p
);
5463 var_nodearraylist1
= var
;
5464 var1
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5466 standard___standard__Array___standard__kernel__Object__init(var1
); /* Direct call array#Array#init on <var1:Array[Object]>*/
5468 var_listnode3
= var1
;
5469 var_listnode2
= var_nodearraylist1
;
5470 /* <var_listnode2:nullable Object> isa Array[Object] */
5471 cltype
= type_standard__Array__standard__Object
.color
;
5472 idtype
= type_standard__Array__standard__Object
.id
;
5473 if(var_listnode2
== NULL
) {
5476 if(cltype
>= (((long)var_listnode2
&3)?type_info
[((long)var_listnode2
&3)]:var_listnode2
->type
)->table_size
) {
5479 var2
= (((long)var_listnode2
&3)?type_info
[((long)var_listnode2
&3)]:var_listnode2
->type
)->type_table
[cltype
] == idtype
;
5482 if (unlikely(!var2
)) {
5483 PRINT_ERROR("Runtime error: %s", "Assert failed");
5484 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10803);
5488 var3
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode2
);
5490 var_listnode3
= var3
;
5491 var4
= NEW_nit__AQualified(&type_nit__AQualified
);
5493 nit__parser_prod___AQualified___init_aqualified(var4
, var_listnode3
, ((val
*)NULL
)); /* Direct call parser_prod#AQualified#init_aqualified on <var4:AQualified>*/
5495 var_pqualifiednode1
= var4
;
5496 var_node_list
= var_pqualifiednode1
;
5497 var5
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction463> */
5499 var6
= nit___nit__Parser___go_to(var_p
, var5
);
5502 nit___nit__Parser___push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5506 /* method parser#ReduceAction465#action for (self: ReduceAction465, Parser) */
5507 void nit__parser___nit__parser__ReduceAction465___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5508 val
* var_p
/* var p: Parser */;
5509 val
* var_node_list
/* var node_list: nullable Object */;
5510 val
* var
/* : nullable Object */;
5511 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5512 val
* var_tclassidnode1
/* var tclassidnode1: nullable Object */;
5513 long var1
/* : Int */;
5514 long var2
/* : Int */;
5516 var_node_list
= ((val
*)NULL
);
5518 var
= nit___nit__Parser___pop(var_p
);
5520 var_nodearraylist1
= var
;
5521 var_tclassidnode1
= var_nodearraylist1
;
5522 var_node_list
= var_tclassidnode1
;
5523 var1
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction465> */
5525 var2
= nit___nit__Parser___go_to(var_p
, var1
);
5528 nit___nit__Parser___push(var_p
, var2
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5532 /* method parser#ReduceAction466#action for (self: ReduceAction466, Parser) */
5533 void nit__parser___nit__parser__ReduceAction466___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5534 val
* var_p
/* var p: Parser */;
5535 val
* var_node_list
/* var node_list: nullable Object */;
5536 val
* var
/* : nullable Object */;
5537 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5538 val
* var1
/* : nullable Object */;
5539 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5540 val
* var_tclassidnode1
/* var tclassidnode1: nullable Object */;
5541 long var2
/* : Int */;
5542 long var3
/* : Int */;
5544 var_node_list
= ((val
*)NULL
);
5546 var
= nit___nit__Parser___pop(var_p
);
5548 var_nodearraylist2
= var
;
5550 var1
= nit___nit__Parser___pop(var_p
);
5552 var_nodearraylist1
= var1
;
5553 var_tclassidnode1
= var_nodearraylist2
;
5554 var_node_list
= var_tclassidnode1
;
5555 var2
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction466> */
5557 var3
= nit___nit__Parser___go_to(var_p
, var2
);
5560 nit___nit__Parser___push(var_p
, var3
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5564 /* method parser#ReduceAction467#action for (self: ReduceAction467, Parser) */
5565 void nit__parser___nit__parser__ReduceAction467___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5566 val
* var_p
/* var p: Parser */;
5567 val
* var_node_list
/* var node_list: nullable Object */;
5568 val
* var
/* : nullable Object */;
5569 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5570 val
* var1
/* : nullable Object */;
5571 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5572 val
* var2
/* : nullable Object */;
5573 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5574 val
* var_tclassidnode1
/* var tclassidnode1: nullable Object */;
5575 long var3
/* : Int */;
5576 long var4
/* : Int */;
5578 var_node_list
= ((val
*)NULL
);
5580 var
= nit___nit__Parser___pop(var_p
);
5582 var_nodearraylist3
= var
;
5584 var1
= nit___nit__Parser___pop(var_p
);
5586 var_nodearraylist2
= var1
;
5588 var2
= nit___nit__Parser___pop(var_p
);
5590 var_nodearraylist1
= var2
;
5591 var_tclassidnode1
= var_nodearraylist3
;
5592 var_node_list
= var_tclassidnode1
;
5593 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction467> */
5595 var4
= nit___nit__Parser___go_to(var_p
, var3
);
5598 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5602 /* method parser#ReduceAction469#action for (self: ReduceAction469, Parser) */
5603 void nit__parser___nit__parser__ReduceAction469___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5604 val
* var_p
/* var p: Parser */;
5605 val
* var_node_list
/* var node_list: nullable Object */;
5606 val
* var
/* : nullable Object */;
5607 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5608 val
* var_pmethidnode1
/* var pmethidnode1: nullable Object */;
5609 long var1
/* : Int */;
5610 long var2
/* : Int */;
5612 var_node_list
= ((val
*)NULL
);
5614 var
= nit___nit__Parser___pop(var_p
);
5616 var_nodearraylist1
= var
;
5617 var_pmethidnode1
= var_nodearraylist1
;
5618 var_node_list
= var_pmethidnode1
;
5619 var1
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction469> */
5621 var2
= nit___nit__Parser___go_to(var_p
, var1
);
5624 nit___nit__Parser___push(var_p
, var2
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5628 /* method parser#ReduceAction470#action for (self: ReduceAction470, Parser) */
5629 void nit__parser___nit__parser__ReduceAction470___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5630 val
* var_p
/* var p: Parser */;
5631 val
* var_node_list
/* var node_list: nullable Object */;
5632 val
* var
/* : nullable Object */;
5633 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5634 val
* var1
/* : nullable Object */;
5635 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5636 val
* var_pmethidnode1
/* var pmethidnode1: nullable Object */;
5637 long var2
/* : Int */;
5638 long var3
/* : Int */;
5640 var_node_list
= ((val
*)NULL
);
5642 var
= nit___nit__Parser___pop(var_p
);
5644 var_nodearraylist2
= var
;
5646 var1
= nit___nit__Parser___pop(var_p
);
5648 var_nodearraylist1
= var1
;
5649 var_pmethidnode1
= var_nodearraylist2
;
5650 var_node_list
= var_pmethidnode1
;
5651 var2
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction470> */
5653 var3
= nit___nit__Parser___go_to(var_p
, var2
);
5656 nit___nit__Parser___push(var_p
, var3
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5660 /* method parser#ReduceAction471#action for (self: ReduceAction471, Parser) */
5661 void nit__parser___nit__parser__ReduceAction471___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5662 val
* var_p
/* var p: Parser */;
5663 val
* var_node_list
/* var node_list: nullable Object */;
5664 val
* var
/* : nullable Object */;
5665 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5666 val
* var1
/* : nullable Object */;
5667 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5668 val
* var2
/* : nullable Object */;
5669 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5670 val
* var_pmethidnode1
/* var pmethidnode1: nullable Object */;
5671 long var3
/* : Int */;
5672 long var4
/* : Int */;
5674 var_node_list
= ((val
*)NULL
);
5676 var
= nit___nit__Parser___pop(var_p
);
5678 var_nodearraylist3
= var
;
5680 var1
= nit___nit__Parser___pop(var_p
);
5682 var_nodearraylist2
= var1
;
5684 var2
= nit___nit__Parser___pop(var_p
);
5686 var_nodearraylist1
= var2
;
5687 var_pmethidnode1
= var_nodearraylist3
;
5688 var_node_list
= var_pmethidnode1
;
5689 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction471> */
5691 var4
= nit___nit__Parser___go_to(var_p
, var3
);
5694 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5698 /* method parser#ReduceAction473#action for (self: ReduceAction473, Parser) */
5699 void nit__parser___nit__parser__ReduceAction473___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5700 val
* var_p
/* var p: Parser */;
5701 val
* var_node_list
/* var node_list: nullable Object */;
5702 val
* var
/* : nullable Object */;
5703 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5704 val
* var1
/* : nullable Object */;
5705 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5706 val
* var2
/* : nullable Object */;
5707 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5708 val
* var_tidnode1
/* var tidnode1: nullable Object */;
5709 long var3
/* : Int */;
5710 long var4
/* : Int */;
5712 var_node_list
= ((val
*)NULL
);
5714 var
= nit___nit__Parser___pop(var_p
);
5716 var_nodearraylist3
= var
;
5718 var1
= nit___nit__Parser___pop(var_p
);
5720 var_nodearraylist2
= var1
;
5722 var2
= nit___nit__Parser___pop(var_p
);
5724 var_nodearraylist1
= var2
;
5725 var_tidnode1
= var_nodearraylist1
;
5726 var_node_list
= var_tidnode1
;
5727 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction473> */
5729 var4
= nit___nit__Parser___go_to(var_p
, var3
);
5732 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5736 /* method parser#ReduceAction474#action for (self: ReduceAction474, Parser) */
5737 void nit__parser___nit__parser__ReduceAction474___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5738 val
* var_p
/* var p: Parser */;
5739 val
* var_node_list
/* var node_list: nullable Object */;
5740 val
* var
/* : nullable Object */;
5741 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5742 val
* var1
/* : nullable Object */;
5743 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5744 val
* var2
/* : nullable Object */;
5745 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5746 val
* var_tclassidnode1
/* var tclassidnode1: nullable Object */;
5747 long var3
/* : Int */;
5748 long var4
/* : Int */;
5750 var_node_list
= ((val
*)NULL
);
5752 var
= nit___nit__Parser___pop(var_p
);
5754 var_nodearraylist3
= var
;
5756 var1
= nit___nit__Parser___pop(var_p
);
5758 var_nodearraylist2
= var1
;
5760 var2
= nit___nit__Parser___pop(var_p
);
5762 var_nodearraylist1
= var2
;
5763 var_tclassidnode1
= var_nodearraylist1
;
5764 var_node_list
= var_tclassidnode1
;
5765 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction474> */
5767 var4
= nit___nit__Parser___go_to(var_p
, var3
);
5770 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5774 /* method parser#ReduceAction476#action for (self: ReduceAction476, Parser) */
5775 void nit__parser___nit__parser__ReduceAction476___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5776 val
* var_p
/* var p: Parser */;
5777 val
* var_node_list
/* var node_list: nullable Object */;
5778 val
* var
/* : nullable Object */;
5779 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5780 val
* var_tkwendnode1
/* var tkwendnode1: nullable Object */;
5781 long var1
/* : Int */;
5782 long var2
/* : Int */;
5784 var_node_list
= ((val
*)NULL
);
5786 var
= nit___nit__Parser___pop(var_p
);
5788 var_nodearraylist1
= var
;
5789 var_tkwendnode1
= var_nodearraylist1
;
5790 var_node_list
= var_tkwendnode1
;
5791 var1
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction476> */
5793 var2
= nit___nit__Parser___go_to(var_p
, var1
);
5796 nit___nit__Parser___push(var_p
, var2
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5800 /* method parser#ReduceAction477#action for (self: ReduceAction477, Parser) */
5801 void nit__parser___nit__parser__ReduceAction477___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5802 val
* var_p
/* var p: Parser */;
5803 val
* var_node_list
/* var node_list: nullable Object */;
5804 val
* var
/* : nullable Object */;
5805 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5806 long var1
/* : Int */;
5807 long var2
/* : Int */;
5809 var_node_list
= ((val
*)NULL
);
5811 var
= nit___nit__Parser___pop(var_p
);
5813 var_nodearraylist1
= var
;
5814 var1
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction477> */
5816 var2
= nit___nit__Parser___go_to(var_p
, var1
);
5819 nit___nit__Parser___push(var_p
, var2
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5823 /* method parser#ReduceAction480#action for (self: ReduceAction480, Parser) */
5824 void nit__parser___nit__parser__ReduceAction480___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5825 val
* var_p
/* var p: Parser */;
5826 val
* var_node_list
/* var node_list: nullable Object */;
5827 val
* var
/* : nullable Object */;
5828 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5829 val
* var1
/* : Array[Object] */;
5830 val
* var_listnode3
/* var listnode3: Array[Object] */;
5831 val
* var_listnode2
/* var listnode2: nullable Object */;
5832 short int var2
/* : Bool */;
5835 val
* var3
/* : Array[Object] */;
5836 val
* var4
/* : ADoc */;
5837 val
* var_pdocnode1
/* var pdocnode1: nullable ADoc */;
5838 long var5
/* : Int */;
5839 long var6
/* : Int */;
5841 var_node_list
= ((val
*)NULL
);
5843 var
= nit___nit__Parser___pop(var_p
);
5845 var_nodearraylist1
= var
;
5846 var1
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5848 standard___standard__Array___standard__kernel__Object__init(var1
); /* Direct call array#Array#init on <var1:Array[Object]>*/
5850 var_listnode3
= var1
;
5851 var_listnode2
= var_nodearraylist1
;
5852 /* <var_listnode2:nullable Object> isa Array[Object] */
5853 cltype
= type_standard__Array__standard__Object
.color
;
5854 idtype
= type_standard__Array__standard__Object
.id
;
5855 if(var_listnode2
== NULL
) {
5858 if(cltype
>= (((long)var_listnode2
&3)?type_info
[((long)var_listnode2
&3)]:var_listnode2
->type
)->table_size
) {
5861 var2
= (((long)var_listnode2
&3)?type_info
[((long)var_listnode2
&3)]:var_listnode2
->type
)->type_table
[cltype
] == idtype
;
5864 if (unlikely(!var2
)) {
5865 PRINT_ERROR("Runtime error: %s", "Assert failed");
5866 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10939);
5870 var3
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode2
);
5872 var_listnode3
= var3
;
5873 var4
= NEW_nit__ADoc(&type_nit__ADoc
);
5875 nit__parser_prod___ADoc___init_adoc(var4
, var_listnode3
); /* Direct call parser_prod#ADoc#init_adoc on <var4:ADoc>*/
5877 var_pdocnode1
= var4
;
5878 var_node_list
= var_pdocnode1
;
5879 var5
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction480> */
5881 var6
= nit___nit__Parser___go_to(var_p
, var5
);
5884 nit___nit__Parser___push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5888 /* method parser#ReduceAction481#action for (self: ReduceAction481, Parser) */
5889 void nit__parser___nit__parser__ReduceAction481___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5890 val
* var_p
/* var p: Parser */;
5891 val
* var_node_list
/* var node_list: nullable Object */;
5892 val
* var
/* : nullable Object */;
5893 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5894 val
* var1
/* : nullable Object */;
5895 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5896 val
* var2
/* : Array[Object] */;
5897 val
* var_listnode3
/* var listnode3: Array[Object] */;
5898 val
* var_listnode2
/* var listnode2: nullable Object */;
5899 short int var3
/* : Bool */;
5902 val
* var4
/* : Array[Object] */;
5903 val
* var5
/* : ADoc */;
5904 val
* var_pdocnode1
/* var pdocnode1: nullable ADoc */;
5905 long var6
/* : Int */;
5906 long var7
/* : Int */;
5908 var_node_list
= ((val
*)NULL
);
5910 var
= nit___nit__Parser___pop(var_p
);
5912 var_nodearraylist2
= var
;
5914 var1
= nit___nit__Parser___pop(var_p
);
5916 var_nodearraylist1
= var1
;
5917 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5919 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
5921 var_listnode3
= var2
;
5922 var_listnode2
= var_nodearraylist2
;
5923 /* <var_listnode2:nullable Object> isa Array[Object] */
5924 cltype
= type_standard__Array__standard__Object
.color
;
5925 idtype
= type_standard__Array__standard__Object
.id
;
5926 if(var_listnode2
== NULL
) {
5929 if(cltype
>= (((long)var_listnode2
&3)?type_info
[((long)var_listnode2
&3)]:var_listnode2
->type
)->table_size
) {
5932 var3
= (((long)var_listnode2
&3)?type_info
[((long)var_listnode2
&3)]:var_listnode2
->type
)->type_table
[cltype
] == idtype
;
5935 if (unlikely(!var3
)) {
5936 PRINT_ERROR("Runtime error: %s", "Assert failed");
5937 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10957);
5941 var4
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode2
);
5943 var_listnode3
= var4
;
5944 var5
= NEW_nit__ADoc(&type_nit__ADoc
);
5946 nit__parser_prod___ADoc___init_adoc(var5
, var_listnode3
); /* Direct call parser_prod#ADoc#init_adoc on <var5:ADoc>*/
5948 var_pdocnode1
= var5
;
5949 var_node_list
= var_pdocnode1
;
5950 var6
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction481> */
5952 var7
= nit___nit__Parser___go_to(var_p
, var6
);
5955 nit___nit__Parser___push(var_p
, var7
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5959 /* method parser#ReduceAction484#action for (self: ReduceAction484, Parser) */
5960 void nit__parser___nit__parser__ReduceAction484___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5961 val
* var_p
/* var p: Parser */;
5962 val
* var_node_list
/* var node_list: nullable Object */;
5963 val
* var
/* : nullable Object */;
5964 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5965 val
* var1
/* : nullable Object */;
5966 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5967 long var2
/* : Int */;
5968 long var3
/* : Int */;
5970 var_node_list
= ((val
*)NULL
);
5972 var
= nit___nit__Parser___pop(var_p
);
5974 var_nodearraylist2
= var
;
5976 var1
= nit___nit__Parser___pop(var_p
);
5978 var_nodearraylist1
= var1
;
5979 var_node_list
= ((val
*)NULL
);
5980 var2
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction484> */
5982 var3
= nit___nit__Parser___go_to(var_p
, var2
);
5985 nit___nit__Parser___push(var_p
, var3
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5989 /* method parser#ReduceAction486#action for (self: ReduceAction486, Parser) */
5990 void nit__parser___nit__parser__ReduceAction486___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5991 val
* var_p
/* var p: Parser */;
5992 val
* var_node_list
/* var node_list: nullable Object */;
5993 val
* var
/* : nullable Object */;
5994 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5995 val
* var1
/* : nullable Object */;
5996 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5997 val
* var2
/* : nullable Object */;
5998 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5999 long var3
/* : Int */;
6000 long var4
/* : Int */;
6002 var_node_list
= ((val
*)NULL
);
6004 var
= nit___nit__Parser___pop(var_p
);
6006 var_nodearraylist3
= var
;
6008 var1
= nit___nit__Parser___pop(var_p
);
6010 var_nodearraylist2
= var1
;
6012 var2
= nit___nit__Parser___pop(var_p
);
6014 var_nodearraylist1
= var2
;
6015 var_node_list
= ((val
*)NULL
);
6016 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction486> */
6018 var4
= nit___nit__Parser___go_to(var_p
, var3
);
6021 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6025 /* method parser#ReduceAction487#action for (self: ReduceAction487, Parser) */
6026 void nit__parser___nit__parser__ReduceAction487___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6027 val
* var_p
/* var p: Parser */;
6028 val
* var_node_list
/* var node_list: nullable Object */;
6029 val
* var
/* : nullable Object */;
6030 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6031 val
* var1
/* : nullable Object */;
6032 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6033 val
* var_pdocnode1
/* var pdocnode1: nullable Object */;
6034 long var2
/* : Int */;
6035 long var3
/* : Int */;
6037 var_node_list
= ((val
*)NULL
);
6039 var
= nit___nit__Parser___pop(var_p
);
6041 var_nodearraylist2
= var
;
6043 var1
= nit___nit__Parser___pop(var_p
);
6045 var_nodearraylist1
= var1
;
6046 var_pdocnode1
= var_nodearraylist2
;
6047 var_node_list
= var_pdocnode1
;
6048 var2
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction487> */
6050 var3
= nit___nit__Parser___go_to(var_p
, var2
);
6053 nit___nit__Parser___push(var_p
, var3
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6057 /* method parser#ReduceAction488#action for (self: ReduceAction488, Parser) */
6058 void nit__parser___nit__parser__ReduceAction488___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6059 val
* var_p
/* var p: Parser */;
6060 val
* var_node_list
/* var node_list: nullable Object */;
6061 val
* var
/* : nullable Object */;
6062 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6063 val
* var1
/* : nullable Object */;
6064 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6065 val
* var2
/* : nullable Object */;
6066 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6067 val
* var_pdocnode1
/* var pdocnode1: nullable Object */;
6068 long var3
/* : Int */;
6069 long var4
/* : Int */;
6071 var_node_list
= ((val
*)NULL
);
6073 var
= nit___nit__Parser___pop(var_p
);
6075 var_nodearraylist3
= var
;
6077 var1
= nit___nit__Parser___pop(var_p
);
6079 var_nodearraylist2
= var1
;
6081 var2
= nit___nit__Parser___pop(var_p
);
6083 var_nodearraylist1
= var2
;
6084 var_pdocnode1
= var_nodearraylist3
;
6085 var_node_list
= var_pdocnode1
;
6086 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction488> */
6088 var4
= nit___nit__Parser___go_to(var_p
, var3
);
6091 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6095 /* method parser#ReduceAction490#action for (self: ReduceAction490, Parser) */
6096 void nit__parser___nit__parser__ReduceAction490___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6097 val
* var_p
/* var p: Parser */;
6098 val
* var_node_list
/* var node_list: nullable Object */;
6099 val
* var
/* : nullable Object */;
6100 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6101 val
* var1
/* : nullable Object */;
6102 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6103 val
* var2
/* : nullable Object */;
6104 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6105 val
* var3
/* : nullable Object */;
6106 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6107 val
* var_pdocnode1
/* var pdocnode1: nullable Object */;
6108 long var4
/* : Int */;
6109 long var5
/* : Int */;
6111 var_node_list
= ((val
*)NULL
);
6113 var
= nit___nit__Parser___pop(var_p
);
6115 var_nodearraylist4
= var
;
6117 var1
= nit___nit__Parser___pop(var_p
);
6119 var_nodearraylist3
= var1
;
6121 var2
= nit___nit__Parser___pop(var_p
);
6123 var_nodearraylist2
= var2
;
6125 var3
= nit___nit__Parser___pop(var_p
);
6127 var_nodearraylist1
= var3
;
6128 var_pdocnode1
= var_nodearraylist4
;
6129 var_node_list
= var_pdocnode1
;
6130 var4
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction490> */
6132 var5
= nit___nit__Parser___go_to(var_p
, var4
);
6135 nit___nit__Parser___push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6139 /* method parser#ReduceAction492#action for (self: ReduceAction492, Parser) */
6140 void nit__parser___nit__parser__ReduceAction492___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6141 val
* var_p
/* var p: Parser */;
6142 val
* var_node_list
/* var node_list: nullable Object */;
6143 val
* var
/* : nullable Object */;
6144 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6145 val
* var_pdocnode1
/* var pdocnode1: nullable Object */;
6146 long var1
/* : Int */;
6147 long var2
/* : Int */;
6149 var_node_list
= ((val
*)NULL
);
6151 var
= nit___nit__Parser___pop(var_p
);
6153 var_nodearraylist1
= var
;
6154 var_pdocnode1
= var_nodearraylist1
;
6155 var_node_list
= var_pdocnode1
;
6156 var1
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction492> */
6158 var2
= nit___nit__Parser___go_to(var_p
, var1
);
6161 nit___nit__Parser___push(var_p
, var2
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6165 /* method parser#ReduceAction493#action for (self: ReduceAction493, Parser) */
6166 void nit__parser___nit__parser__ReduceAction493___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6167 val
* var_p
/* var p: Parser */;
6168 val
* var_node_list
/* var node_list: nullable Object */;
6169 long var
/* : Int */;
6170 long var1
/* : Int */;
6172 var_node_list
= ((val
*)NULL
);
6173 var
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction493> */
6175 var1
= nit___nit__Parser___go_to(var_p
, var
);
6178 nit___nit__Parser___push(var_p
, var1
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6182 /* method parser#ReduceAction496#action for (self: ReduceAction496, Parser) */
6183 void nit__parser___nit__parser__ReduceAction496___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6184 val
* var_p
/* var p: Parser */;
6185 val
* var_node_list
/* var node_list: nullable Object */;
6186 val
* var
/* : nullable Object */;
6187 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6188 val
* var1
/* : nullable Object */;
6189 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6190 long var2
/* : Int */;
6191 long var3
/* : Int */;
6193 var_node_list
= ((val
*)NULL
);
6195 var
= nit___nit__Parser___pop(var_p
);
6197 var_nodearraylist2
= var
;
6199 var1
= nit___nit__Parser___pop(var_p
);
6201 var_nodearraylist1
= var1
;
6202 var2
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction496> */
6204 var3
= nit___nit__Parser___go_to(var_p
, var2
);
6207 nit___nit__Parser___push(var_p
, var3
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6211 /* method parser#ReduceAction871#action for (self: ReduceAction871, Parser) */
6212 void nit__parser___nit__parser__ReduceAction871___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6213 val
* var_p
/* var p: Parser */;
6214 val
* var_node_list
/* var node_list: nullable Object */;
6215 val
* var
/* : nullable Object */;
6216 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6217 val
* var1
/* : nullable Object */;
6218 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6219 val
* var2
/* : nullable Object */;
6220 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6221 val
* var3
/* : nullable Object */;
6222 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6223 val
* var_tkwissetnode2
/* var tkwissetnode2: nullable Object */;
6224 short int var4
/* : Bool */;
6227 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
6228 short int var5
/* : Bool */;
6231 val
* var_tattridnode4
/* var tattridnode4: nullable Object */;
6232 short int var8
/* : Bool */;
6235 val
* var11
/* : AIssetAttrExpr */;
6236 val
* var_pexprnode1
/* var pexprnode1: nullable AIssetAttrExpr */;
6237 long var12
/* : Int */;
6238 long var13
/* : Int */;
6240 var_node_list
= ((val
*)NULL
);
6242 var
= nit___nit__Parser___pop(var_p
);
6244 var_nodearraylist4
= var
;
6246 var1
= nit___nit__Parser___pop(var_p
);
6248 var_nodearraylist3
= var1
;
6250 var2
= nit___nit__Parser___pop(var_p
);
6252 var_nodearraylist2
= var2
;
6254 var3
= nit___nit__Parser___pop(var_p
);
6256 var_nodearraylist1
= var3
;
6257 var_tkwissetnode2
= var_nodearraylist1
;
6258 /* <var_tkwissetnode2:nullable Object> isa nullable TKwisset */
6259 cltype
= type_nullable__nit__TKwisset
.color
;
6260 idtype
= type_nullable__nit__TKwisset
.id
;
6261 if(var_tkwissetnode2
== NULL
) {
6264 if(cltype
>= (((long)var_tkwissetnode2
&3)?type_info
[((long)var_tkwissetnode2
&3)]:var_tkwissetnode2
->type
)->table_size
) {
6267 var4
= (((long)var_tkwissetnode2
&3)?type_info
[((long)var_tkwissetnode2
&3)]:var_tkwissetnode2
->type
)->type_table
[cltype
] == idtype
;
6270 if (unlikely(!var4
)) {
6271 PRINT_ERROR("Runtime error: %s", "Assert failed");
6272 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11067);
6275 var_pexprnode3
= var_nodearraylist2
;
6276 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
6277 cltype6
= type_nullable__nit__AExpr
.color
;
6278 idtype7
= type_nullable__nit__AExpr
.id
;
6279 if(var_pexprnode3
== NULL
) {
6282 if(cltype6
>= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->table_size
) {
6285 var5
= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->type_table
[cltype6
] == idtype7
;
6288 if (unlikely(!var5
)) {
6289 PRINT_ERROR("Runtime error: %s", "Assert failed");
6290 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11069);
6293 var_tattridnode4
= var_nodearraylist4
;
6294 /* <var_tattridnode4:nullable Object> isa nullable TAttrid */
6295 cltype9
= type_nullable__nit__TAttrid
.color
;
6296 idtype10
= type_nullable__nit__TAttrid
.id
;
6297 if(var_tattridnode4
== NULL
) {
6300 if(cltype9
>= (((long)var_tattridnode4
&3)?type_info
[((long)var_tattridnode4
&3)]:var_tattridnode4
->type
)->table_size
) {
6303 var8
= (((long)var_tattridnode4
&3)?type_info
[((long)var_tattridnode4
&3)]:var_tattridnode4
->type
)->type_table
[cltype9
] == idtype10
;
6306 if (unlikely(!var8
)) {
6307 PRINT_ERROR("Runtime error: %s", "Assert failed");
6308 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11071);
6311 var11
= NEW_nit__AIssetAttrExpr(&type_nit__AIssetAttrExpr
);
6313 nit__parser_prod___AIssetAttrExpr___init_aissetattrexpr(var11
, var_tkwissetnode2
, var_pexprnode3
, var_tattridnode4
); /* Direct call parser_prod#AIssetAttrExpr#init_aissetattrexpr on <var11:AIssetAttrExpr>*/
6315 var_pexprnode1
= var11
;
6316 var_node_list
= var_pexprnode1
;
6317 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction871> */
6319 var13
= nit___nit__Parser___go_to(var_p
, var12
);
6322 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6326 /* method parser#ReduceAction873#action for (self: ReduceAction873, Parser) */
6327 void nit__parser___nit__parser__ReduceAction873___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6328 val
* var_p
/* var p: Parser */;
6329 val
* var_node_list
/* var node_list: nullable Object */;
6330 val
* var
/* : nullable Object */;
6331 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6332 val
* var1
/* : nullable Object */;
6333 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6334 val
* var2
/* : nullable Object */;
6335 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6336 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
6337 short int var3
/* : Bool */;
6340 val
* var_tattridnode3
/* var tattridnode3: nullable Object */;
6341 short int var4
/* : Bool */;
6344 val
* var7
/* : AAttrExpr */;
6345 val
* var_pexprnode1
/* var pexprnode1: nullable AAttrExpr */;
6346 long var8
/* : Int */;
6347 long var9
/* : Int */;
6349 var_node_list
= ((val
*)NULL
);
6351 var
= nit___nit__Parser___pop(var_p
);
6353 var_nodearraylist3
= var
;
6355 var1
= nit___nit__Parser___pop(var_p
);
6357 var_nodearraylist2
= var1
;
6359 var2
= nit___nit__Parser___pop(var_p
);
6361 var_nodearraylist1
= var2
;
6362 var_pexprnode2
= var_nodearraylist1
;
6363 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
6364 cltype
= type_nullable__nit__AExpr
.color
;
6365 idtype
= type_nullable__nit__AExpr
.id
;
6366 if(var_pexprnode2
== NULL
) {
6369 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
6372 var3
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
6375 if (unlikely(!var3
)) {
6376 PRINT_ERROR("Runtime error: %s", "Assert failed");
6377 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11090);
6380 var_tattridnode3
= var_nodearraylist3
;
6381 /* <var_tattridnode3:nullable Object> isa nullable TAttrid */
6382 cltype5
= type_nullable__nit__TAttrid
.color
;
6383 idtype6
= type_nullable__nit__TAttrid
.id
;
6384 if(var_tattridnode3
== NULL
) {
6387 if(cltype5
>= (((long)var_tattridnode3
&3)?type_info
[((long)var_tattridnode3
&3)]:var_tattridnode3
->type
)->table_size
) {
6390 var4
= (((long)var_tattridnode3
&3)?type_info
[((long)var_tattridnode3
&3)]:var_tattridnode3
->type
)->type_table
[cltype5
] == idtype6
;
6393 if (unlikely(!var4
)) {
6394 PRINT_ERROR("Runtime error: %s", "Assert failed");
6395 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11092);
6398 var7
= NEW_nit__AAttrExpr(&type_nit__AAttrExpr
);
6400 nit__parser_prod___AAttrExpr___init_aattrexpr(var7
, var_pexprnode2
, var_tattridnode3
); /* Direct call parser_prod#AAttrExpr#init_aattrexpr on <var7:AAttrExpr>*/
6402 var_pexprnode1
= var7
;
6403 var_node_list
= var_pexprnode1
;
6404 var8
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction873> */
6406 var9
= nit___nit__Parser___go_to(var_p
, var8
);
6409 nit___nit__Parser___push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6413 /* method parser#ReduceAction874#action for (self: ReduceAction874, Parser) */
6414 void nit__parser___nit__parser__ReduceAction874___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6415 val
* var_p
/* var p: Parser */;
6416 val
* var_node_list
/* var node_list: nullable Object */;
6417 val
* var
/* : nullable Object */;
6418 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6419 val
* var1
/* : nullable Object */;
6420 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6421 val
* var2
/* : nullable Object */;
6422 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6423 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
6424 short int var3
/* : Bool */;
6427 val
* var_tidnode3
/* var tidnode3: nullable Object */;
6428 short int var4
/* : Bool */;
6431 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
6432 short int var7
/* : Bool */;
6435 val
* var10
/* : ACallExpr */;
6436 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
6437 long var11
/* : Int */;
6438 long var12
/* : Int */;
6440 var_node_list
= ((val
*)NULL
);
6442 var
= nit___nit__Parser___pop(var_p
);
6444 var_nodearraylist3
= var
;
6446 var1
= nit___nit__Parser___pop(var_p
);
6448 var_nodearraylist2
= var1
;
6450 var2
= nit___nit__Parser___pop(var_p
);
6452 var_nodearraylist1
= var2
;
6453 var_pexprnode2
= var_nodearraylist1
;
6454 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
6455 cltype
= type_nullable__nit__AExpr
.color
;
6456 idtype
= type_nullable__nit__AExpr
.id
;
6457 if(var_pexprnode2
== NULL
) {
6460 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
6463 var3
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
6466 if (unlikely(!var3
)) {
6467 PRINT_ERROR("Runtime error: %s", "Assert failed");
6468 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11110);
6471 var_tidnode3
= var_nodearraylist2
;
6472 /* <var_tidnode3:nullable Object> isa nullable TId */
6473 cltype5
= type_nullable__nit__TId
.color
;
6474 idtype6
= type_nullable__nit__TId
.id
;
6475 if(var_tidnode3
== NULL
) {
6478 if(cltype5
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
6481 var4
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype5
] == idtype6
;
6484 if (unlikely(!var4
)) {
6485 PRINT_ERROR("Runtime error: %s", "Assert failed");
6486 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11112);
6489 var_pexprsnode4
= var_nodearraylist3
;
6490 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
6491 cltype8
= type_nullable__nit__AExprs
.color
;
6492 idtype9
= type_nullable__nit__AExprs
.id
;
6493 if(var_pexprsnode4
== NULL
) {
6496 if(cltype8
>= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->table_size
) {
6499 var7
= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->type_table
[cltype8
] == idtype9
;
6502 if (unlikely(!var7
)) {
6503 PRINT_ERROR("Runtime error: %s", "Assert failed");
6504 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11114);
6507 var10
= NEW_nit__ACallExpr(&type_nit__ACallExpr
);
6509 nit__parser_prod___ACallExpr___init_acallexpr(var10
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var10:ACallExpr>*/
6511 var_pexprnode1
= var10
;
6512 var_node_list
= var_pexprnode1
;
6513 var11
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction874> */
6515 var12
= nit___nit__Parser___go_to(var_p
, var11
);
6518 nit___nit__Parser___push(var_p
, var12
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6522 /* method parser#ReduceAction875#action for (self: ReduceAction875, Parser) */
6523 void nit__parser___nit__parser__ReduceAction875___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6524 val
* var_p
/* var p: Parser */;
6525 val
* var_node_list
/* var node_list: nullable Object */;
6526 val
* var
/* : nullable Object */;
6527 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6528 val
* var1
/* : nullable Object */;
6529 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6530 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
6531 short int var2
/* : Bool */;
6534 val
* var_tidnode3
/* var tidnode3: nullable Object */;
6535 short int var3
/* : Bool */;
6538 val
* var6
/* : Array[Object] */;
6539 val
* var_listnode5
/* var listnode5: Array[Object] */;
6540 val
* var7
/* : AListExprs */;
6541 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
6542 val
* var8
/* : ACallExpr */;
6543 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
6544 long var9
/* : Int */;
6545 long var10
/* : Int */;
6547 var_node_list
= ((val
*)NULL
);
6549 var
= nit___nit__Parser___pop(var_p
);
6551 var_nodearraylist2
= var
;
6553 var1
= nit___nit__Parser___pop(var_p
);
6555 var_nodearraylist1
= var1
;
6556 var_pexprnode2
= var_nodearraylist1
;
6557 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
6558 cltype
= type_nullable__nit__AExpr
.color
;
6559 idtype
= type_nullable__nit__AExpr
.id
;
6560 if(var_pexprnode2
== NULL
) {
6563 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
6566 var2
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
6569 if (unlikely(!var2
)) {
6570 PRINT_ERROR("Runtime error: %s", "Assert failed");
6571 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11132);
6574 var_tidnode3
= var_nodearraylist2
;
6575 /* <var_tidnode3:nullable Object> isa nullable TId */
6576 cltype4
= type_nullable__nit__TId
.color
;
6577 idtype5
= type_nullable__nit__TId
.id
;
6578 if(var_tidnode3
== NULL
) {
6581 if(cltype4
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
6584 var3
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype4
] == idtype5
;
6587 if (unlikely(!var3
)) {
6588 PRINT_ERROR("Runtime error: %s", "Assert failed");
6589 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11134);
6592 var6
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6594 standard___standard__Array___standard__kernel__Object__init(var6
); /* Direct call array#Array#init on <var6:Array[Object]>*/
6596 var_listnode5
= var6
;
6597 var7
= NEW_nit__AListExprs(&type_nit__AListExprs
);
6599 nit__parser_prod___AListExprs___init_alistexprs(var7
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var7:AListExprs>*/
6601 var_pexprsnode4
= var7
;
6602 var8
= NEW_nit__ACallExpr(&type_nit__ACallExpr
);
6604 nit__parser_prod___ACallExpr___init_acallexpr(var8
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var8:ACallExpr>*/
6606 var_pexprnode1
= var8
;
6607 var_node_list
= var_pexprnode1
;
6608 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction875> */
6610 var10
= nit___nit__Parser___go_to(var_p
, var9
);
6613 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6617 /* method parser#ReduceAction876#action for (self: ReduceAction876, Parser) */
6618 void nit__parser___nit__parser__ReduceAction876___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6619 val
* var_p
/* var p: Parser */;
6620 val
* var_node_list
/* var node_list: nullable Object */;
6621 val
* var
/* : nullable Object */;
6622 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6623 val
* var1
/* : nullable Object */;
6624 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6625 val
* var2
/* : nullable Object */;
6626 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6627 val
* var3
/* : nullable Object */;
6628 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6629 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
6630 short int var4
/* : Bool */;
6633 val
* var_tidnode3
/* var tidnode3: nullable Object */;
6634 short int var5
/* : Bool */;
6637 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
6638 short int var8
/* : Bool */;
6641 val
* var11
/* : ACallExpr */;
6642 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
6643 long var12
/* : Int */;
6644 long var13
/* : Int */;
6646 var_node_list
= ((val
*)NULL
);
6648 var
= nit___nit__Parser___pop(var_p
);
6650 var_nodearraylist4
= var
;
6652 var1
= nit___nit__Parser___pop(var_p
);
6654 var_nodearraylist3
= var1
;
6656 var2
= nit___nit__Parser___pop(var_p
);
6658 var_nodearraylist2
= var2
;
6660 var3
= nit___nit__Parser___pop(var_p
);
6662 var_nodearraylist1
= var3
;
6663 var_pexprnode2
= var_nodearraylist1
;
6664 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
6665 cltype
= type_nullable__nit__AExpr
.color
;
6666 idtype
= type_nullable__nit__AExpr
.id
;
6667 if(var_pexprnode2
== NULL
) {
6670 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
6673 var4
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
6676 if (unlikely(!var4
)) {
6677 PRINT_ERROR("Runtime error: %s", "Assert failed");
6678 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11158);
6681 var_tidnode3
= var_nodearraylist3
;
6682 /* <var_tidnode3:nullable Object> isa nullable TId */
6683 cltype6
= type_nullable__nit__TId
.color
;
6684 idtype7
= type_nullable__nit__TId
.id
;
6685 if(var_tidnode3
== NULL
) {
6688 if(cltype6
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
6691 var5
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype6
] == idtype7
;
6694 if (unlikely(!var5
)) {
6695 PRINT_ERROR("Runtime error: %s", "Assert failed");
6696 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11160);
6699 var_pexprsnode4
= var_nodearraylist4
;
6700 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
6701 cltype9
= type_nullable__nit__AExprs
.color
;
6702 idtype10
= type_nullable__nit__AExprs
.id
;
6703 if(var_pexprsnode4
== NULL
) {
6706 if(cltype9
>= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->table_size
) {
6709 var8
= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->type_table
[cltype9
] == idtype10
;
6712 if (unlikely(!var8
)) {
6713 PRINT_ERROR("Runtime error: %s", "Assert failed");
6714 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11162);
6717 var11
= NEW_nit__ACallExpr(&type_nit__ACallExpr
);
6719 nit__parser_prod___ACallExpr___init_acallexpr(var11
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var11:ACallExpr>*/
6721 var_pexprnode1
= var11
;
6722 var_node_list
= var_pexprnode1
;
6723 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction876> */
6725 var13
= nit___nit__Parser___go_to(var_p
, var12
);
6728 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6732 /* method parser#ReduceAction877#action for (self: ReduceAction877, Parser) */
6733 void nit__parser___nit__parser__ReduceAction877___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6734 val
* var_p
/* var p: Parser */;
6735 val
* var_node_list
/* var node_list: nullable Object */;
6736 val
* var
/* : nullable Object */;
6737 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6738 val
* var1
/* : nullable Object */;
6739 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6740 val
* var2
/* : nullable Object */;
6741 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6742 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
6743 short int var3
/* : Bool */;
6746 val
* var_tidnode3
/* var tidnode3: nullable Object */;
6747 short int var4
/* : Bool */;
6750 val
* var7
/* : Array[Object] */;
6751 val
* var_listnode5
/* var listnode5: Array[Object] */;
6752 val
* var8
/* : AListExprs */;
6753 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
6754 val
* var9
/* : ACallExpr */;
6755 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
6756 long var10
/* : Int */;
6757 long var11
/* : Int */;
6759 var_node_list
= ((val
*)NULL
);
6761 var
= nit___nit__Parser___pop(var_p
);
6763 var_nodearraylist3
= var
;
6765 var1
= nit___nit__Parser___pop(var_p
);
6767 var_nodearraylist2
= var1
;
6769 var2
= nit___nit__Parser___pop(var_p
);
6771 var_nodearraylist1
= var2
;
6772 var_pexprnode2
= var_nodearraylist1
;
6773 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
6774 cltype
= type_nullable__nit__AExpr
.color
;
6775 idtype
= type_nullable__nit__AExpr
.id
;
6776 if(var_pexprnode2
== NULL
) {
6779 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
6782 var3
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
6785 if (unlikely(!var3
)) {
6786 PRINT_ERROR("Runtime error: %s", "Assert failed");
6787 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11181);
6790 var_tidnode3
= var_nodearraylist3
;
6791 /* <var_tidnode3:nullable Object> isa nullable TId */
6792 cltype5
= type_nullable__nit__TId
.color
;
6793 idtype6
= type_nullable__nit__TId
.id
;
6794 if(var_tidnode3
== NULL
) {
6797 if(cltype5
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
6800 var4
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype5
] == idtype6
;
6803 if (unlikely(!var4
)) {
6804 PRINT_ERROR("Runtime error: %s", "Assert failed");
6805 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11183);
6808 var7
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6810 standard___standard__Array___standard__kernel__Object__init(var7
); /* Direct call array#Array#init on <var7:Array[Object]>*/
6812 var_listnode5
= var7
;
6813 var8
= NEW_nit__AListExprs(&type_nit__AListExprs
);
6815 nit__parser_prod___AListExprs___init_alistexprs(var8
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var8:AListExprs>*/
6817 var_pexprsnode4
= var8
;
6818 var9
= NEW_nit__ACallExpr(&type_nit__ACallExpr
);
6820 nit__parser_prod___ACallExpr___init_acallexpr(var9
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var9:ACallExpr>*/
6822 var_pexprnode1
= var9
;
6823 var_node_list
= var_pexprnode1
;
6824 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction877> */
6826 var11
= nit___nit__Parser___go_to(var_p
, var10
);
6829 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6833 /* method parser#ReduceAction884#action for (self: ReduceAction884, Parser) */
6834 void nit__parser___nit__parser__ReduceAction884___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6835 val
* var_p
/* var p: Parser */;
6836 val
* var_node_list
/* var node_list: nullable Object */;
6837 val
* var
/* : nullable Object */;
6838 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6839 val
* var1
/* : nullable Object */;
6840 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6841 val
* var2
/* : nullable Object */;
6842 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6843 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
6844 short int var3
/* : Bool */;
6847 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
6848 short int var4
/* : Bool */;
6851 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
6852 short int var7
/* : Bool */;
6855 val
* var10
/* : AInitExpr */;
6856 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
6857 long var11
/* : Int */;
6858 long var12
/* : Int */;
6860 var_node_list
= ((val
*)NULL
);
6862 var
= nit___nit__Parser___pop(var_p
);
6864 var_nodearraylist3
= var
;
6866 var1
= nit___nit__Parser___pop(var_p
);
6868 var_nodearraylist2
= var1
;
6870 var2
= nit___nit__Parser___pop(var_p
);
6872 var_nodearraylist1
= var2
;
6873 var_pexprnode2
= var_nodearraylist1
;
6874 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
6875 cltype
= type_nullable__nit__AExpr
.color
;
6876 idtype
= type_nullable__nit__AExpr
.id
;
6877 if(var_pexprnode2
== NULL
) {
6880 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
6883 var3
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
6886 if (unlikely(!var3
)) {
6887 PRINT_ERROR("Runtime error: %s", "Assert failed");
6888 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11206);
6891 var_tkwinitnode3
= var_nodearraylist2
;
6892 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
6893 cltype5
= type_nullable__nit__TKwinit
.color
;
6894 idtype6
= type_nullable__nit__TKwinit
.id
;
6895 if(var_tkwinitnode3
== NULL
) {
6898 if(cltype5
>= (((long)var_tkwinitnode3
&3)?type_info
[((long)var_tkwinitnode3
&3)]:var_tkwinitnode3
->type
)->table_size
) {
6901 var4
= (((long)var_tkwinitnode3
&3)?type_info
[((long)var_tkwinitnode3
&3)]:var_tkwinitnode3
->type
)->type_table
[cltype5
] == idtype6
;
6904 if (unlikely(!var4
)) {
6905 PRINT_ERROR("Runtime error: %s", "Assert failed");
6906 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11208);
6909 var_pexprsnode4
= var_nodearraylist3
;
6910 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
6911 cltype8
= type_nullable__nit__AExprs
.color
;
6912 idtype9
= type_nullable__nit__AExprs
.id
;
6913 if(var_pexprsnode4
== NULL
) {
6916 if(cltype8
>= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->table_size
) {
6919 var7
= (((long)var_pexprsnode4
&3)?type_info
[((long)var_pexprsnode4
&3)]:var_pexprsnode4
->type
)->type_table
[cltype8
] == idtype9
;
6922 if (unlikely(!var7
)) {
6923 PRINT_ERROR("Runtime error: %s", "Assert failed");
6924 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11210);
6927 var10
= NEW_nit__AInitExpr(&type_nit__AInitExpr
);
6929 nit__parser_prod___AInitExpr___init_ainitexpr(var10
, var_pexprnode2
, var_tkwinitnode3
, var_pexprsnode4
); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var10:AInitExpr>*/
6931 var_pexprnode1
= var10
;
6932 var_node_list
= var_pexprnode1
;
6933 var11
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction884> */
6935 var12
= nit___nit__Parser___go_to(var_p
, var11
);
6938 nit___nit__Parser___push(var_p
, var12
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6942 /* method parser#ReduceAction885#action for (self: ReduceAction885, Parser) */
6943 void nit__parser___nit__parser__ReduceAction885___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6944 val
* var_p
/* var p: Parser */;
6945 val
* var_node_list
/* var node_list: nullable Object */;
6946 val
* var
/* : nullable Object */;
6947 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6948 val
* var1
/* : nullable Object */;
6949 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6950 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
6951 short int var2
/* : Bool */;
6954 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
6955 short int var3
/* : Bool */;
6958 val
* var6
/* : Array[Object] */;
6959 val
* var_listnode5
/* var listnode5: Array[Object] */;
6960 val
* var7
/* : AListExprs */;
6961 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
6962 val
* var8
/* : AInitExpr */;
6963 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
6964 long var9
/* : Int */;
6965 long var10
/* : Int */;
6967 var_node_list
= ((val
*)NULL
);
6969 var
= nit___nit__Parser___pop(var_p
);
6971 var_nodearraylist2
= var
;
6973 var1
= nit___nit__Parser___pop(var_p
);
6975 var_nodearraylist1
= var1
;
6976 var_pexprnode2
= var_nodearraylist1
;
6977 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
6978 cltype
= type_nullable__nit__AExpr
.color
;
6979 idtype
= type_nullable__nit__AExpr
.id
;
6980 if(var_pexprnode2
== NULL
) {
6983 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
6986 var2
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
6989 if (unlikely(!var2
)) {
6990 PRINT_ERROR("Runtime error: %s", "Assert failed");
6991 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11228);
6994 var_tkwinitnode3
= var_nodearraylist2
;
6995 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
6996 cltype4
= type_nullable__nit__TKwinit
.color
;
6997 idtype5
= type_nullable__nit__TKwinit
.id
;
6998 if(var_tkwinitnode3
== NULL
) {
7001 if(cltype4
>= (((long)var_tkwinitnode3
&3)?type_info
[((long)var_tkwinitnode3
&3)]:var_tkwinitnode3
->type
)->table_size
) {
7004 var3
= (((long)var_tkwinitnode3
&3)?type_info
[((long)var_tkwinitnode3
&3)]:var_tkwinitnode3
->type
)->type_table
[cltype4
] == idtype5
;
7007 if (unlikely(!var3
)) {
7008 PRINT_ERROR("Runtime error: %s", "Assert failed");
7009 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11230);
7012 var6
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7014 standard___standard__Array___standard__kernel__Object__init(var6
); /* Direct call array#Array#init on <var6:Array[Object]>*/
7016 var_listnode5
= var6
;
7017 var7
= NEW_nit__AListExprs(&type_nit__AListExprs
);
7019 nit__parser_prod___AListExprs___init_alistexprs(var7
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var7:AListExprs>*/
7021 var_pexprsnode4
= var7
;
7022 var8
= NEW_nit__AInitExpr(&type_nit__AInitExpr
);
7024 nit__parser_prod___AInitExpr___init_ainitexpr(var8
, var_pexprnode2
, var_tkwinitnode3
, var_pexprsnode4
); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var8:AInitExpr>*/
7026 var_pexprnode1
= var8
;
7027 var_node_list
= var_pexprnode1
;
7028 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction885> */
7030 var10
= nit___nit__Parser___go_to(var_p
, var9
);
7033 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7037 /* method parser#ReduceAction916#action for (self: ReduceAction916, Parser) */
7038 void nit__parser___nit__parser__ReduceAction916___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7039 val
* var_p
/* var p: Parser */;
7040 val
* var_node_list
/* var node_list: nullable Object */;
7041 val
* var
/* : nullable Object */;
7042 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7043 val
* var1
/* : nullable Object */;
7044 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7045 val
* var2
/* : nullable Object */;
7046 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7047 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
7048 long var3
/* : Int */;
7049 long var4
/* : Int */;
7051 var_node_list
= ((val
*)NULL
);
7053 var
= nit___nit__Parser___pop(var_p
);
7055 var_nodearraylist3
= var
;
7057 var1
= nit___nit__Parser___pop(var_p
);
7059 var_nodearraylist2
= var1
;
7061 var2
= nit___nit__Parser___pop(var_p
);
7063 var_nodearraylist1
= var2
;
7064 var_pexprnode1
= var_nodearraylist1
;
7065 var_node_list
= var_pexprnode1
;
7066 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction916> */
7068 var4
= nit___nit__Parser___go_to(var_p
, var3
);
7071 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7075 /* method parser#ReduceAction917#action for (self: ReduceAction917, Parser) */
7076 void nit__parser___nit__parser__ReduceAction917___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7077 val
* var_p
/* var p: Parser */;
7078 val
* var_node_list
/* var node_list: nullable Object */;
7079 val
* var
/* : AImplicitSelfExpr */;
7080 val
* var_pexprnode1
/* var pexprnode1: nullable AImplicitSelfExpr */;
7081 long var1
/* : Int */;
7082 long var2
/* : Int */;
7084 var_node_list
= ((val
*)NULL
);
7085 var
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
7087 nit__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var
); /* Direct call parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr on <var:AImplicitSelfExpr>*/
7089 var_pexprnode1
= var
;
7090 var_node_list
= var_pexprnode1
;
7091 var1
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction917> */
7093 var2
= nit___nit__Parser___go_to(var_p
, var1
);
7096 nit___nit__Parser___push(var_p
, var2
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7100 /* method parser#ReduceAction1078#action for (self: ReduceAction1078, Parser) */
7101 void nit__parser___nit__parser__ReduceAction1078___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7102 val
* var_p
/* var p: Parser */;
7103 val
* var_node_list
/* var node_list: nullable Object */;
7104 val
* var
/* : nullable Object */;
7105 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7106 val
* var1
/* : Array[Object] */;
7107 val
* var_listnode2
/* var listnode2: Array[Object] */;
7108 val
* var_pimportnode1
/* var pimportnode1: nullable Object */;
7109 short int var2
/* : Bool */;
7110 short int var3
/* : Bool */;
7111 long var4
/* : Int */;
7112 long var5
/* : Int */;
7114 var_node_list
= ((val
*)NULL
);
7116 var
= nit___nit__Parser___pop(var_p
);
7118 var_nodearraylist1
= var
;
7119 var1
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7121 standard___standard__Array___standard__kernel__Object__init(var1
); /* Direct call array#Array#init on <var1:Array[Object]>*/
7123 var_listnode2
= var1
;
7124 var_pimportnode1
= var_nodearraylist1
;
7125 if (var_pimportnode1
== NULL
) {
7126 var2
= 0; /* is null */
7128 var2
= 1; /* arg is null and recv is not */
7131 var3
= ((short int(*)(val
* self
, val
* p0
))((((long)var_pimportnode1
&3)?class_info
[((long)var_pimportnode1
&3)]:var_pimportnode1
->class)->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pimportnode1
, ((val
*)NULL
)); /* != on <var_pimportnode1:nullable Object>*/
7136 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2
, var_pimportnode1
); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
7140 var_node_list
= var_listnode2
;
7141 var4
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1078> */
7143 var5
= nit___nit__Parser___go_to(var_p
, var4
);
7146 nit___nit__Parser___push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7150 /* method parser#ReduceAction1079#action for (self: ReduceAction1079, Parser) */
7151 void nit__parser___nit__parser__ReduceAction1079___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7152 val
* var_p
/* var p: Parser */;
7153 val
* var_node_list
/* var node_list: nullable Object */;
7154 val
* var
/* : nullable Object */;
7155 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7156 val
* var1
/* : nullable Object */;
7157 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7158 val
* var2
/* : Array[Object] */;
7159 val
* var_listnode3
/* var listnode3: Array[Object] */;
7160 val
* var_listnode1
/* var listnode1: nullable Object */;
7161 short int var3
/* : Bool */;
7164 val
* var_pimportnode2
/* var pimportnode2: nullable Object */;
7165 val
* var4
/* : Array[Object] */;
7166 short int var5
/* : Bool */;
7167 short int var6
/* : Bool */;
7168 long var7
/* : Int */;
7169 long var8
/* : Int */;
7171 var_node_list
= ((val
*)NULL
);
7173 var
= nit___nit__Parser___pop(var_p
);
7175 var_nodearraylist2
= var
;
7177 var1
= nit___nit__Parser___pop(var_p
);
7179 var_nodearraylist1
= var1
;
7180 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7182 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
7184 var_listnode3
= var2
;
7185 var_listnode1
= var_nodearraylist1
;
7186 /* <var_listnode1:nullable Object> isa Array[Object] */
7187 cltype
= type_standard__Array__standard__Object
.color
;
7188 idtype
= type_standard__Array__standard__Object
.id
;
7189 if(var_listnode1
== NULL
) {
7192 if(cltype
>= (((long)var_listnode1
&3)?type_info
[((long)var_listnode1
&3)]:var_listnode1
->type
)->table_size
) {
7195 var3
= (((long)var_listnode1
&3)?type_info
[((long)var_listnode1
&3)]:var_listnode1
->type
)->type_table
[cltype
] == idtype
;
7198 if (unlikely(!var3
)) {
7199 PRINT_ERROR("Runtime error: %s", "Assert failed");
7200 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11291);
7203 var_pimportnode2
= var_nodearraylist2
;
7205 var4
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode1
);
7207 var_listnode3
= var4
;
7208 if (var_pimportnode2
== NULL
) {
7209 var5
= 0; /* is null */
7211 var5
= 1; /* arg is null and recv is not */
7214 var6
= ((short int(*)(val
* self
, val
* p0
))((((long)var_pimportnode2
&3)?class_info
[((long)var_pimportnode2
&3)]:var_pimportnode2
->class)->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pimportnode2
, ((val
*)NULL
)); /* != on <var_pimportnode2:nullable Object>*/
7219 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_pimportnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
7223 var_node_list
= var_listnode3
;
7224 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1079> */
7226 var8
= nit___nit__Parser___go_to(var_p
, var7
);
7229 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7233 /* method parser#ReduceAction1080#action for (self: ReduceAction1080, Parser) */
7234 void nit__parser___nit__parser__ReduceAction1080___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7235 val
* var_p
/* var p: Parser */;
7236 val
* var_node_list
/* var node_list: nullable Object */;
7237 val
* var
/* : nullable Object */;
7238 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7239 val
* var1
/* : Array[Object] */;
7240 val
* var_listnode2
/* var listnode2: Array[Object] */;
7241 val
* var_pexterncodeblocknode1
/* var pexterncodeblocknode1: nullable Object */;
7242 short int var2
/* : Bool */;
7243 short int var3
/* : Bool */;
7244 long var4
/* : Int */;
7245 long var5
/* : Int */;
7247 var_node_list
= ((val
*)NULL
);
7249 var
= nit___nit__Parser___pop(var_p
);
7251 var_nodearraylist1
= var
;
7252 var1
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7254 standard___standard__Array___standard__kernel__Object__init(var1
); /* Direct call array#Array#init on <var1:Array[Object]>*/
7256 var_listnode2
= var1
;
7257 var_pexterncodeblocknode1
= var_nodearraylist1
;
7258 if (var_pexterncodeblocknode1
== NULL
) {
7259 var2
= 0; /* is null */
7261 var2
= 1; /* arg is null and recv is not */
7264 var3
= ((short int(*)(val
* self
, val
* p0
))((((long)var_pexterncodeblocknode1
&3)?class_info
[((long)var_pexterncodeblocknode1
&3)]:var_pexterncodeblocknode1
->class)->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pexterncodeblocknode1
, ((val
*)NULL
)); /* != on <var_pexterncodeblocknode1:nullable Object>*/
7269 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2
, var_pexterncodeblocknode1
); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
7273 var_node_list
= var_listnode2
;
7274 var4
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1080> */
7276 var5
= nit___nit__Parser___go_to(var_p
, var4
);
7279 nit___nit__Parser___push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7283 /* method parser#ReduceAction1081#action for (self: ReduceAction1081, Parser) */
7284 void nit__parser___nit__parser__ReduceAction1081___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7285 val
* var_p
/* var p: Parser */;
7286 val
* var_node_list
/* var node_list: nullable Object */;
7287 val
* var
/* : nullable Object */;
7288 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7289 val
* var1
/* : nullable Object */;
7290 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7291 val
* var2
/* : Array[Object] */;
7292 val
* var_listnode3
/* var listnode3: Array[Object] */;
7293 val
* var_listnode1
/* var listnode1: nullable Object */;
7294 short int var3
/* : Bool */;
7297 val
* var_pexterncodeblocknode2
/* var pexterncodeblocknode2: nullable Object */;
7298 val
* var4
/* : Array[Object] */;
7299 short int var5
/* : Bool */;
7300 short int var6
/* : Bool */;
7301 long var7
/* : Int */;
7302 long var8
/* : Int */;
7304 var_node_list
= ((val
*)NULL
);
7306 var
= nit___nit__Parser___pop(var_p
);
7308 var_nodearraylist2
= var
;
7310 var1
= nit___nit__Parser___pop(var_p
);
7312 var_nodearraylist1
= var1
;
7313 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7315 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
7317 var_listnode3
= var2
;
7318 var_listnode1
= var_nodearraylist1
;
7319 /* <var_listnode1:nullable Object> isa Array[Object] */
7320 cltype
= type_standard__Array__standard__Object
.color
;
7321 idtype
= type_standard__Array__standard__Object
.id
;
7322 if(var_listnode1
== NULL
) {
7325 if(cltype
>= (((long)var_listnode1
&3)?type_info
[((long)var_listnode1
&3)]:var_listnode1
->type
)->table_size
) {
7328 var3
= (((long)var_listnode1
&3)?type_info
[((long)var_listnode1
&3)]:var_listnode1
->type
)->type_table
[cltype
] == idtype
;
7331 if (unlikely(!var3
)) {
7332 PRINT_ERROR("Runtime error: %s", "Assert failed");
7333 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11325);
7336 var_pexterncodeblocknode2
= var_nodearraylist2
;
7338 var4
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode1
);
7340 var_listnode3
= var4
;
7341 if (var_pexterncodeblocknode2
== NULL
) {
7342 var5
= 0; /* is null */
7344 var5
= 1; /* arg is null and recv is not */
7347 var6
= ((short int(*)(val
* self
, val
* p0
))((((long)var_pexterncodeblocknode2
&3)?class_info
[((long)var_pexterncodeblocknode2
&3)]:var_pexterncodeblocknode2
->class)->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pexterncodeblocknode2
, ((val
*)NULL
)); /* != on <var_pexterncodeblocknode2:nullable Object>*/
7352 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_pexterncodeblocknode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
7356 var_node_list
= var_listnode3
;
7357 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1081> */
7359 var8
= nit___nit__Parser___go_to(var_p
, var7
);
7362 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7366 /* method parser#ReduceAction1082#action for (self: ReduceAction1082, Parser) */
7367 void nit__parser___nit__parser__ReduceAction1082___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7368 val
* var_p
/* var p: Parser */;
7369 val
* var_node_list
/* var node_list: nullable Object */;
7370 val
* var
/* : nullable Object */;
7371 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7372 val
* var1
/* : Array[Object] */;
7373 val
* var_listnode2
/* var listnode2: Array[Object] */;
7374 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable Object */;
7375 short int var2
/* : Bool */;
7376 short int var3
/* : Bool */;
7377 long var4
/* : Int */;
7378 long var5
/* : Int */;
7380 var_node_list
= ((val
*)NULL
);
7382 var
= nit___nit__Parser___pop(var_p
);
7384 var_nodearraylist1
= var
;
7385 var1
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7387 standard___standard__Array___standard__kernel__Object__init(var1
); /* Direct call array#Array#init on <var1:Array[Object]>*/
7389 var_listnode2
= var1
;
7390 var_pclassdefnode1
= var_nodearraylist1
;
7391 if (var_pclassdefnode1
== NULL
) {
7392 var2
= 0; /* is null */
7394 var2
= 1; /* arg is null and recv is not */
7397 var3
= ((short int(*)(val
* self
, val
* p0
))((((long)var_pclassdefnode1
&3)?class_info
[((long)var_pclassdefnode1
&3)]:var_pclassdefnode1
->class)->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pclassdefnode1
, ((val
*)NULL
)); /* != on <var_pclassdefnode1:nullable Object>*/
7402 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2
, var_pclassdefnode1
); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
7406 var_node_list
= var_listnode2
;
7407 var4
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1082> */
7409 var5
= nit___nit__Parser___go_to(var_p
, var4
);
7412 nit___nit__Parser___push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7416 /* method parser#ReduceAction1083#action for (self: ReduceAction1083, Parser) */
7417 void nit__parser___nit__parser__ReduceAction1083___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7418 val
* var_p
/* var p: Parser */;
7419 val
* var_node_list
/* var node_list: nullable Object */;
7420 val
* var
/* : nullable Object */;
7421 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7422 val
* var1
/* : nullable Object */;
7423 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7424 val
* var2
/* : Array[Object] */;
7425 val
* var_listnode3
/* var listnode3: Array[Object] */;
7426 val
* var_listnode1
/* var listnode1: nullable Object */;
7427 short int var3
/* : Bool */;
7430 val
* var_pclassdefnode2
/* var pclassdefnode2: nullable Object */;
7431 val
* var4
/* : Array[Object] */;
7432 short int var5
/* : Bool */;
7433 short int var6
/* : Bool */;
7434 long var7
/* : Int */;
7435 long var8
/* : Int */;
7437 var_node_list
= ((val
*)NULL
);
7439 var
= nit___nit__Parser___pop(var_p
);
7441 var_nodearraylist2
= var
;
7443 var1
= nit___nit__Parser___pop(var_p
);
7445 var_nodearraylist1
= var1
;
7446 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7448 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
7450 var_listnode3
= var2
;
7451 var_listnode1
= var_nodearraylist1
;
7452 /* <var_listnode1:nullable Object> isa Array[Object] */
7453 cltype
= type_standard__Array__standard__Object
.color
;
7454 idtype
= type_standard__Array__standard__Object
.id
;
7455 if(var_listnode1
== NULL
) {
7458 if(cltype
>= (((long)var_listnode1
&3)?type_info
[((long)var_listnode1
&3)]:var_listnode1
->type
)->table_size
) {
7461 var3
= (((long)var_listnode1
&3)?type_info
[((long)var_listnode1
&3)]:var_listnode1
->type
)->type_table
[cltype
] == idtype
;
7464 if (unlikely(!var3
)) {
7465 PRINT_ERROR("Runtime error: %s", "Assert failed");
7466 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11359);
7469 var_pclassdefnode2
= var_nodearraylist2
;
7471 var4
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode1
);
7473 var_listnode3
= var4
;
7474 if (var_pclassdefnode2
== NULL
) {
7475 var5
= 0; /* is null */
7477 var5
= 1; /* arg is null and recv is not */
7480 var6
= ((short int(*)(val
* self
, val
* p0
))((((long)var_pclassdefnode2
&3)?class_info
[((long)var_pclassdefnode2
&3)]:var_pclassdefnode2
->class)->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pclassdefnode2
, ((val
*)NULL
)); /* != on <var_pclassdefnode2:nullable Object>*/
7485 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_pclassdefnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
7489 var_node_list
= var_listnode3
;
7490 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1083> */
7492 var8
= nit___nit__Parser___go_to(var_p
, var7
);
7495 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7499 /* method parser#ReduceAction1085#action for (self: ReduceAction1085, Parser) */
7500 void nit__parser___nit__parser__ReduceAction1085___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7501 val
* var_p
/* var p: Parser */;
7502 val
* var_node_list
/* var node_list: nullable Object */;
7503 val
* var
/* : nullable Object */;
7504 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7505 val
* var1
/* : nullable Object */;
7506 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7507 val
* var2
/* : Array[Object] */;
7508 val
* var_listnode3
/* var listnode3: Array[Object] */;
7509 val
* var_listnode1
/* var listnode1: nullable Object */;
7510 short int var3
/* : Bool */;
7513 val
* var_pformaldefnode2
/* var pformaldefnode2: nullable Object */;
7514 val
* var4
/* : Array[Object] */;
7515 short int var5
/* : Bool */;
7516 short int var6
/* : Bool */;
7517 long var7
/* : Int */;
7518 long var8
/* : Int */;
7520 var_node_list
= ((val
*)NULL
);
7522 var
= nit___nit__Parser___pop(var_p
);
7524 var_nodearraylist2
= var
;
7526 var1
= nit___nit__Parser___pop(var_p
);
7528 var_nodearraylist1
= var1
;
7529 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7531 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
7533 var_listnode3
= var2
;
7534 var_listnode1
= var_nodearraylist1
;
7535 /* <var_listnode1:nullable Object> isa Array[Object] */
7536 cltype
= type_standard__Array__standard__Object
.color
;
7537 idtype
= type_standard__Array__standard__Object
.id
;
7538 if(var_listnode1
== NULL
) {
7541 if(cltype
>= (((long)var_listnode1
&3)?type_info
[((long)var_listnode1
&3)]:var_listnode1
->type
)->table_size
) {
7544 var3
= (((long)var_listnode1
&3)?type_info
[((long)var_listnode1
&3)]:var_listnode1
->type
)->type_table
[cltype
] == idtype
;
7547 if (unlikely(!var3
)) {
7548 PRINT_ERROR("Runtime error: %s", "Assert failed");
7549 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11378);
7552 var_pformaldefnode2
= var_nodearraylist2
;
7554 var4
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode1
);
7556 var_listnode3
= var4
;
7557 if (var_pformaldefnode2
== NULL
) {
7558 var5
= 0; /* is null */
7560 var5
= 1; /* arg is null and recv is not */
7563 var6
= ((short int(*)(val
* self
, val
* p0
))((((long)var_pformaldefnode2
&3)?class_info
[((long)var_pformaldefnode2
&3)]:var_pformaldefnode2
->class)->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pformaldefnode2
, ((val
*)NULL
)); /* != on <var_pformaldefnode2:nullable Object>*/
7568 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_pformaldefnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
7572 var_node_list
= var_listnode3
;
7573 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1085> */
7575 var8
= nit___nit__Parser___go_to(var_p
, var7
);
7578 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7582 /* method parser#ReduceAction1087#action for (self: ReduceAction1087, Parser) */
7583 void nit__parser___nit__parser__ReduceAction1087___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7584 val
* var_p
/* var p: Parser */;
7585 val
* var_node_list
/* var node_list: nullable Object */;
7586 val
* var
/* : nullable Object */;
7587 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7588 val
* var1
/* : nullable Object */;
7589 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7590 val
* var2
/* : Array[Object] */;
7591 val
* var_listnode3
/* var listnode3: Array[Object] */;
7592 val
* var_listnode1
/* var listnode1: nullable Object */;
7593 short int var3
/* : Bool */;
7596 val
* var_ppropdefnode2
/* var ppropdefnode2: nullable Object */;
7597 val
* var4
/* : Array[Object] */;
7598 short int var5
/* : Bool */;
7599 short int var6
/* : Bool */;
7600 long var7
/* : Int */;
7601 long var8
/* : Int */;
7603 var_node_list
= ((val
*)NULL
);
7605 var
= nit___nit__Parser___pop(var_p
);
7607 var_nodearraylist2
= var
;
7609 var1
= nit___nit__Parser___pop(var_p
);
7611 var_nodearraylist1
= var1
;
7612 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7614 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
7616 var_listnode3
= var2
;
7617 var_listnode1
= var_nodearraylist1
;
7618 /* <var_listnode1:nullable Object> isa Array[Object] */
7619 cltype
= type_standard__Array__standard__Object
.color
;
7620 idtype
= type_standard__Array__standard__Object
.id
;
7621 if(var_listnode1
== NULL
) {
7624 if(cltype
>= (((long)var_listnode1
&3)?type_info
[((long)var_listnode1
&3)]:var_listnode1
->type
)->table_size
) {
7627 var3
= (((long)var_listnode1
&3)?type_info
[((long)var_listnode1
&3)]:var_listnode1
->type
)->type_table
[cltype
] == idtype
;
7630 if (unlikely(!var3
)) {
7631 PRINT_ERROR("Runtime error: %s", "Assert failed");
7632 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11397);
7635 var_ppropdefnode2
= var_nodearraylist2
;
7637 var4
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode1
);
7639 var_listnode3
= var4
;
7640 if (var_ppropdefnode2
== NULL
) {
7641 var5
= 0; /* is null */
7643 var5
= 1; /* arg is null and recv is not */
7646 var6
= ((short int(*)(val
* self
, val
* p0
))((((long)var_ppropdefnode2
&3)?class_info
[((long)var_ppropdefnode2
&3)]:var_ppropdefnode2
->class)->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_ppropdefnode2
, ((val
*)NULL
)); /* != on <var_ppropdefnode2:nullable Object>*/
7651 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_ppropdefnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
7655 var_node_list
= var_listnode3
;
7656 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1087> */
7658 var8
= nit___nit__Parser___go_to(var_p
, var7
);
7661 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7665 /* method parser#ReduceAction1089#action for (self: ReduceAction1089, Parser) */
7666 void nit__parser___nit__parser__ReduceAction1089___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7667 val
* var_p
/* var p: Parser */;
7668 val
* var_node_list
/* var node_list: nullable Object */;
7669 val
* var
/* : nullable Object */;
7670 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7671 val
* var1
/* : nullable Object */;
7672 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7673 val
* var2
/* : Array[Object] */;
7674 val
* var_listnode3
/* var listnode3: Array[Object] */;
7675 val
* var_listnode1
/* var listnode1: nullable Object */;
7676 short int var3
/* : Bool */;
7679 val
* var_pannotationnode2
/* var pannotationnode2: nullable Object */;
7680 val
* var4
/* : Array[Object] */;
7681 short int var5
/* : Bool */;
7682 short int var6
/* : Bool */;
7683 long var7
/* : Int */;
7684 long var8
/* : Int */;
7686 var_node_list
= ((val
*)NULL
);
7688 var
= nit___nit__Parser___pop(var_p
);
7690 var_nodearraylist2
= var
;
7692 var1
= nit___nit__Parser___pop(var_p
);
7694 var_nodearraylist1
= var1
;
7695 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7697 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
7699 var_listnode3
= var2
;
7700 var_listnode1
= var_nodearraylist1
;
7701 /* <var_listnode1:nullable Object> isa Array[Object] */
7702 cltype
= type_standard__Array__standard__Object
.color
;
7703 idtype
= type_standard__Array__standard__Object
.id
;
7704 if(var_listnode1
== NULL
) {
7707 if(cltype
>= (((long)var_listnode1
&3)?type_info
[((long)var_listnode1
&3)]:var_listnode1
->type
)->table_size
) {
7710 var3
= (((long)var_listnode1
&3)?type_info
[((long)var_listnode1
&3)]:var_listnode1
->type
)->type_table
[cltype
] == idtype
;
7713 if (unlikely(!var3
)) {
7714 PRINT_ERROR("Runtime error: %s", "Assert failed");
7715 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11416);
7718 var_pannotationnode2
= var_nodearraylist2
;
7720 var4
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode1
);
7722 var_listnode3
= var4
;
7723 if (var_pannotationnode2
== NULL
) {
7724 var5
= 0; /* is null */
7726 var5
= 1; /* arg is null and recv is not */
7729 var6
= ((short int(*)(val
* self
, val
* p0
))((((long)var_pannotationnode2
&3)?class_info
[((long)var_pannotationnode2
&3)]:var_pannotationnode2
->class)->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pannotationnode2
, ((val
*)NULL
)); /* != on <var_pannotationnode2:nullable Object>*/
7734 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_pannotationnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
7738 var_node_list
= var_listnode3
;
7739 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1089> */
7741 var8
= nit___nit__Parser___go_to(var_p
, var7
);
7744 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7748 /* method parser#ReduceAction1090#action for (self: ReduceAction1090, Parser) */
7749 void nit__parser___nit__parser__ReduceAction1090___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7750 val
* var_p
/* var p: Parser */;
7751 val
* var_node_list
/* var node_list: nullable Object */;
7752 val
* var
/* : nullable Object */;
7753 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7754 val
* var1
/* : Array[Object] */;
7755 val
* var_listnode2
/* var listnode2: Array[Object] */;
7756 val
* var_pparamnode1
/* var pparamnode1: nullable Object */;
7757 short int var2
/* : Bool */;
7758 short int var3
/* : Bool */;
7759 long var4
/* : Int */;
7760 long var5
/* : Int */;
7762 var_node_list
= ((val
*)NULL
);
7764 var
= nit___nit__Parser___pop(var_p
);
7766 var_nodearraylist1
= var
;
7767 var1
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7769 standard___standard__Array___standard__kernel__Object__init(var1
); /* Direct call array#Array#init on <var1:Array[Object]>*/
7771 var_listnode2
= var1
;
7772 var_pparamnode1
= var_nodearraylist1
;
7773 if (var_pparamnode1
== NULL
) {
7774 var2
= 0; /* is null */
7776 var2
= 1; /* arg is null and recv is not */
7779 var3
= ((short int(*)(val
* self
, val
* p0
))((((long)var_pparamnode1
&3)?class_info
[((long)var_pparamnode1
&3)]:var_pparamnode1
->class)->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pparamnode1
, ((val
*)NULL
)); /* != on <var_pparamnode1:nullable Object>*/
7784 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2
, var_pparamnode1
); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
7788 var_node_list
= var_listnode2
;
7789 var4
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1090> */
7791 var5
= nit___nit__Parser___go_to(var_p
, var4
);
7794 nit___nit__Parser___push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7798 /* method parser#ReduceAction1091#action for (self: ReduceAction1091, Parser) */
7799 void nit__parser___nit__parser__ReduceAction1091___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7800 val
* var_p
/* var p: Parser */;
7801 val
* var_node_list
/* var node_list: nullable Object */;
7802 val
* var
/* : nullable Object */;
7803 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7804 val
* var1
/* : nullable Object */;
7805 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7806 val
* var2
/* : Array[Object] */;
7807 val
* var_listnode3
/* var listnode3: Array[Object] */;
7808 val
* var_listnode1
/* var listnode1: nullable Object */;
7809 short int var3
/* : Bool */;
7812 val
* var_pparamnode2
/* var pparamnode2: nullable Object */;
7813 val
* var4
/* : Array[Object] */;
7814 short int var5
/* : Bool */;
7815 short int var6
/* : Bool */;
7816 long var7
/* : Int */;
7817 long var8
/* : Int */;
7819 var_node_list
= ((val
*)NULL
);
7821 var
= nit___nit__Parser___pop(var_p
);
7823 var_nodearraylist2
= var
;
7825 var1
= nit___nit__Parser___pop(var_p
);
7827 var_nodearraylist1
= var1
;
7828 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7830 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
7832 var_listnode3
= var2
;
7833 var_listnode1
= var_nodearraylist1
;
7834 /* <var_listnode1:nullable Object> isa Array[Object] */
7835 cltype
= type_standard__Array__standard__Object
.color
;
7836 idtype
= type_standard__Array__standard__Object
.id
;
7837 if(var_listnode1
== NULL
) {
7840 if(cltype
>= (((long)var_listnode1
&3)?type_info
[((long)var_listnode1
&3)]:var_listnode1
->type
)->table_size
) {
7843 var3
= (((long)var_listnode1
&3)?type_info
[((long)var_listnode1
&3)]:var_listnode1
->type
)->type_table
[cltype
] == idtype
;
7846 if (unlikely(!var3
)) {
7847 PRINT_ERROR("Runtime error: %s", "Assert failed");
7848 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11450);
7851 var_pparamnode2
= var_nodearraylist2
;
7853 var4
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode1
);
7855 var_listnode3
= var4
;
7856 if (var_pparamnode2
== NULL
) {
7857 var5
= 0; /* is null */
7859 var5
= 1; /* arg is null and recv is not */
7862 var6
= ((short int(*)(val
* self
, val
* p0
))((((long)var_pparamnode2
&3)?class_info
[((long)var_pparamnode2
&3)]:var_pparamnode2
->class)->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pparamnode2
, ((val
*)NULL
)); /* != on <var_pparamnode2:nullable Object>*/
7867 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_pparamnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
7871 var_node_list
= var_listnode3
;
7872 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1091> */
7874 var8
= nit___nit__Parser___go_to(var_p
, var7
);
7877 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7881 /* method parser#ReduceAction1092#action for (self: ReduceAction1092, Parser) */
7882 void nit__parser___nit__parser__ReduceAction1092___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7883 val
* var_p
/* var p: Parser */;
7884 val
* var_node_list
/* var node_list: nullable Object */;
7885 val
* var
/* : nullable Object */;
7886 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7887 val
* var1
/* : Array[Object] */;
7888 val
* var_listnode2
/* var listnode2: Array[Object] */;
7889 val
* var_pexterncallnode1
/* var pexterncallnode1: nullable Object */;
7890 short int var2
/* : Bool */;
7891 short int var3
/* : Bool */;
7892 long var4
/* : Int */;
7893 long var5
/* : Int */;
7895 var_node_list
= ((val
*)NULL
);
7897 var
= nit___nit__Parser___pop(var_p
);
7899 var_nodearraylist1
= var
;
7900 var1
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7902 standard___standard__Array___standard__kernel__Object__init(var1
); /* Direct call array#Array#init on <var1:Array[Object]>*/
7904 var_listnode2
= var1
;
7905 var_pexterncallnode1
= var_nodearraylist1
;
7906 if (var_pexterncallnode1
== NULL
) {
7907 var2
= 0; /* is null */
7909 var2
= 1; /* arg is null and recv is not */
7912 var3
= ((short int(*)(val
* self
, val
* p0
))((((long)var_pexterncallnode1
&3)?class_info
[((long)var_pexterncallnode1
&3)]:var_pexterncallnode1
->class)->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pexterncallnode1
, ((val
*)NULL
)); /* != on <var_pexterncallnode1:nullable Object>*/
7917 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2
, var_pexterncallnode1
); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
7921 var_node_list
= var_listnode2
;
7922 var4
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1092> */
7924 var5
= nit___nit__Parser___go_to(var_p
, var4
);
7927 nit___nit__Parser___push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7931 /* method parser#ReduceAction1093#action for (self: ReduceAction1093, Parser) */
7932 void nit__parser___nit__parser__ReduceAction1093___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7933 val
* var_p
/* var p: Parser */;
7934 val
* var_node_list
/* var node_list: nullable Object */;
7935 val
* var
/* : nullable Object */;
7936 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7937 val
* var1
/* : nullable Object */;
7938 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7939 val
* var2
/* : Array[Object] */;
7940 val
* var_listnode3
/* var listnode3: Array[Object] */;
7941 val
* var_listnode1
/* var listnode1: nullable Object */;
7942 short int var3
/* : Bool */;
7945 val
* var_pexterncallnode2
/* var pexterncallnode2: nullable Object */;
7946 val
* var4
/* : Array[Object] */;
7947 short int var5
/* : Bool */;
7948 short int var6
/* : Bool */;
7949 long var7
/* : Int */;
7950 long var8
/* : Int */;
7952 var_node_list
= ((val
*)NULL
);
7954 var
= nit___nit__Parser___pop(var_p
);
7956 var_nodearraylist2
= var
;
7958 var1
= nit___nit__Parser___pop(var_p
);
7960 var_nodearraylist1
= var1
;
7961 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7963 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
7965 var_listnode3
= var2
;
7966 var_listnode1
= var_nodearraylist1
;
7967 /* <var_listnode1:nullable Object> isa Array[Object] */
7968 cltype
= type_standard__Array__standard__Object
.color
;
7969 idtype
= type_standard__Array__standard__Object
.id
;
7970 if(var_listnode1
== NULL
) {
7973 if(cltype
>= (((long)var_listnode1
&3)?type_info
[((long)var_listnode1
&3)]:var_listnode1
->type
)->table_size
) {
7976 var3
= (((long)var_listnode1
&3)?type_info
[((long)var_listnode1
&3)]:var_listnode1
->type
)->type_table
[cltype
] == idtype
;
7979 if (unlikely(!var3
)) {
7980 PRINT_ERROR("Runtime error: %s", "Assert failed");
7981 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11484);
7984 var_pexterncallnode2
= var_nodearraylist2
;
7986 var4
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode1
);
7988 var_listnode3
= var4
;
7989 if (var_pexterncallnode2
== NULL
) {
7990 var5
= 0; /* is null */
7992 var5
= 1; /* arg is null and recv is not */
7995 var6
= ((short int(*)(val
* self
, val
* p0
))((((long)var_pexterncallnode2
&3)?class_info
[((long)var_pexterncallnode2
&3)]:var_pexterncallnode2
->class)->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pexterncallnode2
, ((val
*)NULL
)); /* != on <var_pexterncallnode2:nullable Object>*/
8000 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_pexterncallnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
8004 var_node_list
= var_listnode3
;
8005 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1093> */
8007 var8
= nit___nit__Parser___go_to(var_p
, var7
);
8010 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8014 /* method parser#ReduceAction1095#action for (self: ReduceAction1095, Parser) */
8015 void nit__parser___nit__parser__ReduceAction1095___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8016 val
* var_p
/* var p: Parser */;
8017 val
* var_node_list
/* var node_list: nullable Object */;
8018 val
* var
/* : nullable Object */;
8019 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8020 val
* var1
/* : nullable Object */;
8021 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8022 val
* var2
/* : Array[Object] */;
8023 val
* var_listnode3
/* var listnode3: Array[Object] */;
8024 val
* var_listnode1
/* var listnode1: nullable Object */;
8025 short int var3
/* : Bool */;
8028 val
* var_ptypenode2
/* var ptypenode2: nullable Object */;
8029 val
* var4
/* : Array[Object] */;
8030 short int var5
/* : Bool */;
8031 short int var6
/* : Bool */;
8032 long var7
/* : Int */;
8033 long var8
/* : Int */;
8035 var_node_list
= ((val
*)NULL
);
8037 var
= nit___nit__Parser___pop(var_p
);
8039 var_nodearraylist2
= var
;
8041 var1
= nit___nit__Parser___pop(var_p
);
8043 var_nodearraylist1
= var1
;
8044 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8046 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
8048 var_listnode3
= var2
;
8049 var_listnode1
= var_nodearraylist1
;
8050 /* <var_listnode1:nullable Object> isa Array[Object] */
8051 cltype
= type_standard__Array__standard__Object
.color
;
8052 idtype
= type_standard__Array__standard__Object
.id
;
8053 if(var_listnode1
== NULL
) {
8056 if(cltype
>= (((long)var_listnode1
&3)?type_info
[((long)var_listnode1
&3)]:var_listnode1
->type
)->table_size
) {
8059 var3
= (((long)var_listnode1
&3)?type_info
[((long)var_listnode1
&3)]:var_listnode1
->type
)->type_table
[cltype
] == idtype
;
8062 if (unlikely(!var3
)) {
8063 PRINT_ERROR("Runtime error: %s", "Assert failed");
8064 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11503);
8067 var_ptypenode2
= var_nodearraylist2
;
8069 var4
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode1
);
8071 var_listnode3
= var4
;
8072 if (var_ptypenode2
== NULL
) {
8073 var5
= 0; /* is null */
8075 var5
= 1; /* arg is null and recv is not */
8078 var6
= ((short int(*)(val
* self
, val
* p0
))((((long)var_ptypenode2
&3)?class_info
[((long)var_ptypenode2
&3)]:var_ptypenode2
->class)->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_ptypenode2
, ((val
*)NULL
)); /* != on <var_ptypenode2:nullable Object>*/
8083 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_ptypenode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
8087 var_node_list
= var_listnode3
;
8088 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1095> */
8090 var8
= nit___nit__Parser___go_to(var_p
, var7
);
8093 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8097 /* method parser#ReduceAction1097#action for (self: ReduceAction1097, Parser) */
8098 void nit__parser___nit__parser__ReduceAction1097___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8099 val
* var_p
/* var p: Parser */;
8100 val
* var_node_list
/* var node_list: nullable Object */;
8101 val
* var
/* : nullable Object */;
8102 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8103 val
* var1
/* : nullable Object */;
8104 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8105 val
* var2
/* : Array[Object] */;
8106 val
* var_listnode3
/* var listnode3: Array[Object] */;
8107 val
* var_listnode1
/* var listnode1: nullable Object */;
8108 short int var3
/* : Bool */;
8111 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
8112 val
* var4
/* : Array[Object] */;
8113 short int var5
/* : Bool */;
8114 short int var6
/* : Bool */;
8115 long var7
/* : Int */;
8116 long var8
/* : Int */;
8118 var_node_list
= ((val
*)NULL
);
8120 var
= nit___nit__Parser___pop(var_p
);
8122 var_nodearraylist2
= var
;
8124 var1
= nit___nit__Parser___pop(var_p
);
8126 var_nodearraylist1
= var1
;
8127 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8129 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
8131 var_listnode3
= var2
;
8132 var_listnode1
= var_nodearraylist1
;
8133 /* <var_listnode1:nullable Object> isa Array[Object] */
8134 cltype
= type_standard__Array__standard__Object
.color
;
8135 idtype
= type_standard__Array__standard__Object
.id
;
8136 if(var_listnode1
== NULL
) {
8139 if(cltype
>= (((long)var_listnode1
&3)?type_info
[((long)var_listnode1
&3)]:var_listnode1
->type
)->table_size
) {
8142 var3
= (((long)var_listnode1
&3)?type_info
[((long)var_listnode1
&3)]:var_listnode1
->type
)->type_table
[cltype
] == idtype
;
8145 if (unlikely(!var3
)) {
8146 PRINT_ERROR("Runtime error: %s", "Assert failed");
8147 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11522);
8150 var_pexprnode2
= var_nodearraylist2
;
8152 var4
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode1
);
8154 var_listnode3
= var4
;
8155 if (var_pexprnode2
== NULL
) {
8156 var5
= 0; /* is null */
8158 var5
= 1; /* arg is null and recv is not */
8161 var6
= ((short int(*)(val
* self
, val
* p0
))((((long)var_pexprnode2
&3)?class_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->class)->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pexprnode2
, ((val
*)NULL
)); /* != on <var_pexprnode2:nullable Object>*/
8166 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_pexprnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
8170 var_node_list
= var_listnode3
;
8171 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1097> */
8173 var8
= nit___nit__Parser___go_to(var_p
, var7
);
8176 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8180 /* method parser#ReduceAction1103#action for (self: ReduceAction1103, Parser) */
8181 void nit__parser___nit__parser__ReduceAction1103___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8182 val
* var_p
/* var p: Parser */;
8183 val
* var_node_list
/* var node_list: nullable Object */;
8184 val
* var
/* : nullable Object */;
8185 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8186 val
* var1
/* : nullable Object */;
8187 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8188 val
* var2
/* : Array[Object] */;
8189 val
* var_listnode3
/* var listnode3: Array[Object] */;
8190 val
* var_listnode1
/* var listnode1: nullable Object */;
8191 short int var3
/* : Bool */;
8194 val
* var_listnode2
/* var listnode2: nullable Object */;
8195 short int var4
/* : Bool */;
8198 val
* var7
/* : Array[Object] */;
8199 val
* var8
/* : Array[Object] */;
8200 long var9
/* : Int */;
8201 long var10
/* : Int */;
8203 var_node_list
= ((val
*)NULL
);
8205 var
= nit___nit__Parser___pop(var_p
);
8207 var_nodearraylist2
= var
;
8209 var1
= nit___nit__Parser___pop(var_p
);
8211 var_nodearraylist1
= var1
;
8212 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8214 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
8216 var_listnode3
= var2
;
8217 var_listnode1
= var_nodearraylist1
;
8218 /* <var_listnode1:nullable Object> isa Array[Object] */
8219 cltype
= type_standard__Array__standard__Object
.color
;
8220 idtype
= type_standard__Array__standard__Object
.id
;
8221 if(var_listnode1
== NULL
) {
8224 if(cltype
>= (((long)var_listnode1
&3)?type_info
[((long)var_listnode1
&3)]:var_listnode1
->type
)->table_size
) {
8227 var3
= (((long)var_listnode1
&3)?type_info
[((long)var_listnode1
&3)]:var_listnode1
->type
)->type_table
[cltype
] == idtype
;
8230 if (unlikely(!var3
)) {
8231 PRINT_ERROR("Runtime error: %s", "Assert failed");
8232 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11541);
8235 var_listnode2
= var_nodearraylist2
;
8236 /* <var_listnode2:nullable Object> isa Array[Object] */
8237 cltype5
= type_standard__Array__standard__Object
.color
;
8238 idtype6
= type_standard__Array__standard__Object
.id
;
8239 if(var_listnode2
== NULL
) {
8242 if(cltype5
>= (((long)var_listnode2
&3)?type_info
[((long)var_listnode2
&3)]:var_listnode2
->type
)->table_size
) {
8245 var4
= (((long)var_listnode2
&3)?type_info
[((long)var_listnode2
&3)]:var_listnode2
->type
)->type_table
[cltype5
] == idtype6
;
8248 if (unlikely(!var4
)) {
8249 PRINT_ERROR("Runtime error: %s", "Assert failed");
8250 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11543);
8254 var7
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode1
);
8256 var_listnode3
= var7
;
8258 var8
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode2
);
8260 var_listnode3
= var8
;
8261 var_node_list
= var_listnode3
;
8262 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1103> */
8264 var10
= nit___nit__Parser___go_to(var_p
, var9
);
8267 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8271 /* method parser#ReduceAction1111#action for (self: ReduceAction1111, Parser) */
8272 void nit__parser___nit__parser__ReduceAction1111___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8273 val
* var_p
/* var p: Parser */;
8274 val
* var_node_list
/* var node_list: nullable Object */;
8275 val
* var
/* : nullable Object */;
8276 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8277 val
* var1
/* : nullable Object */;
8278 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8279 val
* var2
/* : Array[Object] */;
8280 val
* var_listnode3
/* var listnode3: Array[Object] */;
8281 val
* var_listnode1
/* var listnode1: nullable Object */;
8282 short int var3
/* : Bool */;
8285 val
* var_tidnode2
/* var tidnode2: nullable Object */;
8286 val
* var4
/* : Array[Object] */;
8287 short int var5
/* : Bool */;
8288 short int var6
/* : Bool */;
8289 long var7
/* : Int */;
8290 long var8
/* : Int */;
8292 var_node_list
= ((val
*)NULL
);
8294 var
= nit___nit__Parser___pop(var_p
);
8296 var_nodearraylist2
= var
;
8298 var1
= nit___nit__Parser___pop(var_p
);
8300 var_nodearraylist1
= var1
;
8301 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8303 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
8305 var_listnode3
= var2
;
8306 var_listnode1
= var_nodearraylist1
;
8307 /* <var_listnode1:nullable Object> isa Array[Object] */
8308 cltype
= type_standard__Array__standard__Object
.color
;
8309 idtype
= type_standard__Array__standard__Object
.id
;
8310 if(var_listnode1
== NULL
) {
8313 if(cltype
>= (((long)var_listnode1
&3)?type_info
[((long)var_listnode1
&3)]:var_listnode1
->type
)->table_size
) {
8316 var3
= (((long)var_listnode1
&3)?type_info
[((long)var_listnode1
&3)]:var_listnode1
->type
)->type_table
[cltype
] == idtype
;
8319 if (unlikely(!var3
)) {
8320 PRINT_ERROR("Runtime error: %s", "Assert failed");
8321 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11559);
8324 var_tidnode2
= var_nodearraylist2
;
8326 var4
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode1
);
8328 var_listnode3
= var4
;
8329 if (var_tidnode2
== NULL
) {
8330 var5
= 0; /* is null */
8332 var5
= 1; /* arg is null and recv is not */
8335 var6
= ((short int(*)(val
* self
, val
* p0
))((((long)var_tidnode2
&3)?class_info
[((long)var_tidnode2
&3)]:var_tidnode2
->class)->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_tidnode2
, ((val
*)NULL
)); /* != on <var_tidnode2:nullable Object>*/
8340 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_tidnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
8344 var_node_list
= var_listnode3
;
8345 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1111> */
8347 var8
= nit___nit__Parser___go_to(var_p
, var7
);
8350 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8354 /* method parser#ReduceAction1112#action for (self: ReduceAction1112, Parser) */
8355 void nit__parser___nit__parser__ReduceAction1112___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8356 val
* var_p
/* var p: Parser */;
8357 val
* var_node_list
/* var node_list: nullable Object */;
8358 val
* var
/* : nullable Object */;
8359 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8360 val
* var1
/* : Array[Object] */;
8361 val
* var_listnode2
/* var listnode2: Array[Object] */;
8362 val
* var_tcommentnode1
/* var tcommentnode1: nullable Object */;
8363 short int var2
/* : Bool */;
8364 short int var3
/* : Bool */;
8365 long var4
/* : Int */;
8366 long var5
/* : Int */;
8368 var_node_list
= ((val
*)NULL
);
8370 var
= nit___nit__Parser___pop(var_p
);
8372 var_nodearraylist1
= var
;
8373 var1
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8375 standard___standard__Array___standard__kernel__Object__init(var1
); /* Direct call array#Array#init on <var1:Array[Object]>*/
8377 var_listnode2
= var1
;
8378 var_tcommentnode1
= var_nodearraylist1
;
8379 if (var_tcommentnode1
== NULL
) {
8380 var2
= 0; /* is null */
8382 var2
= 1; /* arg is null and recv is not */
8385 var3
= ((short int(*)(val
* self
, val
* p0
))((((long)var_tcommentnode1
&3)?class_info
[((long)var_tcommentnode1
&3)]:var_tcommentnode1
->class)->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_tcommentnode1
, ((val
*)NULL
)); /* != on <var_tcommentnode1:nullable Object>*/
8390 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2
, var_tcommentnode1
); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
8394 var_node_list
= var_listnode2
;
8395 var4
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1112> */
8397 var5
= nit___nit__Parser___go_to(var_p
, var4
);
8400 nit___nit__Parser___push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8404 /* method parser#ReduceAction1113#action for (self: ReduceAction1113, Parser) */
8405 void nit__parser___nit__parser__ReduceAction1113___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8406 val
* var_p
/* var p: Parser */;
8407 val
* var_node_list
/* var node_list: nullable Object */;
8408 val
* var
/* : nullable Object */;
8409 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8410 val
* var1
/* : nullable Object */;
8411 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8412 val
* var2
/* : Array[Object] */;
8413 val
* var_listnode3
/* var listnode3: Array[Object] */;
8414 val
* var_listnode1
/* var listnode1: nullable Object */;
8415 short int var3
/* : Bool */;
8418 val
* var_tcommentnode2
/* var tcommentnode2: nullable Object */;
8419 val
* var4
/* : Array[Object] */;
8420 short int var5
/* : Bool */;
8421 short int var6
/* : Bool */;
8422 long var7
/* : Int */;
8423 long var8
/* : Int */;
8425 var_node_list
= ((val
*)NULL
);
8427 var
= nit___nit__Parser___pop(var_p
);
8429 var_nodearraylist2
= var
;
8431 var1
= nit___nit__Parser___pop(var_p
);
8433 var_nodearraylist1
= var1
;
8434 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8436 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
8438 var_listnode3
= var2
;
8439 var_listnode1
= var_nodearraylist1
;
8440 /* <var_listnode1:nullable Object> isa Array[Object] */
8441 cltype
= type_standard__Array__standard__Object
.color
;
8442 idtype
= type_standard__Array__standard__Object
.id
;
8443 if(var_listnode1
== NULL
) {
8446 if(cltype
>= (((long)var_listnode1
&3)?type_info
[((long)var_listnode1
&3)]:var_listnode1
->type
)->table_size
) {
8449 var3
= (((long)var_listnode1
&3)?type_info
[((long)var_listnode1
&3)]:var_listnode1
->type
)->type_table
[cltype
] == idtype
;
8452 if (unlikely(!var3
)) {
8453 PRINT_ERROR("Runtime error: %s", "Assert failed");
8454 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11593);
8457 var_tcommentnode2
= var_nodearraylist2
;
8459 var4
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode1
);
8461 var_listnode3
= var4
;
8462 if (var_tcommentnode2
== NULL
) {
8463 var5
= 0; /* is null */
8465 var5
= 1; /* arg is null and recv is not */
8468 var6
= ((short int(*)(val
* self
, val
* p0
))((((long)var_tcommentnode2
&3)?class_info
[((long)var_tcommentnode2
&3)]:var_tcommentnode2
->class)->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_tcommentnode2
, ((val
*)NULL
)); /* != on <var_tcommentnode2:nullable Object>*/
8473 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_tcommentnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
8477 var_node_list
= var_listnode3
;
8478 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1113> */
8480 var8
= nit___nit__Parser___go_to(var_p
, var7
);
8483 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/