1 #include "parser.sep.0.h"
2 /* method parser#Parser#build_reduce_table for (self: Object) */
3 void VIRTUAL_parser__Parser__build_reduce_table(val
* self
) {
4 parser__Parser__build_reduce_table(self
);
7 /* method parser#ComputeProdLocationVisitor#visit for (self: ComputeProdLocationVisitor, ANode) */
8 void parser__ComputeProdLocationVisitor__visit(val
* self
, val
* p0
) {
9 val
* var_n
/* var n: ANode */;
10 short int var
/* : Bool */;
13 val
* var1
/* : Location */;
14 val
* var_loc
/* var loc: Location */;
15 val
* var2
/* : Array[Prod] */;
16 short int var3
/* : Bool */;
17 short int var4
/* : Bool */;
18 val
* var5
/* : Array[Prod] */;
19 val
* var6
/* : Iterator[nullable Object] */;
20 short int var7
/* : Bool */;
21 val
* var8
/* : nullable Object */;
22 val
* var_no
/* var no: Prod */;
23 val
* var9
/* : Array[Prod] */;
24 val
* var10
/* : Array[Prod] */;
25 short int var11
/* : Bool */;
26 short int var12
/* : Bool */;
27 val
* var13
/* : Location */;
28 val
* var14
/* : nullable SourceFile */;
29 long var15
/* : Int */;
30 long var16
/* : Int */;
31 long var17
/* : Int */;
32 long var18
/* : Int */;
33 val
* var_loco
/* var loco: Location */;
34 val
* var19
/* : Array[Prod] */;
35 val
* var20
/* : Iterator[nullable Object] */;
36 short int var21
/* : Bool */;
37 val
* var22
/* : nullable Object */;
38 val
* var_no23
/* var no: Prod */;
39 val
* var25
/* : Array[Prod] */;
40 short int var26
/* : Bool */;
43 val
* var29
/* : Array[Prod] */;
44 val
* var30
/* : nullable Location */;
45 val
* var_startl
/* var startl: nullable Location */;
46 val
* var31
/* : null */;
47 short int var32
/* : Bool */;
48 val
* var33
/* : nullable Location */;
49 val
* var_endl
/* var endl: nullable Location */;
50 val
* var34
/* : null */;
51 short int var35
/* : Bool */;
52 val
* var36
/* : Location */;
53 val
* var37
/* : nullable SourceFile */;
54 long var38
/* : Int */;
55 long var39
/* : Int */;
56 long var40
/* : Int */;
57 long var41
/* : Int */;
58 val
* var42
/* : Array[Prod] */;
59 short int var43
/* : Bool */;
60 short int var44
/* : Bool */;
61 val
* var45
/* : Location */;
62 val
* var46
/* : nullable SourceFile */;
63 long var47
/* : Int */;
64 long var48
/* : Int */;
65 long var49
/* : Int */;
66 long var50
/* : Int */;
67 val
* var_loc51
/* var loc: Location */;
68 val
* var52
/* : Array[Prod] */;
69 val
* var53
/* : Iterator[nullable Object] */;
70 short int var54
/* : Bool */;
71 val
* var55
/* : nullable Object */;
72 val
* var_no56
/* var no: Prod */;
73 val
* var58
/* : Array[Prod] */;
74 val
* var59
/* : Array[Prod] */;
76 /* <var_n:ANode> isa Token */
77 cltype
= type_parser_nodes__Token
.color
;
78 idtype
= type_parser_nodes__Token
.id
;
79 if(cltype
>= var_n
->type
->table_size
) {
82 var
= var_n
->type
->type_table
[cltype
] == idtype
;
85 var1
= ((val
* (*)(val
*))(var_n
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var_n
) /* location on <var_n:ANode(Token)>*/;
87 self
->attrs
[COLOR_parser__ComputeProdLocationVisitor___last_location
].val
= var_loc
; /* _last_location on <self:ComputeProdLocationVisitor> */
88 var2
= self
->attrs
[COLOR_parser__ComputeProdLocationVisitor___need_first_prods
].val
; /* _need_first_prods on <self:ComputeProdLocationVisitor> */
90 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _need_first_prods", "src/parser/parser.nit", 1999);
93 var3
= ((short int (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var2
) /* is_empty on <var2:Array[Prod]>*/;
96 var5
= self
->attrs
[COLOR_parser__ComputeProdLocationVisitor___need_first_prods
].val
; /* _need_first_prods on <self:ComputeProdLocationVisitor> */
98 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _need_first_prods", "src/parser/parser.nit", 2000);
101 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var5
) /* iterator on <var5:Array[Prod]>*/;
103 var7
= ((short int (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var6
) /* is_ok on <var6:Iterator[nullable Object]>*/;
105 var8
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var6
) /* item on <var6:Iterator[nullable Object]>*/;
107 var_no
->attrs
[COLOR_parser__Prod___first_location
].val
= var_loc
; /* _first_location on <var_no:Prod> */
108 CONTINUE_label
: (void)0;
109 ((void (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var6
) /* next on <var6:Iterator[nullable Object]>*/;
111 BREAK_label
: (void)0;
112 var9
= self
->attrs
[COLOR_parser__ComputeProdLocationVisitor___need_first_prods
].val
; /* _need_first_prods on <self:ComputeProdLocationVisitor> */
114 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _need_first_prods", "src/parser/parser.nit", 2003);
117 ((void (*)(val
*))(var9
->class->vft
[COLOR_abstract_collection__RemovableCollection__clear
]))(var9
) /* clear on <var9:Array[Prod]>*/;
120 var10
= self
->attrs
[COLOR_parser__ComputeProdLocationVisitor___need_after_epsilons
].val
; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
122 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _need_after_epsilons", "src/parser/parser.nit", 2007);
125 var11
= ((short int (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var10
) /* is_empty on <var10:Array[Prod]>*/;
128 var13
= NEW_location__Location(&type_location__Location
);
129 var14
= ((val
* (*)(val
*))(var_loc
->class->vft
[COLOR_location__Location__file
]))(var_loc
) /* file on <var_loc:Location>*/;
130 var15
= ((long (*)(val
*))(var_loc
->class->vft
[COLOR_location__Location__line_start
]))(var_loc
) /* line_start on <var_loc:Location>*/;
131 var16
= ((long (*)(val
*))(var_loc
->class->vft
[COLOR_location__Location__line_start
]))(var_loc
) /* line_start on <var_loc:Location>*/;
132 var17
= ((long (*)(val
*))(var_loc
->class->vft
[COLOR_location__Location__column_start
]))(var_loc
) /* column_start on <var_loc:Location>*/;
133 var18
= ((long (*)(val
*))(var_loc
->class->vft
[COLOR_location__Location__column_start
]))(var_loc
) /* column_start on <var_loc:Location>*/;
134 ((void (*)(val
*, val
*, long, long, long, long))(var13
->class->vft
[COLOR_location__Location__init
]))(var13
, var14
, var15
, var16
, var17
, var18
) /* init on <var13:Location>*/;
135 CHECK_NEW_location__Location(var13
);
137 var19
= self
->attrs
[COLOR_parser__ComputeProdLocationVisitor___need_after_epsilons
].val
; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
139 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _need_after_epsilons", "src/parser/parser.nit", 2009);
142 var20
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var19
) /* iterator on <var19:Array[Prod]>*/;
144 var21
= ((short int (*)(val
*))(var20
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var20
) /* is_ok on <var20:Iterator[nullable Object]>*/;
146 var22
= ((val
* (*)(val
*))(var20
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var20
) /* item on <var20:Iterator[nullable Object]>*/;
148 ((void (*)(val
*, val
*))(var_no23
->class->vft
[COLOR_parser_nodes__Prod__location_61d
]))(var_no23
, var_loco
) /* location= on <var_no23:Prod>*/;
149 CONTINUE_label24
: (void)0;
150 ((void (*)(val
*))(var20
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var20
) /* next on <var20:Iterator[nullable Object]>*/;
152 BREAK_label24
: (void)0;
153 var25
= self
->attrs
[COLOR_parser__ComputeProdLocationVisitor___need_after_epsilons
].val
; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
155 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _need_after_epsilons", "src/parser/parser.nit", 2012);
158 ((void (*)(val
*))(var25
->class->vft
[COLOR_abstract_collection__RemovableCollection__clear
]))(var25
) /* clear on <var25:Array[Prod]>*/;
162 /* <var_n:ANode> isa Prod */
163 cltype27
= type_parser_nodes__Prod
.color
;
164 idtype28
= type_parser_nodes__Prod
.id
;
165 if(cltype27
>= var_n
->type
->table_size
) {
168 var26
= var_n
->type
->type_table
[cltype27
] == idtype28
;
171 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2015);
174 var29
= self
->attrs
[COLOR_parser__ComputeProdLocationVisitor___need_first_prods
].val
; /* _need_first_prods on <self:ComputeProdLocationVisitor> */
176 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _need_first_prods", "src/parser/parser.nit", 2016);
179 ((void (*)(val
*, val
*))(var29
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var29
, var_n
) /* add on <var29:Array[Prod]>*/;
180 ((void (*)(val
*, val
*))(var_n
->class->vft
[COLOR_parser_nodes__ANode__visit_all
]))(var_n
, self
) /* visit_all on <var_n:ANode(Prod)>*/;
181 var30
= var_n
->attrs
[COLOR_parser__Prod___first_location
].val
; /* _first_location on <var_n:ANode(Prod)> */
184 if (var_startl
== NULL
) {
185 var32
= 0; /* is null */
187 var32
= 1; /* arg is null and recv is not */
190 var33
= self
->attrs
[COLOR_parser__ComputeProdLocationVisitor___last_location
].val
; /* _last_location on <self:ComputeProdLocationVisitor> */
193 if (var_endl
== NULL
) {
194 var35
= 0; /* is null */
196 var35
= 1; /* arg is null and recv is not */
199 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2024);
202 var36
= NEW_location__Location(&type_location__Location
);
203 var37
= ((val
* (*)(val
*))(var_startl
->class->vft
[COLOR_location__Location__file
]))(var_startl
) /* file on <var_startl:nullable Location(Location)>*/;
204 var38
= ((long (*)(val
*))(var_startl
->class->vft
[COLOR_location__Location__line_start
]))(var_startl
) /* line_start on <var_startl:nullable Location(Location)>*/;
205 var39
= ((long (*)(val
*))(var_endl
->class->vft
[COLOR_location__Location__line_end
]))(var_endl
) /* line_end on <var_endl:nullable Location(Location)>*/;
206 var40
= ((long (*)(val
*))(var_startl
->class->vft
[COLOR_location__Location__column_start
]))(var_startl
) /* column_start on <var_startl:nullable Location(Location)>*/;
207 var41
= ((long (*)(val
*))(var_endl
->class->vft
[COLOR_location__Location__column_end
]))(var_endl
) /* column_end on <var_endl:nullable Location(Location)>*/;
208 ((void (*)(val
*, val
*, long, long, long, long))(var36
->class->vft
[COLOR_location__Location__init
]))(var36
, var37
, var38
, var39
, var40
, var41
) /* init on <var36:Location>*/;
209 CHECK_NEW_location__Location(var36
);
210 ((void (*)(val
*, val
*))(var_n
->class->vft
[COLOR_parser_nodes__Prod__location_61d
]))(var_n
, var36
) /* location= on <var_n:ANode(Prod)>*/;
211 var42
= self
->attrs
[COLOR_parser__ComputeProdLocationVisitor___need_after_epsilons
].val
; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
213 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _need_after_epsilons", "src/parser/parser.nit", 2028);
216 var43
= ((short int (*)(val
*))(var42
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var42
) /* is_empty on <var42:Array[Prod]>*/;
219 var45
= NEW_location__Location(&type_location__Location
);
220 var46
= ((val
* (*)(val
*))(var_endl
->class->vft
[COLOR_location__Location__file
]))(var_endl
) /* file on <var_endl:nullable Location(Location)>*/;
221 var47
= ((long (*)(val
*))(var_endl
->class->vft
[COLOR_location__Location__line_end
]))(var_endl
) /* line_end on <var_endl:nullable Location(Location)>*/;
222 var48
= ((long (*)(val
*))(var_endl
->class->vft
[COLOR_location__Location__line_end
]))(var_endl
) /* line_end on <var_endl:nullable Location(Location)>*/;
223 var49
= ((long (*)(val
*))(var_endl
->class->vft
[COLOR_location__Location__column_end
]))(var_endl
) /* column_end on <var_endl:nullable Location(Location)>*/;
224 var50
= ((long (*)(val
*))(var_endl
->class->vft
[COLOR_location__Location__column_end
]))(var_endl
) /* column_end on <var_endl:nullable Location(Location)>*/;
225 ((void (*)(val
*, val
*, long, long, long, long))(var45
->class->vft
[COLOR_location__Location__init
]))(var45
, var46
, var47
, var48
, var49
, var50
) /* init on <var45:Location>*/;
226 CHECK_NEW_location__Location(var45
);
228 var52
= self
->attrs
[COLOR_parser__ComputeProdLocationVisitor___need_after_epsilons
].val
; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
230 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _need_after_epsilons", "src/parser/parser.nit", 2030);
233 var53
= ((val
* (*)(val
*))(var52
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var52
) /* iterator on <var52:Array[Prod]>*/;
235 var54
= ((short int (*)(val
*))(var53
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var53
) /* is_ok on <var53:Iterator[nullable Object]>*/;
237 var55
= ((val
* (*)(val
*))(var53
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var53
) /* item on <var53:Iterator[nullable Object]>*/;
239 ((void (*)(val
*, val
*))(var_no56
->class->vft
[COLOR_parser_nodes__Prod__location_61d
]))(var_no56
, var_loc51
) /* location= on <var_no56:Prod>*/;
240 CONTINUE_label57
: (void)0;
241 ((void (*)(val
*))(var53
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var53
) /* next on <var53:Iterator[nullable Object]>*/;
243 BREAK_label57
: (void)0;
244 var58
= self
->attrs
[COLOR_parser__ComputeProdLocationVisitor___need_after_epsilons
].val
; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
246 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _need_after_epsilons", "src/parser/parser.nit", 2034);
249 ((void (*)(val
*))(var58
->class->vft
[COLOR_abstract_collection__RemovableCollection__clear
]))(var58
) /* clear on <var58:Array[Prod]>*/;
253 var59
= self
->attrs
[COLOR_parser__ComputeProdLocationVisitor___need_after_epsilons
].val
; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
255 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _need_after_epsilons", "src/parser/parser.nit", 2038);
258 ((void (*)(val
*, val
*))(var59
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var59
, var_n
) /* add on <var59:Array[Prod]>*/;
263 /* method parser#ComputeProdLocationVisitor#visit for (self: Object, ANode) */
264 void VIRTUAL_parser__ComputeProdLocationVisitor__visit(val
* self
, val
* p0
) {
265 parser__ComputeProdLocationVisitor__visit(self
, p0
);
268 /* method parser#ComputeProdLocationVisitor#init for (self: ComputeProdLocationVisitor) */
269 void parser__ComputeProdLocationVisitor__init(val
* self
) {
270 ((void (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__Visitor__init
]))(self
) /* init on <self:ComputeProdLocationVisitor>*/;
273 /* method parser#ComputeProdLocationVisitor#init for (self: Object) */
274 void VIRTUAL_parser__ComputeProdLocationVisitor__init(val
* self
) {
275 parser__ComputeProdLocationVisitor__init(self
);
278 /* method parser#ReduceAction#action for (self: ReduceAction, Parser) */
279 void parser__ReduceAction__action(val
* self
, val
* p0
) {
280 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Deferred method called", "src/parser/parser.nit", 2048);
284 /* method parser#ReduceAction#action for (self: Object, Parser) */
285 void VIRTUAL_parser__ReduceAction__action(val
* self
, val
* p0
) {
286 parser__ReduceAction__action(self
, p0
);
289 /* method parser#ReduceAction#concat for (self: ReduceAction, Array[Object], Array[Object]): Array[Object] */
290 val
* parser__ReduceAction__concat(val
* self
, val
* p0
, val
* p1
) {
291 val
* var
/* : Array[Object] */;
292 val
* var_l1
/* var l1: Array[Object] */;
293 val
* var_l2
/* var l2: Array[Object] */;
294 short int var1
/* : Bool */;
297 var1
= ((short int (*)(val
*))(var_l1
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var_l1
) /* is_empty on <var_l1:Array[Object]>*/;
303 ((void (*)(val
*, val
*))(var_l1
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_l1
, var_l2
) /* append on <var_l1:Array[Object]>*/;
309 /* method parser#ReduceAction#concat for (self: Object, Array[Object], Array[Object]): Array[Object] */
310 val
* VIRTUAL_parser__ReduceAction__concat(val
* self
, val
* p0
, val
* p1
) {
311 val
* var
/* : Array[Object] */;
312 val
* var1
/* : Array[Object] */;
313 var1
= parser__ReduceAction__concat(self
, p0
, p1
);
318 /* method parser#ReduceAction#init for (self: ReduceAction, Int) */
319 void parser__ReduceAction__init(val
* self
, long p0
) {
320 long var_g
/* var g: Int */;
322 self
->attrs
[COLOR_parser__ReduceAction___goto
].l
= var_g
; /* _goto on <self:ReduceAction> */
325 /* method parser#ReduceAction#init for (self: Object, Int) */
326 void VIRTUAL_parser__ReduceAction__init(val
* self
, long p0
) {
327 parser__ReduceAction__init(self
, p0
);
330 /* method parser#ReduceAction0#action for (self: ReduceAction0, Parser) */
331 void parser__ReduceAction0__action(val
* self
, val
* p0
) {
332 val
* var_p
/* var p: Parser */;
333 val
* var
/* : null */;
334 val
* var_node_list
/* var node_list: nullable Object */;
335 val
* var1
/* : Array[Object] */;
336 val
* var_listnode3
/* var listnode3: Array[Object] */;
337 val
* var2
/* : Array[Object] */;
338 val
* var_listnode4
/* var listnode4: Array[Object] */;
339 val
* var3
/* : Array[Object] */;
340 val
* var_listnode5
/* var listnode5: Array[Object] */;
341 val
* var4
/* : AModule */;
342 val
* var5
/* : null */;
343 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
344 long var6
/* : Int */;
345 long var7
/* : Int */;
349 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
350 ((void (*)(val
*))(var1
->class->vft
[COLOR_array__Array__init
]))(var1
) /* init on <var1:Array[Object]>*/;
351 CHECK_NEW_array__Array(var1
);
352 var_listnode3
= var1
;
353 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
354 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
355 CHECK_NEW_array__Array(var2
);
356 var_listnode4
= var2
;
357 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
358 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
359 CHECK_NEW_array__Array(var3
);
360 var_listnode5
= var3
;
361 var4
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
363 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var4
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var4
, var5
, var_listnode3
, var_listnode4
, var_listnode5
) /* init_amodule on <var4:AModule>*/;
364 CHECK_NEW_parser_nodes__AModule(var4
);
365 var_pmodulenode1
= var4
;
366 var_node_list
= var_pmodulenode1
;
367 var6
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction0> */
368 var7
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var6
) /* go_to on <var_p:Parser>*/;
369 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var7
, var_node_list
) /* push on <var_p:Parser>*/;
372 /* method parser#ReduceAction0#action for (self: Object, Parser) */
373 void VIRTUAL_parser__ReduceAction0__action(val
* self
, val
* p0
) {
374 parser__ReduceAction0__action(self
, p0
);
377 /* method parser#ReduceAction1#action for (self: ReduceAction1, Parser) */
378 void parser__ReduceAction1__action(val
* self
, val
* p0
) {
379 val
* var_p
/* var p: Parser */;
380 val
* var
/* : null */;
381 val
* var_node_list
/* var node_list: nullable Object */;
382 val
* var1
/* : nullable Object */;
383 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
384 val
* var2
/* : Array[Object] */;
385 val
* var_listnode3
/* var listnode3: Array[Object] */;
386 val
* var3
/* : Array[Object] */;
387 val
* var_listnode4
/* var listnode4: Array[Object] */;
388 val
* var4
/* : Array[Object] */;
389 val
* var_listnode5
/* var listnode5: Array[Object] */;
390 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
391 short int var5
/* : Bool */;
394 val
* var6
/* : AModule */;
395 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
396 long var7
/* : Int */;
397 long var8
/* : Int */;
401 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
402 var_nodearraylist1
= var1
;
403 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
404 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
405 CHECK_NEW_array__Array(var2
);
406 var_listnode3
= var2
;
407 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
408 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
409 CHECK_NEW_array__Array(var3
);
410 var_listnode4
= var3
;
411 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
412 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
413 CHECK_NEW_array__Array(var4
);
414 var_listnode5
= var4
;
415 var_pmoduledeclnode2
= var_nodearraylist1
;
416 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
417 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
418 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
419 if(var_pmoduledeclnode2
== NULL
) {
422 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
425 var5
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
429 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2087);
432 var6
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
433 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var6
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var6
, var_pmoduledeclnode2
, var_listnode3
, var_listnode4
, var_listnode5
) /* init_amodule on <var6:AModule>*/;
434 CHECK_NEW_parser_nodes__AModule(var6
);
435 var_pmodulenode1
= var6
;
436 var_node_list
= var_pmodulenode1
;
437 var7
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1> */
438 var8
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var7
) /* go_to on <var_p:Parser>*/;
439 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var8
, var_node_list
) /* push on <var_p:Parser>*/;
442 /* method parser#ReduceAction1#action for (self: Object, Parser) */
443 void VIRTUAL_parser__ReduceAction1__action(val
* self
, val
* p0
) {
444 parser__ReduceAction1__action(self
, p0
);
447 /* method parser#ReduceAction2#action for (self: ReduceAction2, Parser) */
448 void parser__ReduceAction2__action(val
* self
, val
* p0
) {
449 val
* var_p
/* var p: Parser */;
450 val
* var
/* : null */;
451 val
* var_node_list
/* var node_list: nullable Object */;
452 val
* var1
/* : nullable Object */;
453 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
454 val
* var2
/* : Array[Object] */;
455 val
* var_listnode4
/* var listnode4: Array[Object] */;
456 val
* var3
/* : Array[Object] */;
457 val
* var_listnode5
/* var listnode5: Array[Object] */;
458 val
* var4
/* : Array[Object] */;
459 val
* var_listnode6
/* var listnode6: Array[Object] */;
460 val
* var_listnode3
/* var listnode3: nullable Object */;
461 short int var5
/* : Bool */;
464 val
* var6
/* : Array[Object] */;
465 val
* var7
/* : AModule */;
466 val
* var8
/* : null */;
467 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
468 long var9
/* : Int */;
469 long var10
/* : Int */;
473 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
474 var_nodearraylist1
= var1
;
475 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
476 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
477 CHECK_NEW_array__Array(var2
);
478 var_listnode4
= var2
;
479 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
480 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
481 CHECK_NEW_array__Array(var3
);
482 var_listnode5
= var3
;
483 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
484 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
485 CHECK_NEW_array__Array(var4
);
486 var_listnode6
= var4
;
487 var_listnode3
= var_nodearraylist1
;
488 /* <var_listnode3:nullable Object> isa Array[Object] */
489 cltype
= type_array__Arraykernel__Object
.color
;
490 idtype
= type_array__Arraykernel__Object
.id
;
491 if(var_listnode3
== NULL
) {
494 if(cltype
>= var_listnode3
->type
->table_size
) {
497 var5
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
501 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2108);
504 var6
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction2>*/;
505 var_listnode4
= var6
;
506 var7
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
508 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var7
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var7
, var8
, var_listnode4
, var_listnode5
, var_listnode6
) /* init_amodule on <var7:AModule>*/;
509 CHECK_NEW_parser_nodes__AModule(var7
);
510 var_pmodulenode1
= var7
;
511 var_node_list
= var_pmodulenode1
;
512 var9
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction2> */
513 var10
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var9
) /* go_to on <var_p:Parser>*/;
514 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var10
, var_node_list
) /* push on <var_p:Parser>*/;
517 /* method parser#ReduceAction2#action for (self: Object, Parser) */
518 void VIRTUAL_parser__ReduceAction2__action(val
* self
, val
* p0
) {
519 parser__ReduceAction2__action(self
, p0
);
522 /* method parser#ReduceAction3#action for (self: ReduceAction3, Parser) */
523 void parser__ReduceAction3__action(val
* self
, val
* p0
) {
524 val
* var_p
/* var p: Parser */;
525 val
* var
/* : null */;
526 val
* var_node_list
/* var node_list: nullable Object */;
527 val
* var1
/* : nullable Object */;
528 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
529 val
* var2
/* : nullable Object */;
530 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
531 val
* var3
/* : Array[Object] */;
532 val
* var_listnode4
/* var listnode4: Array[Object] */;
533 val
* var4
/* : Array[Object] */;
534 val
* var_listnode5
/* var listnode5: Array[Object] */;
535 val
* var5
/* : Array[Object] */;
536 val
* var_listnode6
/* var listnode6: Array[Object] */;
537 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
538 short int var6
/* : Bool */;
541 val
* var_listnode3
/* var listnode3: nullable Object */;
542 short int var7
/* : Bool */;
545 val
* var10
/* : Array[Object] */;
546 val
* var11
/* : AModule */;
547 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
548 long var12
/* : Int */;
549 long var13
/* : Int */;
553 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
554 var_nodearraylist2
= var1
;
555 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
556 var_nodearraylist1
= var2
;
557 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
558 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
559 CHECK_NEW_array__Array(var3
);
560 var_listnode4
= var3
;
561 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
562 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
563 CHECK_NEW_array__Array(var4
);
564 var_listnode5
= var4
;
565 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
566 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
567 CHECK_NEW_array__Array(var5
);
568 var_listnode6
= var5
;
569 var_pmoduledeclnode2
= var_nodearraylist1
;
570 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
571 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
572 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
573 if(var_pmoduledeclnode2
== NULL
) {
576 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
579 var6
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
583 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2131);
586 var_listnode3
= var_nodearraylist2
;
587 /* <var_listnode3:nullable Object> isa Array[Object] */
588 cltype8
= type_array__Arraykernel__Object
.color
;
589 idtype9
= type_array__Arraykernel__Object
.id
;
590 if(var_listnode3
== NULL
) {
593 if(cltype8
>= var_listnode3
->type
->table_size
) {
596 var7
= var_listnode3
->type
->type_table
[cltype8
] == idtype9
;
600 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2133);
603 var10
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction3>*/;
604 var_listnode4
= var10
;
605 var11
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
606 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var11
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var11
, var_pmoduledeclnode2
, var_listnode4
, var_listnode5
, var_listnode6
) /* init_amodule on <var11:AModule>*/;
607 CHECK_NEW_parser_nodes__AModule(var11
);
608 var_pmodulenode1
= var11
;
609 var_node_list
= var_pmodulenode1
;
610 var12
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction3> */
611 var13
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var12
) /* go_to on <var_p:Parser>*/;
612 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var13
, var_node_list
) /* push on <var_p:Parser>*/;
615 /* method parser#ReduceAction3#action for (self: Object, Parser) */
616 void VIRTUAL_parser__ReduceAction3__action(val
* self
, val
* p0
) {
617 parser__ReduceAction3__action(self
, p0
);
620 /* method parser#ReduceAction4#action for (self: ReduceAction4, Parser) */
621 void parser__ReduceAction4__action(val
* self
, val
* p0
) {
622 val
* var_p
/* var p: Parser */;
623 val
* var
/* : null */;
624 val
* var_node_list
/* var node_list: nullable Object */;
625 val
* var1
/* : nullable Object */;
626 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
627 val
* var2
/* : Array[Object] */;
628 val
* var_listnode3
/* var listnode3: Array[Object] */;
629 val
* var3
/* : Array[Object] */;
630 val
* var_listnode5
/* var listnode5: Array[Object] */;
631 val
* var4
/* : Array[Object] */;
632 val
* var_listnode6
/* var listnode6: Array[Object] */;
633 val
* var_listnode4
/* var listnode4: nullable Object */;
634 short int var5
/* : Bool */;
637 val
* var6
/* : Array[Object] */;
638 val
* var7
/* : AModule */;
639 val
* var8
/* : null */;
640 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
641 long var9
/* : Int */;
642 long var10
/* : Int */;
646 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
647 var_nodearraylist1
= var1
;
648 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
649 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
650 CHECK_NEW_array__Array(var2
);
651 var_listnode3
= var2
;
652 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
653 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
654 CHECK_NEW_array__Array(var3
);
655 var_listnode5
= var3
;
656 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
657 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
658 CHECK_NEW_array__Array(var4
);
659 var_listnode6
= var4
;
660 var_listnode4
= var_nodearraylist1
;
661 /* <var_listnode4:nullable Object> isa Array[Object] */
662 cltype
= type_array__Arraykernel__Object
.color
;
663 idtype
= type_array__Arraykernel__Object
.id
;
664 if(var_listnode4
== NULL
) {
667 if(cltype
>= var_listnode4
->type
->table_size
) {
670 var5
= var_listnode4
->type
->type_table
[cltype
] == idtype
;
674 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2155);
677 var6
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction4>*/;
678 var_listnode5
= var6
;
679 var7
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
681 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var7
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var7
, var8
, var_listnode3
, var_listnode5
, var_listnode6
) /* init_amodule on <var7:AModule>*/;
682 CHECK_NEW_parser_nodes__AModule(var7
);
683 var_pmodulenode1
= var7
;
684 var_node_list
= var_pmodulenode1
;
685 var9
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction4> */
686 var10
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var9
) /* go_to on <var_p:Parser>*/;
687 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var10
, var_node_list
) /* push on <var_p:Parser>*/;
690 /* method parser#ReduceAction4#action for (self: Object, Parser) */
691 void VIRTUAL_parser__ReduceAction4__action(val
* self
, val
* p0
) {
692 parser__ReduceAction4__action(self
, p0
);
695 /* method parser#ReduceAction5#action for (self: ReduceAction5, Parser) */
696 void parser__ReduceAction5__action(val
* self
, val
* p0
) {
697 val
* var_p
/* var p: Parser */;
698 val
* var
/* : null */;
699 val
* var_node_list
/* var node_list: nullable Object */;
700 val
* var1
/* : nullable Object */;
701 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
702 val
* var2
/* : nullable Object */;
703 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
704 val
* var3
/* : Array[Object] */;
705 val
* var_listnode3
/* var listnode3: Array[Object] */;
706 val
* var4
/* : Array[Object] */;
707 val
* var_listnode5
/* var listnode5: Array[Object] */;
708 val
* var5
/* : Array[Object] */;
709 val
* var_listnode6
/* var listnode6: Array[Object] */;
710 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
711 short int var6
/* : Bool */;
714 val
* var_listnode4
/* var listnode4: nullable Object */;
715 short int var7
/* : Bool */;
718 val
* var10
/* : Array[Object] */;
719 val
* var11
/* : AModule */;
720 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
721 long var12
/* : Int */;
722 long var13
/* : Int */;
726 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
727 var_nodearraylist2
= var1
;
728 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
729 var_nodearraylist1
= var2
;
730 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
731 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
732 CHECK_NEW_array__Array(var3
);
733 var_listnode3
= var3
;
734 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
735 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
736 CHECK_NEW_array__Array(var4
);
737 var_listnode5
= var4
;
738 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
739 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
740 CHECK_NEW_array__Array(var5
);
741 var_listnode6
= var5
;
742 var_pmoduledeclnode2
= var_nodearraylist1
;
743 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
744 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
745 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
746 if(var_pmoduledeclnode2
== NULL
) {
749 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
752 var6
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
756 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2178);
759 var_listnode4
= var_nodearraylist2
;
760 /* <var_listnode4:nullable Object> isa Array[Object] */
761 cltype8
= type_array__Arraykernel__Object
.color
;
762 idtype9
= type_array__Arraykernel__Object
.id
;
763 if(var_listnode4
== NULL
) {
766 if(cltype8
>= var_listnode4
->type
->table_size
) {
769 var7
= var_listnode4
->type
->type_table
[cltype8
] == idtype9
;
773 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2180);
776 var10
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction5>*/;
777 var_listnode5
= var10
;
778 var11
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
779 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var11
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var11
, var_pmoduledeclnode2
, var_listnode3
, var_listnode5
, var_listnode6
) /* init_amodule on <var11:AModule>*/;
780 CHECK_NEW_parser_nodes__AModule(var11
);
781 var_pmodulenode1
= var11
;
782 var_node_list
= var_pmodulenode1
;
783 var12
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction5> */
784 var13
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var12
) /* go_to on <var_p:Parser>*/;
785 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var13
, var_node_list
) /* push on <var_p:Parser>*/;
788 /* method parser#ReduceAction5#action for (self: Object, Parser) */
789 void VIRTUAL_parser__ReduceAction5__action(val
* self
, val
* p0
) {
790 parser__ReduceAction5__action(self
, p0
);
793 /* method parser#ReduceAction6#action for (self: ReduceAction6, Parser) */
794 void parser__ReduceAction6__action(val
* self
, val
* p0
) {
795 val
* var_p
/* var p: Parser */;
796 val
* var
/* : null */;
797 val
* var_node_list
/* var node_list: nullable Object */;
798 val
* var1
/* : nullable Object */;
799 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
800 val
* var2
/* : nullable Object */;
801 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
802 val
* var3
/* : Array[Object] */;
803 val
* var_listnode4
/* var listnode4: Array[Object] */;
804 val
* var4
/* : Array[Object] */;
805 val
* var_listnode6
/* var listnode6: Array[Object] */;
806 val
* var5
/* : Array[Object] */;
807 val
* var_listnode7
/* var listnode7: Array[Object] */;
808 val
* var_listnode3
/* var listnode3: nullable Object */;
809 short int var6
/* : Bool */;
812 val
* var7
/* : Array[Object] */;
813 val
* var_listnode5
/* var listnode5: nullable Object */;
814 short int var8
/* : Bool */;
817 val
* var11
/* : Array[Object] */;
818 val
* var12
/* : AModule */;
819 val
* var13
/* : null */;
820 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
821 long var14
/* : Int */;
822 long var15
/* : Int */;
826 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
827 var_nodearraylist2
= var1
;
828 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
829 var_nodearraylist1
= var2
;
830 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
831 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
832 CHECK_NEW_array__Array(var3
);
833 var_listnode4
= var3
;
834 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
835 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
836 CHECK_NEW_array__Array(var4
);
837 var_listnode6
= var4
;
838 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
839 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
840 CHECK_NEW_array__Array(var5
);
841 var_listnode7
= var5
;
842 var_listnode3
= var_nodearraylist1
;
843 /* <var_listnode3:nullable Object> isa Array[Object] */
844 cltype
= type_array__Arraykernel__Object
.color
;
845 idtype
= type_array__Arraykernel__Object
.id
;
846 if(var_listnode3
== NULL
) {
849 if(cltype
>= var_listnode3
->type
->table_size
) {
852 var6
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
856 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2203);
859 var7
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction6>*/;
860 var_listnode4
= var7
;
861 var_listnode5
= var_nodearraylist2
;
862 /* <var_listnode5:nullable Object> isa Array[Object] */
863 cltype9
= type_array__Arraykernel__Object
.color
;
864 idtype10
= type_array__Arraykernel__Object
.id
;
865 if(var_listnode5
== NULL
) {
868 if(cltype9
>= var_listnode5
->type
->table_size
) {
871 var8
= var_listnode5
->type
->type_table
[cltype9
] == idtype10
;
875 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2206);
878 var11
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction6>*/;
879 var_listnode6
= var11
;
880 var12
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
882 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var12
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var12
, var13
, var_listnode4
, var_listnode6
, var_listnode7
) /* init_amodule on <var12:AModule>*/;
883 CHECK_NEW_parser_nodes__AModule(var12
);
884 var_pmodulenode1
= var12
;
885 var_node_list
= var_pmodulenode1
;
886 var14
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction6> */
887 var15
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var14
) /* go_to on <var_p:Parser>*/;
888 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var15
, var_node_list
) /* push on <var_p:Parser>*/;
891 /* method parser#ReduceAction6#action for (self: Object, Parser) */
892 void VIRTUAL_parser__ReduceAction6__action(val
* self
, val
* p0
) {
893 parser__ReduceAction6__action(self
, p0
);
896 /* method parser#ReduceAction7#action for (self: ReduceAction7, Parser) */
897 void parser__ReduceAction7__action(val
* self
, val
* p0
) {
898 val
* var_p
/* var p: Parser */;
899 val
* var
/* : null */;
900 val
* var_node_list
/* var node_list: nullable Object */;
901 val
* var1
/* : nullable Object */;
902 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
903 val
* var2
/* : nullable Object */;
904 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
905 val
* var3
/* : nullable Object */;
906 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
907 val
* var4
/* : Array[Object] */;
908 val
* var_listnode4
/* var listnode4: Array[Object] */;
909 val
* var5
/* : Array[Object] */;
910 val
* var_listnode6
/* var listnode6: Array[Object] */;
911 val
* var6
/* : Array[Object] */;
912 val
* var_listnode7
/* var listnode7: Array[Object] */;
913 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
914 short int var7
/* : Bool */;
917 val
* var_listnode3
/* var listnode3: nullable Object */;
918 short int var8
/* : Bool */;
921 val
* var11
/* : Array[Object] */;
922 val
* var_listnode5
/* var listnode5: nullable Object */;
923 short int var12
/* : Bool */;
926 val
* var15
/* : Array[Object] */;
927 val
* var16
/* : AModule */;
928 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
929 long var17
/* : Int */;
930 long var18
/* : Int */;
934 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
935 var_nodearraylist3
= var1
;
936 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
937 var_nodearraylist2
= var2
;
938 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
939 var_nodearraylist1
= var3
;
940 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
941 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
942 CHECK_NEW_array__Array(var4
);
943 var_listnode4
= var4
;
944 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
945 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
946 CHECK_NEW_array__Array(var5
);
947 var_listnode6
= var5
;
948 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
949 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
950 CHECK_NEW_array__Array(var6
);
951 var_listnode7
= var6
;
952 var_pmoduledeclnode2
= var_nodearraylist1
;
953 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
954 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
955 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
956 if(var_pmoduledeclnode2
== NULL
) {
959 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
962 var7
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
966 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2230);
969 var_listnode3
= var_nodearraylist2
;
970 /* <var_listnode3:nullable Object> isa Array[Object] */
971 cltype9
= type_array__Arraykernel__Object
.color
;
972 idtype10
= type_array__Arraykernel__Object
.id
;
973 if(var_listnode3
== NULL
) {
976 if(cltype9
>= var_listnode3
->type
->table_size
) {
979 var8
= var_listnode3
->type
->type_table
[cltype9
] == idtype10
;
983 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2232);
986 var11
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction7>*/;
987 var_listnode4
= var11
;
988 var_listnode5
= var_nodearraylist3
;
989 /* <var_listnode5:nullable Object> isa Array[Object] */
990 cltype13
= type_array__Arraykernel__Object
.color
;
991 idtype14
= type_array__Arraykernel__Object
.id
;
992 if(var_listnode5
== NULL
) {
995 if(cltype13
>= var_listnode5
->type
->table_size
) {
998 var12
= var_listnode5
->type
->type_table
[cltype13
] == idtype14
;
1002 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2235);
1005 var15
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction7>*/;
1006 var_listnode6
= var15
;
1007 var16
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
1008 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var16
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var16
, var_pmoduledeclnode2
, var_listnode4
, var_listnode6
, var_listnode7
) /* init_amodule on <var16:AModule>*/;
1009 CHECK_NEW_parser_nodes__AModule(var16
);
1010 var_pmodulenode1
= var16
;
1011 var_node_list
= var_pmodulenode1
;
1012 var17
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction7> */
1013 var18
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var17
) /* go_to on <var_p:Parser>*/;
1014 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var18
, var_node_list
) /* push on <var_p:Parser>*/;
1017 /* method parser#ReduceAction7#action for (self: Object, Parser) */
1018 void VIRTUAL_parser__ReduceAction7__action(val
* self
, val
* p0
) {
1019 parser__ReduceAction7__action(self
, p0
);
1022 /* method parser#ReduceAction8#action for (self: ReduceAction8, Parser) */
1023 void parser__ReduceAction8__action(val
* self
, val
* p0
) {
1024 val
* var_p
/* var p: Parser */;
1025 val
* var
/* : null */;
1026 val
* var_node_list
/* var node_list: nullable Object */;
1027 val
* var1
/* : nullable Object */;
1028 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1029 val
* var2
/* : Array[Object] */;
1030 val
* var_listnode3
/* var listnode3: Array[Object] */;
1031 val
* var3
/* : Array[Object] */;
1032 val
* var_listnode4
/* var listnode4: Array[Object] */;
1033 val
* var4
/* : Array[Object] */;
1034 val
* var_listnode6
/* var listnode6: Array[Object] */;
1035 val
* var_listnode5
/* var listnode5: nullable Object */;
1036 short int var5
/* : Bool */;
1039 val
* var6
/* : Array[Object] */;
1040 val
* var7
/* : AModule */;
1041 val
* var8
/* : null */;
1042 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
1043 long var9
/* : Int */;
1044 long var10
/* : Int */;
1047 var_node_list
= var
;
1048 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1049 var_nodearraylist1
= var1
;
1050 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
1051 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
1052 CHECK_NEW_array__Array(var2
);
1053 var_listnode3
= var2
;
1054 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
1055 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
1056 CHECK_NEW_array__Array(var3
);
1057 var_listnode4
= var3
;
1058 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
1059 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
1060 CHECK_NEW_array__Array(var4
);
1061 var_listnode6
= var4
;
1062 var_listnode5
= var_nodearraylist1
;
1063 /* <var_listnode5:nullable Object> isa Array[Object] */
1064 cltype
= type_array__Arraykernel__Object
.color
;
1065 idtype
= type_array__Arraykernel__Object
.id
;
1066 if(var_listnode5
== NULL
) {
1069 if(cltype
>= var_listnode5
->type
->table_size
) {
1072 var5
= var_listnode5
->type
->type_table
[cltype
] == idtype
;
1076 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2257);
1079 var6
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction8>*/;
1080 var_listnode6
= var6
;
1081 var7
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
1083 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var7
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var7
, var8
, var_listnode3
, var_listnode4
, var_listnode6
) /* init_amodule on <var7:AModule>*/;
1084 CHECK_NEW_parser_nodes__AModule(var7
);
1085 var_pmodulenode1
= var7
;
1086 var_node_list
= var_pmodulenode1
;
1087 var9
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction8> */
1088 var10
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var9
) /* go_to on <var_p:Parser>*/;
1089 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var10
, var_node_list
) /* push on <var_p:Parser>*/;
1092 /* method parser#ReduceAction8#action for (self: Object, Parser) */
1093 void VIRTUAL_parser__ReduceAction8__action(val
* self
, val
* p0
) {
1094 parser__ReduceAction8__action(self
, p0
);
1097 /* method parser#ReduceAction9#action for (self: ReduceAction9, Parser) */
1098 void parser__ReduceAction9__action(val
* self
, val
* p0
) {
1099 val
* var_p
/* var p: Parser */;
1100 val
* var
/* : null */;
1101 val
* var_node_list
/* var node_list: nullable Object */;
1102 val
* var1
/* : nullable Object */;
1103 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1104 val
* var2
/* : nullable Object */;
1105 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1106 val
* var3
/* : Array[Object] */;
1107 val
* var_listnode3
/* var listnode3: Array[Object] */;
1108 val
* var4
/* : Array[Object] */;
1109 val
* var_listnode4
/* var listnode4: Array[Object] */;
1110 val
* var5
/* : Array[Object] */;
1111 val
* var_listnode6
/* var listnode6: Array[Object] */;
1112 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
1113 short int var6
/* : Bool */;
1116 val
* var_listnode5
/* var listnode5: nullable Object */;
1117 short int var7
/* : Bool */;
1120 val
* var10
/* : Array[Object] */;
1121 val
* var11
/* : AModule */;
1122 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
1123 long var12
/* : Int */;
1124 long var13
/* : Int */;
1127 var_node_list
= var
;
1128 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1129 var_nodearraylist2
= var1
;
1130 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1131 var_nodearraylist1
= var2
;
1132 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
1133 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
1134 CHECK_NEW_array__Array(var3
);
1135 var_listnode3
= var3
;
1136 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
1137 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
1138 CHECK_NEW_array__Array(var4
);
1139 var_listnode4
= var4
;
1140 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
1141 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
1142 CHECK_NEW_array__Array(var5
);
1143 var_listnode6
= var5
;
1144 var_pmoduledeclnode2
= var_nodearraylist1
;
1145 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
1146 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
1147 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
1148 if(var_pmoduledeclnode2
== NULL
) {
1151 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
1154 var6
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
1158 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2280);
1161 var_listnode5
= var_nodearraylist2
;
1162 /* <var_listnode5:nullable Object> isa Array[Object] */
1163 cltype8
= type_array__Arraykernel__Object
.color
;
1164 idtype9
= type_array__Arraykernel__Object
.id
;
1165 if(var_listnode5
== NULL
) {
1168 if(cltype8
>= var_listnode5
->type
->table_size
) {
1171 var7
= var_listnode5
->type
->type_table
[cltype8
] == idtype9
;
1175 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2282);
1178 var10
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction9>*/;
1179 var_listnode6
= var10
;
1180 var11
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
1181 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var11
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var11
, var_pmoduledeclnode2
, var_listnode3
, var_listnode4
, var_listnode6
) /* init_amodule on <var11:AModule>*/;
1182 CHECK_NEW_parser_nodes__AModule(var11
);
1183 var_pmodulenode1
= var11
;
1184 var_node_list
= var_pmodulenode1
;
1185 var12
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction9> */
1186 var13
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var12
) /* go_to on <var_p:Parser>*/;
1187 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var13
, var_node_list
) /* push on <var_p:Parser>*/;
1190 /* method parser#ReduceAction9#action for (self: Object, Parser) */
1191 void VIRTUAL_parser__ReduceAction9__action(val
* self
, val
* p0
) {
1192 parser__ReduceAction9__action(self
, p0
);
1195 /* method parser#ReduceAction10#action for (self: ReduceAction10, Parser) */
1196 void parser__ReduceAction10__action(val
* self
, val
* p0
) {
1197 val
* var_p
/* var p: Parser */;
1198 val
* var
/* : null */;
1199 val
* var_node_list
/* var node_list: nullable Object */;
1200 val
* var1
/* : nullable Object */;
1201 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1202 val
* var2
/* : nullable Object */;
1203 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1204 val
* var3
/* : Array[Object] */;
1205 val
* var_listnode4
/* var listnode4: Array[Object] */;
1206 val
* var4
/* : Array[Object] */;
1207 val
* var_listnode5
/* var listnode5: Array[Object] */;
1208 val
* var5
/* : Array[Object] */;
1209 val
* var_listnode7
/* var listnode7: Array[Object] */;
1210 val
* var_listnode3
/* var listnode3: nullable Object */;
1211 short int var6
/* : Bool */;
1214 val
* var7
/* : Array[Object] */;
1215 val
* var_listnode6
/* var listnode6: nullable Object */;
1216 short int var8
/* : Bool */;
1219 val
* var11
/* : Array[Object] */;
1220 val
* var12
/* : AModule */;
1221 val
* var13
/* : null */;
1222 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
1223 long var14
/* : Int */;
1224 long var15
/* : Int */;
1227 var_node_list
= var
;
1228 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1229 var_nodearraylist2
= var1
;
1230 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1231 var_nodearraylist1
= var2
;
1232 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
1233 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
1234 CHECK_NEW_array__Array(var3
);
1235 var_listnode4
= var3
;
1236 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
1237 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
1238 CHECK_NEW_array__Array(var4
);
1239 var_listnode5
= var4
;
1240 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
1241 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
1242 CHECK_NEW_array__Array(var5
);
1243 var_listnode7
= var5
;
1244 var_listnode3
= var_nodearraylist1
;
1245 /* <var_listnode3:nullable Object> isa Array[Object] */
1246 cltype
= type_array__Arraykernel__Object
.color
;
1247 idtype
= type_array__Arraykernel__Object
.id
;
1248 if(var_listnode3
== NULL
) {
1251 if(cltype
>= var_listnode3
->type
->table_size
) {
1254 var6
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
1258 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2305);
1261 var7
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction10>*/;
1262 var_listnode4
= var7
;
1263 var_listnode6
= var_nodearraylist2
;
1264 /* <var_listnode6:nullable Object> isa Array[Object] */
1265 cltype9
= type_array__Arraykernel__Object
.color
;
1266 idtype10
= type_array__Arraykernel__Object
.id
;
1267 if(var_listnode6
== NULL
) {
1270 if(cltype9
>= var_listnode6
->type
->table_size
) {
1273 var8
= var_listnode6
->type
->type_table
[cltype9
] == idtype10
;
1277 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2308);
1280 var11
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode7
, var_listnode6
) /* concat on <self:ReduceAction10>*/;
1281 var_listnode7
= var11
;
1282 var12
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
1284 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var12
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var12
, var13
, var_listnode4
, var_listnode5
, var_listnode7
) /* init_amodule on <var12:AModule>*/;
1285 CHECK_NEW_parser_nodes__AModule(var12
);
1286 var_pmodulenode1
= var12
;
1287 var_node_list
= var_pmodulenode1
;
1288 var14
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction10> */
1289 var15
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var14
) /* go_to on <var_p:Parser>*/;
1290 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var15
, var_node_list
) /* push on <var_p:Parser>*/;
1293 /* method parser#ReduceAction10#action for (self: Object, Parser) */
1294 void VIRTUAL_parser__ReduceAction10__action(val
* self
, val
* p0
) {
1295 parser__ReduceAction10__action(self
, p0
);
1298 /* method parser#ReduceAction11#action for (self: ReduceAction11, Parser) */
1299 void parser__ReduceAction11__action(val
* self
, val
* p0
) {
1300 val
* var_p
/* var p: Parser */;
1301 val
* var
/* : null */;
1302 val
* var_node_list
/* var node_list: nullable Object */;
1303 val
* var1
/* : nullable Object */;
1304 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1305 val
* var2
/* : nullable Object */;
1306 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1307 val
* var3
/* : nullable Object */;
1308 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1309 val
* var4
/* : Array[Object] */;
1310 val
* var_listnode4
/* var listnode4: Array[Object] */;
1311 val
* var5
/* : Array[Object] */;
1312 val
* var_listnode5
/* var listnode5: Array[Object] */;
1313 val
* var6
/* : Array[Object] */;
1314 val
* var_listnode7
/* var listnode7: Array[Object] */;
1315 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
1316 short int var7
/* : Bool */;
1319 val
* var_listnode3
/* var listnode3: nullable Object */;
1320 short int var8
/* : Bool */;
1323 val
* var11
/* : Array[Object] */;
1324 val
* var_listnode6
/* var listnode6: nullable Object */;
1325 short int var12
/* : Bool */;
1328 val
* var15
/* : Array[Object] */;
1329 val
* var16
/* : AModule */;
1330 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
1331 long var17
/* : Int */;
1332 long var18
/* : Int */;
1335 var_node_list
= var
;
1336 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1337 var_nodearraylist3
= var1
;
1338 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1339 var_nodearraylist2
= var2
;
1340 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1341 var_nodearraylist1
= var3
;
1342 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
1343 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
1344 CHECK_NEW_array__Array(var4
);
1345 var_listnode4
= var4
;
1346 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
1347 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
1348 CHECK_NEW_array__Array(var5
);
1349 var_listnode5
= var5
;
1350 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
1351 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
1352 CHECK_NEW_array__Array(var6
);
1353 var_listnode7
= var6
;
1354 var_pmoduledeclnode2
= var_nodearraylist1
;
1355 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
1356 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
1357 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
1358 if(var_pmoduledeclnode2
== NULL
) {
1361 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
1364 var7
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
1368 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2332);
1371 var_listnode3
= var_nodearraylist2
;
1372 /* <var_listnode3:nullable Object> isa Array[Object] */
1373 cltype9
= type_array__Arraykernel__Object
.color
;
1374 idtype10
= type_array__Arraykernel__Object
.id
;
1375 if(var_listnode3
== NULL
) {
1378 if(cltype9
>= var_listnode3
->type
->table_size
) {
1381 var8
= var_listnode3
->type
->type_table
[cltype9
] == idtype10
;
1385 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2334);
1388 var11
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction11>*/;
1389 var_listnode4
= var11
;
1390 var_listnode6
= var_nodearraylist3
;
1391 /* <var_listnode6:nullable Object> isa Array[Object] */
1392 cltype13
= type_array__Arraykernel__Object
.color
;
1393 idtype14
= type_array__Arraykernel__Object
.id
;
1394 if(var_listnode6
== NULL
) {
1397 if(cltype13
>= var_listnode6
->type
->table_size
) {
1400 var12
= var_listnode6
->type
->type_table
[cltype13
] == idtype14
;
1404 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2337);
1407 var15
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode7
, var_listnode6
) /* concat on <self:ReduceAction11>*/;
1408 var_listnode7
= var15
;
1409 var16
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
1410 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var16
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var16
, var_pmoduledeclnode2
, var_listnode4
, var_listnode5
, var_listnode7
) /* init_amodule on <var16:AModule>*/;
1411 CHECK_NEW_parser_nodes__AModule(var16
);
1412 var_pmodulenode1
= var16
;
1413 var_node_list
= var_pmodulenode1
;
1414 var17
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction11> */
1415 var18
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var17
) /* go_to on <var_p:Parser>*/;
1416 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var18
, var_node_list
) /* push on <var_p:Parser>*/;
1419 /* method parser#ReduceAction11#action for (self: Object, Parser) */
1420 void VIRTUAL_parser__ReduceAction11__action(val
* self
, val
* p0
) {
1421 parser__ReduceAction11__action(self
, p0
);
1424 /* method parser#ReduceAction12#action for (self: ReduceAction12, Parser) */
1425 void parser__ReduceAction12__action(val
* self
, val
* p0
) {
1426 val
* var_p
/* var p: Parser */;
1427 val
* var
/* : null */;
1428 val
* var_node_list
/* var node_list: nullable Object */;
1429 val
* var1
/* : nullable Object */;
1430 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1431 val
* var2
/* : nullable Object */;
1432 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1433 val
* var3
/* : Array[Object] */;
1434 val
* var_listnode3
/* var listnode3: Array[Object] */;
1435 val
* var4
/* : Array[Object] */;
1436 val
* var_listnode5
/* var listnode5: Array[Object] */;
1437 val
* var5
/* : Array[Object] */;
1438 val
* var_listnode7
/* var listnode7: Array[Object] */;
1439 val
* var_listnode4
/* var listnode4: nullable Object */;
1440 short int var6
/* : Bool */;
1443 val
* var7
/* : Array[Object] */;
1444 val
* var_listnode6
/* var listnode6: nullable Object */;
1445 short int var8
/* : Bool */;
1448 val
* var11
/* : Array[Object] */;
1449 val
* var12
/* : AModule */;
1450 val
* var13
/* : null */;
1451 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
1452 long var14
/* : Int */;
1453 long var15
/* : Int */;
1456 var_node_list
= var
;
1457 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1458 var_nodearraylist2
= var1
;
1459 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1460 var_nodearraylist1
= var2
;
1461 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
1462 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
1463 CHECK_NEW_array__Array(var3
);
1464 var_listnode3
= var3
;
1465 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
1466 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
1467 CHECK_NEW_array__Array(var4
);
1468 var_listnode5
= var4
;
1469 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
1470 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
1471 CHECK_NEW_array__Array(var5
);
1472 var_listnode7
= var5
;
1473 var_listnode4
= var_nodearraylist1
;
1474 /* <var_listnode4:nullable Object> isa Array[Object] */
1475 cltype
= type_array__Arraykernel__Object
.color
;
1476 idtype
= type_array__Arraykernel__Object
.id
;
1477 if(var_listnode4
== NULL
) {
1480 if(cltype
>= var_listnode4
->type
->table_size
) {
1483 var6
= var_listnode4
->type
->type_table
[cltype
] == idtype
;
1487 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2360);
1490 var7
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction12>*/;
1491 var_listnode5
= var7
;
1492 var_listnode6
= var_nodearraylist2
;
1493 /* <var_listnode6:nullable Object> isa Array[Object] */
1494 cltype9
= type_array__Arraykernel__Object
.color
;
1495 idtype10
= type_array__Arraykernel__Object
.id
;
1496 if(var_listnode6
== NULL
) {
1499 if(cltype9
>= var_listnode6
->type
->table_size
) {
1502 var8
= var_listnode6
->type
->type_table
[cltype9
] == idtype10
;
1506 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2363);
1509 var11
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode7
, var_listnode6
) /* concat on <self:ReduceAction12>*/;
1510 var_listnode7
= var11
;
1511 var12
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
1513 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var12
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var12
, var13
, var_listnode3
, var_listnode5
, var_listnode7
) /* init_amodule on <var12:AModule>*/;
1514 CHECK_NEW_parser_nodes__AModule(var12
);
1515 var_pmodulenode1
= var12
;
1516 var_node_list
= var_pmodulenode1
;
1517 var14
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction12> */
1518 var15
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var14
) /* go_to on <var_p:Parser>*/;
1519 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var15
, var_node_list
) /* push on <var_p:Parser>*/;
1522 /* method parser#ReduceAction12#action for (self: Object, Parser) */
1523 void VIRTUAL_parser__ReduceAction12__action(val
* self
, val
* p0
) {
1524 parser__ReduceAction12__action(self
, p0
);
1527 /* method parser#ReduceAction13#action for (self: ReduceAction13, Parser) */
1528 void parser__ReduceAction13__action(val
* self
, val
* p0
) {
1529 val
* var_p
/* var p: Parser */;
1530 val
* var
/* : null */;
1531 val
* var_node_list
/* var node_list: nullable Object */;
1532 val
* var1
/* : nullable Object */;
1533 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1534 val
* var2
/* : nullable Object */;
1535 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1536 val
* var3
/* : nullable Object */;
1537 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1538 val
* var4
/* : Array[Object] */;
1539 val
* var_listnode3
/* var listnode3: Array[Object] */;
1540 val
* var5
/* : Array[Object] */;
1541 val
* var_listnode5
/* var listnode5: Array[Object] */;
1542 val
* var6
/* : Array[Object] */;
1543 val
* var_listnode7
/* var listnode7: Array[Object] */;
1544 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
1545 short int var7
/* : Bool */;
1548 val
* var_listnode4
/* var listnode4: nullable Object */;
1549 short int var8
/* : Bool */;
1552 val
* var11
/* : Array[Object] */;
1553 val
* var_listnode6
/* var listnode6: nullable Object */;
1554 short int var12
/* : Bool */;
1557 val
* var15
/* : Array[Object] */;
1558 val
* var16
/* : AModule */;
1559 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
1560 long var17
/* : Int */;
1561 long var18
/* : Int */;
1564 var_node_list
= var
;
1565 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1566 var_nodearraylist3
= var1
;
1567 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1568 var_nodearraylist2
= var2
;
1569 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1570 var_nodearraylist1
= var3
;
1571 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
1572 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
1573 CHECK_NEW_array__Array(var4
);
1574 var_listnode3
= var4
;
1575 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
1576 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
1577 CHECK_NEW_array__Array(var5
);
1578 var_listnode5
= var5
;
1579 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
1580 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
1581 CHECK_NEW_array__Array(var6
);
1582 var_listnode7
= var6
;
1583 var_pmoduledeclnode2
= var_nodearraylist1
;
1584 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
1585 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
1586 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
1587 if(var_pmoduledeclnode2
== NULL
) {
1590 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
1593 var7
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
1597 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2387);
1600 var_listnode4
= var_nodearraylist2
;
1601 /* <var_listnode4:nullable Object> isa Array[Object] */
1602 cltype9
= type_array__Arraykernel__Object
.color
;
1603 idtype10
= type_array__Arraykernel__Object
.id
;
1604 if(var_listnode4
== NULL
) {
1607 if(cltype9
>= var_listnode4
->type
->table_size
) {
1610 var8
= var_listnode4
->type
->type_table
[cltype9
] == idtype10
;
1614 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2389);
1617 var11
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction13>*/;
1618 var_listnode5
= var11
;
1619 var_listnode6
= var_nodearraylist3
;
1620 /* <var_listnode6:nullable Object> isa Array[Object] */
1621 cltype13
= type_array__Arraykernel__Object
.color
;
1622 idtype14
= type_array__Arraykernel__Object
.id
;
1623 if(var_listnode6
== NULL
) {
1626 if(cltype13
>= var_listnode6
->type
->table_size
) {
1629 var12
= var_listnode6
->type
->type_table
[cltype13
] == idtype14
;
1633 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2392);
1636 var15
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode7
, var_listnode6
) /* concat on <self:ReduceAction13>*/;
1637 var_listnode7
= var15
;
1638 var16
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
1639 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var16
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var16
, var_pmoduledeclnode2
, var_listnode3
, var_listnode5
, var_listnode7
) /* init_amodule on <var16:AModule>*/;
1640 CHECK_NEW_parser_nodes__AModule(var16
);
1641 var_pmodulenode1
= var16
;
1642 var_node_list
= var_pmodulenode1
;
1643 var17
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction13> */
1644 var18
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var17
) /* go_to on <var_p:Parser>*/;
1645 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var18
, var_node_list
) /* push on <var_p:Parser>*/;
1648 /* method parser#ReduceAction13#action for (self: Object, Parser) */
1649 void VIRTUAL_parser__ReduceAction13__action(val
* self
, val
* p0
) {
1650 parser__ReduceAction13__action(self
, p0
);
1653 /* method parser#ReduceAction14#action for (self: ReduceAction14, Parser) */
1654 void parser__ReduceAction14__action(val
* self
, val
* p0
) {
1655 val
* var_p
/* var p: Parser */;
1656 val
* var
/* : null */;
1657 val
* var_node_list
/* var node_list: nullable Object */;
1658 val
* var1
/* : nullable Object */;
1659 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1660 val
* var2
/* : nullable Object */;
1661 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1662 val
* var3
/* : nullable Object */;
1663 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1664 val
* var4
/* : Array[Object] */;
1665 val
* var_listnode4
/* var listnode4: Array[Object] */;
1666 val
* var5
/* : Array[Object] */;
1667 val
* var_listnode6
/* var listnode6: Array[Object] */;
1668 val
* var6
/* : Array[Object] */;
1669 val
* var_listnode8
/* var listnode8: Array[Object] */;
1670 val
* var_listnode3
/* var listnode3: nullable Object */;
1671 short int var7
/* : Bool */;
1674 val
* var8
/* : Array[Object] */;
1675 val
* var_listnode5
/* var listnode5: nullable Object */;
1676 short int var9
/* : Bool */;
1679 val
* var12
/* : Array[Object] */;
1680 val
* var_listnode7
/* var listnode7: nullable Object */;
1681 short int var13
/* : Bool */;
1684 val
* var16
/* : Array[Object] */;
1685 val
* var17
/* : AModule */;
1686 val
* var18
/* : null */;
1687 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
1688 long var19
/* : Int */;
1689 long var20
/* : Int */;
1692 var_node_list
= var
;
1693 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1694 var_nodearraylist3
= var1
;
1695 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1696 var_nodearraylist2
= var2
;
1697 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1698 var_nodearraylist1
= var3
;
1699 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
1700 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
1701 CHECK_NEW_array__Array(var4
);
1702 var_listnode4
= var4
;
1703 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
1704 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
1705 CHECK_NEW_array__Array(var5
);
1706 var_listnode6
= var5
;
1707 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
1708 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
1709 CHECK_NEW_array__Array(var6
);
1710 var_listnode8
= var6
;
1711 var_listnode3
= var_nodearraylist1
;
1712 /* <var_listnode3:nullable Object> isa Array[Object] */
1713 cltype
= type_array__Arraykernel__Object
.color
;
1714 idtype
= type_array__Arraykernel__Object
.id
;
1715 if(var_listnode3
== NULL
) {
1718 if(cltype
>= var_listnode3
->type
->table_size
) {
1721 var7
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
1725 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2416);
1728 var8
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction14>*/;
1729 var_listnode4
= var8
;
1730 var_listnode5
= var_nodearraylist2
;
1731 /* <var_listnode5:nullable Object> isa Array[Object] */
1732 cltype10
= type_array__Arraykernel__Object
.color
;
1733 idtype11
= type_array__Arraykernel__Object
.id
;
1734 if(var_listnode5
== NULL
) {
1737 if(cltype10
>= var_listnode5
->type
->table_size
) {
1740 var9
= var_listnode5
->type
->type_table
[cltype10
] == idtype11
;
1744 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2419);
1747 var12
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction14>*/;
1748 var_listnode6
= var12
;
1749 var_listnode7
= var_nodearraylist3
;
1750 /* <var_listnode7:nullable Object> isa Array[Object] */
1751 cltype14
= type_array__Arraykernel__Object
.color
;
1752 idtype15
= type_array__Arraykernel__Object
.id
;
1753 if(var_listnode7
== NULL
) {
1756 if(cltype14
>= var_listnode7
->type
->table_size
) {
1759 var13
= var_listnode7
->type
->type_table
[cltype14
] == idtype15
;
1763 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2422);
1766 var16
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode7
) /* concat on <self:ReduceAction14>*/;
1767 var_listnode8
= var16
;
1768 var17
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
1770 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var17
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var17
, var18
, var_listnode4
, var_listnode6
, var_listnode8
) /* init_amodule on <var17:AModule>*/;
1771 CHECK_NEW_parser_nodes__AModule(var17
);
1772 var_pmodulenode1
= var17
;
1773 var_node_list
= var_pmodulenode1
;
1774 var19
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction14> */
1775 var20
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var19
) /* go_to on <var_p:Parser>*/;
1776 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var20
, var_node_list
) /* push on <var_p:Parser>*/;
1779 /* method parser#ReduceAction14#action for (self: Object, Parser) */
1780 void VIRTUAL_parser__ReduceAction14__action(val
* self
, val
* p0
) {
1781 parser__ReduceAction14__action(self
, p0
);
1784 /* method parser#ReduceAction15#action for (self: ReduceAction15, Parser) */
1785 void parser__ReduceAction15__action(val
* self
, val
* p0
) {
1786 val
* var_p
/* var p: Parser */;
1787 val
* var
/* : null */;
1788 val
* var_node_list
/* var node_list: nullable Object */;
1789 val
* var1
/* : nullable Object */;
1790 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1791 val
* var2
/* : nullable Object */;
1792 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1793 val
* var3
/* : nullable Object */;
1794 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1795 val
* var4
/* : nullable Object */;
1796 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1797 val
* var5
/* : Array[Object] */;
1798 val
* var_listnode4
/* var listnode4: Array[Object] */;
1799 val
* var6
/* : Array[Object] */;
1800 val
* var_listnode6
/* var listnode6: Array[Object] */;
1801 val
* var7
/* : Array[Object] */;
1802 val
* var_listnode8
/* var listnode8: Array[Object] */;
1803 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
1804 short int var8
/* : Bool */;
1807 val
* var_listnode3
/* var listnode3: nullable Object */;
1808 short int var9
/* : Bool */;
1811 val
* var12
/* : Array[Object] */;
1812 val
* var_listnode5
/* var listnode5: nullable Object */;
1813 short int var13
/* : Bool */;
1816 val
* var16
/* : Array[Object] */;
1817 val
* var_listnode7
/* var listnode7: nullable Object */;
1818 short int var17
/* : Bool */;
1821 val
* var20
/* : Array[Object] */;
1822 val
* var21
/* : AModule */;
1823 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
1824 long var22
/* : Int */;
1825 long var23
/* : Int */;
1828 var_node_list
= var
;
1829 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1830 var_nodearraylist4
= var1
;
1831 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1832 var_nodearraylist3
= var2
;
1833 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1834 var_nodearraylist2
= var3
;
1835 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1836 var_nodearraylist1
= var4
;
1837 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
1838 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
1839 CHECK_NEW_array__Array(var5
);
1840 var_listnode4
= var5
;
1841 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
1842 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
1843 CHECK_NEW_array__Array(var6
);
1844 var_listnode6
= var6
;
1845 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
1846 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
1847 CHECK_NEW_array__Array(var7
);
1848 var_listnode8
= var7
;
1849 var_pmoduledeclnode2
= var_nodearraylist1
;
1850 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
1851 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
1852 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
1853 if(var_pmoduledeclnode2
== NULL
) {
1856 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
1859 var8
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
1863 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2447);
1866 var_listnode3
= var_nodearraylist2
;
1867 /* <var_listnode3:nullable Object> isa Array[Object] */
1868 cltype10
= type_array__Arraykernel__Object
.color
;
1869 idtype11
= type_array__Arraykernel__Object
.id
;
1870 if(var_listnode3
== NULL
) {
1873 if(cltype10
>= var_listnode3
->type
->table_size
) {
1876 var9
= var_listnode3
->type
->type_table
[cltype10
] == idtype11
;
1880 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2449);
1883 var12
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction15>*/;
1884 var_listnode4
= var12
;
1885 var_listnode5
= var_nodearraylist3
;
1886 /* <var_listnode5:nullable Object> isa Array[Object] */
1887 cltype14
= type_array__Arraykernel__Object
.color
;
1888 idtype15
= type_array__Arraykernel__Object
.id
;
1889 if(var_listnode5
== NULL
) {
1892 if(cltype14
>= var_listnode5
->type
->table_size
) {
1895 var13
= var_listnode5
->type
->type_table
[cltype14
] == idtype15
;
1899 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2452);
1902 var16
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction15>*/;
1903 var_listnode6
= var16
;
1904 var_listnode7
= var_nodearraylist4
;
1905 /* <var_listnode7:nullable Object> isa Array[Object] */
1906 cltype18
= type_array__Arraykernel__Object
.color
;
1907 idtype19
= type_array__Arraykernel__Object
.id
;
1908 if(var_listnode7
== NULL
) {
1911 if(cltype18
>= var_listnode7
->type
->table_size
) {
1914 var17
= var_listnode7
->type
->type_table
[cltype18
] == idtype19
;
1918 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2455);
1921 var20
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode7
) /* concat on <self:ReduceAction15>*/;
1922 var_listnode8
= var20
;
1923 var21
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
1924 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var21
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var21
, var_pmoduledeclnode2
, var_listnode4
, var_listnode6
, var_listnode8
) /* init_amodule on <var21:AModule>*/;
1925 CHECK_NEW_parser_nodes__AModule(var21
);
1926 var_pmodulenode1
= var21
;
1927 var_node_list
= var_pmodulenode1
;
1928 var22
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction15> */
1929 var23
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var22
) /* go_to on <var_p:Parser>*/;
1930 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var23
, var_node_list
) /* push on <var_p:Parser>*/;
1933 /* method parser#ReduceAction15#action for (self: Object, Parser) */
1934 void VIRTUAL_parser__ReduceAction15__action(val
* self
, val
* p0
) {
1935 parser__ReduceAction15__action(self
, p0
);
1938 /* method parser#ReduceAction16#action for (self: ReduceAction16, Parser) */
1939 void parser__ReduceAction16__action(val
* self
, val
* p0
) {
1940 val
* var_p
/* var p: Parser */;
1941 val
* var
/* : null */;
1942 val
* var_node_list
/* var node_list: nullable Object */;
1943 val
* var1
/* : nullable Object */;
1944 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1945 val
* var2
/* : Array[Object] */;
1946 val
* var_listnode3
/* var listnode3: Array[Object] */;
1947 val
* var3
/* : Array[Object] */;
1948 val
* var_listnode4
/* var listnode4: Array[Object] */;
1949 val
* var4
/* : Array[Object] */;
1950 val
* var_listnode8
/* var listnode8: Array[Object] */;
1951 val
* var5
/* : Array[Object] */;
1952 val
* var_listnode7
/* var listnode7: Array[Object] */;
1953 val
* var_listnode6
/* var listnode6: nullable Object */;
1954 short int var6
/* : Bool */;
1957 val
* var7
/* : Array[Object] */;
1958 val
* var8
/* : ATopClassdef */;
1959 val
* var_pclassdefnode5
/* var pclassdefnode5: nullable ATopClassdef */;
1960 val
* var9
/* : null */;
1961 short int var10
/* : Bool */;
1962 val
* var11
/* : AModule */;
1963 val
* var12
/* : null */;
1964 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
1965 long var13
/* : Int */;
1966 long var14
/* : Int */;
1969 var_node_list
= var
;
1970 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1971 var_nodearraylist1
= var1
;
1972 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
1973 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
1974 CHECK_NEW_array__Array(var2
);
1975 var_listnode3
= var2
;
1976 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
1977 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
1978 CHECK_NEW_array__Array(var3
);
1979 var_listnode4
= var3
;
1980 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
1981 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
1982 CHECK_NEW_array__Array(var4
);
1983 var_listnode8
= var4
;
1984 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
1985 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
1986 CHECK_NEW_array__Array(var5
);
1987 var_listnode7
= var5
;
1988 var_listnode6
= var_nodearraylist1
;
1989 /* <var_listnode6:nullable Object> isa Array[Object] */
1990 cltype
= type_array__Arraykernel__Object
.color
;
1991 idtype
= type_array__Arraykernel__Object
.id
;
1992 if(var_listnode6
== NULL
) {
1995 if(cltype
>= var_listnode6
->type
->table_size
) {
1998 var6
= var_listnode6
->type
->type_table
[cltype
] == idtype
;
2002 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2478);
2005 var7
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode7
, var_listnode6
) /* concat on <self:ReduceAction16>*/;
2006 var_listnode7
= var7
;
2007 var8
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
2008 ((void (*)(val
*, val
*))(var8
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var8
, var_listnode7
) /* init_atopclassdef on <var8:ATopClassdef>*/;
2009 CHECK_NEW_parser_nodes__ATopClassdef(var8
);
2010 var_pclassdefnode5
= var8
;
2012 if (var_pclassdefnode5
== NULL
) {
2013 var10
= 0; /* is null */
2015 var10
= 1; /* arg is null and recv is not */
2018 ((void (*)(val
*, val
*))(var_listnode8
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode8
, var_pclassdefnode5
) /* add on <var_listnode8:Array[Object]>*/;
2021 var11
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
2023 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var11
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var11
, var12
, var_listnode3
, var_listnode4
, var_listnode8
) /* init_amodule on <var11:AModule>*/;
2024 CHECK_NEW_parser_nodes__AModule(var11
);
2025 var_pmodulenode1
= var11
;
2026 var_node_list
= var_pmodulenode1
;
2027 var13
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction16> */
2028 var14
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var13
) /* go_to on <var_p:Parser>*/;
2029 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var14
, var_node_list
) /* push on <var_p:Parser>*/;
2032 /* method parser#ReduceAction16#action for (self: Object, Parser) */
2033 void VIRTUAL_parser__ReduceAction16__action(val
* self
, val
* p0
) {
2034 parser__ReduceAction16__action(self
, p0
);
2037 /* method parser#ReduceAction17#action for (self: ReduceAction17, Parser) */
2038 void parser__ReduceAction17__action(val
* self
, val
* p0
) {
2039 val
* var_p
/* var p: Parser */;
2040 val
* var
/* : null */;
2041 val
* var_node_list
/* var node_list: nullable Object */;
2042 val
* var1
/* : nullable Object */;
2043 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2044 val
* var2
/* : nullable Object */;
2045 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2046 val
* var3
/* : Array[Object] */;
2047 val
* var_listnode3
/* var listnode3: Array[Object] */;
2048 val
* var4
/* : Array[Object] */;
2049 val
* var_listnode4
/* var listnode4: Array[Object] */;
2050 val
* var5
/* : Array[Object] */;
2051 val
* var_listnode8
/* var listnode8: Array[Object] */;
2052 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
2053 short int var6
/* : Bool */;
2056 val
* var7
/* : Array[Object] */;
2057 val
* var_listnode7
/* var listnode7: Array[Object] */;
2058 val
* var_listnode6
/* var listnode6: nullable Object */;
2059 short int var8
/* : Bool */;
2062 val
* var11
/* : Array[Object] */;
2063 val
* var12
/* : ATopClassdef */;
2064 val
* var_pclassdefnode5
/* var pclassdefnode5: nullable ATopClassdef */;
2065 val
* var13
/* : null */;
2066 short int var14
/* : Bool */;
2067 val
* var15
/* : AModule */;
2068 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
2069 long var16
/* : Int */;
2070 long var17
/* : Int */;
2073 var_node_list
= var
;
2074 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2075 var_nodearraylist2
= var1
;
2076 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2077 var_nodearraylist1
= var2
;
2078 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
2079 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
2080 CHECK_NEW_array__Array(var3
);
2081 var_listnode3
= var3
;
2082 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
2083 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
2084 CHECK_NEW_array__Array(var4
);
2085 var_listnode4
= var4
;
2086 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
2087 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
2088 CHECK_NEW_array__Array(var5
);
2089 var_listnode8
= var5
;
2090 var_pmoduledeclnode2
= var_nodearraylist1
;
2091 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
2092 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
2093 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
2094 if(var_pmoduledeclnode2
== NULL
) {
2097 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
2100 var6
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
2104 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2507);
2107 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
2108 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
2109 CHECK_NEW_array__Array(var7
);
2110 var_listnode7
= var7
;
2111 var_listnode6
= var_nodearraylist2
;
2112 /* <var_listnode6:nullable Object> isa Array[Object] */
2113 cltype9
= type_array__Arraykernel__Object
.color
;
2114 idtype10
= type_array__Arraykernel__Object
.id
;
2115 if(var_listnode6
== NULL
) {
2118 if(cltype9
>= var_listnode6
->type
->table_size
) {
2121 var8
= var_listnode6
->type
->type_table
[cltype9
] == idtype10
;
2125 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2510);
2128 var11
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode7
, var_listnode6
) /* concat on <self:ReduceAction17>*/;
2129 var_listnode7
= var11
;
2130 var12
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
2131 ((void (*)(val
*, val
*))(var12
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var12
, var_listnode7
) /* init_atopclassdef on <var12:ATopClassdef>*/;
2132 CHECK_NEW_parser_nodes__ATopClassdef(var12
);
2133 var_pclassdefnode5
= var12
;
2135 if (var_pclassdefnode5
== NULL
) {
2136 var14
= 0; /* is null */
2138 var14
= 1; /* arg is null and recv is not */
2141 ((void (*)(val
*, val
*))(var_listnode8
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode8
, var_pclassdefnode5
) /* add on <var_listnode8:Array[Object]>*/;
2144 var15
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
2145 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var15
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var15
, var_pmoduledeclnode2
, var_listnode3
, var_listnode4
, var_listnode8
) /* init_amodule on <var15:AModule>*/;
2146 CHECK_NEW_parser_nodes__AModule(var15
);
2147 var_pmodulenode1
= var15
;
2148 var_node_list
= var_pmodulenode1
;
2149 var16
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction17> */
2150 var17
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var16
) /* go_to on <var_p:Parser>*/;
2151 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var17
, var_node_list
) /* push on <var_p:Parser>*/;
2154 /* method parser#ReduceAction17#action for (self: Object, Parser) */
2155 void VIRTUAL_parser__ReduceAction17__action(val
* self
, val
* p0
) {
2156 parser__ReduceAction17__action(self
, p0
);
2159 /* method parser#ReduceAction18#action for (self: ReduceAction18, Parser) */
2160 void parser__ReduceAction18__action(val
* self
, val
* p0
) {
2161 val
* var_p
/* var p: Parser */;
2162 val
* var
/* : null */;
2163 val
* var_node_list
/* var node_list: nullable Object */;
2164 val
* var1
/* : nullable Object */;
2165 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2166 val
* var2
/* : nullable Object */;
2167 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2168 val
* var3
/* : Array[Object] */;
2169 val
* var_listnode4
/* var listnode4: Array[Object] */;
2170 val
* var4
/* : Array[Object] */;
2171 val
* var_listnode5
/* var listnode5: Array[Object] */;
2172 val
* var5
/* : Array[Object] */;
2173 val
* var_listnode9
/* var listnode9: Array[Object] */;
2174 val
* var_listnode3
/* var listnode3: nullable Object */;
2175 short int var6
/* : Bool */;
2178 val
* var7
/* : Array[Object] */;
2179 val
* var8
/* : Array[Object] */;
2180 val
* var_listnode8
/* var listnode8: Array[Object] */;
2181 val
* var_listnode7
/* var listnode7: nullable Object */;
2182 short int var9
/* : Bool */;
2185 val
* var12
/* : Array[Object] */;
2186 val
* var13
/* : ATopClassdef */;
2187 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable ATopClassdef */;
2188 val
* var14
/* : null */;
2189 short int var15
/* : Bool */;
2190 val
* var16
/* : AModule */;
2191 val
* var17
/* : null */;
2192 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
2193 long var18
/* : Int */;
2194 long var19
/* : Int */;
2197 var_node_list
= var
;
2198 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2199 var_nodearraylist2
= var1
;
2200 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2201 var_nodearraylist1
= var2
;
2202 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
2203 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
2204 CHECK_NEW_array__Array(var3
);
2205 var_listnode4
= var3
;
2206 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
2207 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
2208 CHECK_NEW_array__Array(var4
);
2209 var_listnode5
= var4
;
2210 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
2211 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
2212 CHECK_NEW_array__Array(var5
);
2213 var_listnode9
= var5
;
2214 var_listnode3
= var_nodearraylist1
;
2215 /* <var_listnode3:nullable Object> isa Array[Object] */
2216 cltype
= type_array__Arraykernel__Object
.color
;
2217 idtype
= type_array__Arraykernel__Object
.id
;
2218 if(var_listnode3
== NULL
) {
2221 if(cltype
>= var_listnode3
->type
->table_size
) {
2224 var6
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
2228 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2539);
2231 var7
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction18>*/;
2232 var_listnode4
= var7
;
2233 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
2234 ((void (*)(val
*))(var8
->class->vft
[COLOR_array__Array__init
]))(var8
) /* init on <var8:Array[Object]>*/;
2235 CHECK_NEW_array__Array(var8
);
2236 var_listnode8
= var8
;
2237 var_listnode7
= var_nodearraylist2
;
2238 /* <var_listnode7:nullable Object> isa Array[Object] */
2239 cltype10
= type_array__Arraykernel__Object
.color
;
2240 idtype11
= type_array__Arraykernel__Object
.id
;
2241 if(var_listnode7
== NULL
) {
2244 if(cltype10
>= var_listnode7
->type
->table_size
) {
2247 var9
= var_listnode7
->type
->type_table
[cltype10
] == idtype11
;
2251 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2543);
2254 var12
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode7
) /* concat on <self:ReduceAction18>*/;
2255 var_listnode8
= var12
;
2256 var13
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
2257 ((void (*)(val
*, val
*))(var13
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var13
, var_listnode8
) /* init_atopclassdef on <var13:ATopClassdef>*/;
2258 CHECK_NEW_parser_nodes__ATopClassdef(var13
);
2259 var_pclassdefnode6
= var13
;
2261 if (var_pclassdefnode6
== NULL
) {
2262 var15
= 0; /* is null */
2264 var15
= 1; /* arg is null and recv is not */
2267 ((void (*)(val
*, val
*))(var_listnode9
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode9
, var_pclassdefnode6
) /* add on <var_listnode9:Array[Object]>*/;
2270 var16
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
2272 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var16
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var16
, var17
, var_listnode4
, var_listnode5
, var_listnode9
) /* init_amodule on <var16:AModule>*/;
2273 CHECK_NEW_parser_nodes__AModule(var16
);
2274 var_pmodulenode1
= var16
;
2275 var_node_list
= var_pmodulenode1
;
2276 var18
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction18> */
2277 var19
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var18
) /* go_to on <var_p:Parser>*/;
2278 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var19
, var_node_list
) /* push on <var_p:Parser>*/;
2281 /* method parser#ReduceAction18#action for (self: Object, Parser) */
2282 void VIRTUAL_parser__ReduceAction18__action(val
* self
, val
* p0
) {
2283 parser__ReduceAction18__action(self
, p0
);
2286 /* method parser#ReduceAction19#action for (self: ReduceAction19, Parser) */
2287 void parser__ReduceAction19__action(val
* self
, val
* p0
) {
2288 val
* var_p
/* var p: Parser */;
2289 val
* var
/* : null */;
2290 val
* var_node_list
/* var node_list: nullable Object */;
2291 val
* var1
/* : nullable Object */;
2292 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2293 val
* var2
/* : nullable Object */;
2294 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2295 val
* var3
/* : nullable Object */;
2296 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2297 val
* var4
/* : Array[Object] */;
2298 val
* var_listnode4
/* var listnode4: Array[Object] */;
2299 val
* var5
/* : Array[Object] */;
2300 val
* var_listnode5
/* var listnode5: Array[Object] */;
2301 val
* var6
/* : Array[Object] */;
2302 val
* var_listnode9
/* var listnode9: Array[Object] */;
2303 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
2304 short int var7
/* : Bool */;
2307 val
* var_listnode3
/* var listnode3: nullable Object */;
2308 short int var8
/* : Bool */;
2311 val
* var11
/* : Array[Object] */;
2312 val
* var12
/* : Array[Object] */;
2313 val
* var_listnode8
/* var listnode8: Array[Object] */;
2314 val
* var_listnode7
/* var listnode7: nullable Object */;
2315 short int var13
/* : Bool */;
2318 val
* var16
/* : Array[Object] */;
2319 val
* var17
/* : ATopClassdef */;
2320 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable ATopClassdef */;
2321 val
* var18
/* : null */;
2322 short int var19
/* : Bool */;
2323 val
* var20
/* : AModule */;
2324 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
2325 long var21
/* : Int */;
2326 long var22
/* : Int */;
2329 var_node_list
= var
;
2330 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2331 var_nodearraylist3
= var1
;
2332 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2333 var_nodearraylist2
= var2
;
2334 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2335 var_nodearraylist1
= var3
;
2336 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
2337 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
2338 CHECK_NEW_array__Array(var4
);
2339 var_listnode4
= var4
;
2340 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
2341 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
2342 CHECK_NEW_array__Array(var5
);
2343 var_listnode5
= var5
;
2344 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
2345 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
2346 CHECK_NEW_array__Array(var6
);
2347 var_listnode9
= var6
;
2348 var_pmoduledeclnode2
= var_nodearraylist1
;
2349 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
2350 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
2351 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
2352 if(var_pmoduledeclnode2
== NULL
) {
2355 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
2358 var7
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
2362 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2573);
2365 var_listnode3
= var_nodearraylist2
;
2366 /* <var_listnode3:nullable Object> isa Array[Object] */
2367 cltype9
= type_array__Arraykernel__Object
.color
;
2368 idtype10
= type_array__Arraykernel__Object
.id
;
2369 if(var_listnode3
== NULL
) {
2372 if(cltype9
>= var_listnode3
->type
->table_size
) {
2375 var8
= var_listnode3
->type
->type_table
[cltype9
] == idtype10
;
2379 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2575);
2382 var11
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction19>*/;
2383 var_listnode4
= var11
;
2384 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
2385 ((void (*)(val
*))(var12
->class->vft
[COLOR_array__Array__init
]))(var12
) /* init on <var12:Array[Object]>*/;
2386 CHECK_NEW_array__Array(var12
);
2387 var_listnode8
= var12
;
2388 var_listnode7
= var_nodearraylist3
;
2389 /* <var_listnode7:nullable Object> isa Array[Object] */
2390 cltype14
= type_array__Arraykernel__Object
.color
;
2391 idtype15
= type_array__Arraykernel__Object
.id
;
2392 if(var_listnode7
== NULL
) {
2395 if(cltype14
>= var_listnode7
->type
->table_size
) {
2398 var13
= var_listnode7
->type
->type_table
[cltype14
] == idtype15
;
2402 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2579);
2405 var16
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode7
) /* concat on <self:ReduceAction19>*/;
2406 var_listnode8
= var16
;
2407 var17
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
2408 ((void (*)(val
*, val
*))(var17
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var17
, var_listnode8
) /* init_atopclassdef on <var17:ATopClassdef>*/;
2409 CHECK_NEW_parser_nodes__ATopClassdef(var17
);
2410 var_pclassdefnode6
= var17
;
2412 if (var_pclassdefnode6
== NULL
) {
2413 var19
= 0; /* is null */
2415 var19
= 1; /* arg is null and recv is not */
2418 ((void (*)(val
*, val
*))(var_listnode9
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode9
, var_pclassdefnode6
) /* add on <var_listnode9:Array[Object]>*/;
2421 var20
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
2422 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var20
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var20
, var_pmoduledeclnode2
, var_listnode4
, var_listnode5
, var_listnode9
) /* init_amodule on <var20:AModule>*/;
2423 CHECK_NEW_parser_nodes__AModule(var20
);
2424 var_pmodulenode1
= var20
;
2425 var_node_list
= var_pmodulenode1
;
2426 var21
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction19> */
2427 var22
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var21
) /* go_to on <var_p:Parser>*/;
2428 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var22
, var_node_list
) /* push on <var_p:Parser>*/;
2431 /* method parser#ReduceAction19#action for (self: Object, Parser) */
2432 void VIRTUAL_parser__ReduceAction19__action(val
* self
, val
* p0
) {
2433 parser__ReduceAction19__action(self
, p0
);
2436 /* method parser#ReduceAction20#action for (self: ReduceAction20, Parser) */
2437 void parser__ReduceAction20__action(val
* self
, val
* p0
) {
2438 val
* var_p
/* var p: Parser */;
2439 val
* var
/* : null */;
2440 val
* var_node_list
/* var node_list: nullable Object */;
2441 val
* var1
/* : nullable Object */;
2442 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2443 val
* var2
/* : nullable Object */;
2444 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2445 val
* var3
/* : Array[Object] */;
2446 val
* var_listnode3
/* var listnode3: Array[Object] */;
2447 val
* var4
/* : Array[Object] */;
2448 val
* var_listnode5
/* var listnode5: Array[Object] */;
2449 val
* var5
/* : Array[Object] */;
2450 val
* var_listnode9
/* var listnode9: Array[Object] */;
2451 val
* var_listnode4
/* var listnode4: nullable Object */;
2452 short int var6
/* : Bool */;
2455 val
* var7
/* : Array[Object] */;
2456 val
* var8
/* : Array[Object] */;
2457 val
* var_listnode8
/* var listnode8: Array[Object] */;
2458 val
* var_listnode7
/* var listnode7: nullable Object */;
2459 short int var9
/* : Bool */;
2462 val
* var12
/* : Array[Object] */;
2463 val
* var13
/* : ATopClassdef */;
2464 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable ATopClassdef */;
2465 val
* var14
/* : null */;
2466 short int var15
/* : Bool */;
2467 val
* var16
/* : AModule */;
2468 val
* var17
/* : null */;
2469 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
2470 long var18
/* : Int */;
2471 long var19
/* : Int */;
2474 var_node_list
= var
;
2475 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2476 var_nodearraylist2
= var1
;
2477 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2478 var_nodearraylist1
= var2
;
2479 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
2480 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
2481 CHECK_NEW_array__Array(var3
);
2482 var_listnode3
= var3
;
2483 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
2484 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
2485 CHECK_NEW_array__Array(var4
);
2486 var_listnode5
= var4
;
2487 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
2488 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
2489 CHECK_NEW_array__Array(var5
);
2490 var_listnode9
= var5
;
2491 var_listnode4
= var_nodearraylist1
;
2492 /* <var_listnode4:nullable Object> isa Array[Object] */
2493 cltype
= type_array__Arraykernel__Object
.color
;
2494 idtype
= type_array__Arraykernel__Object
.id
;
2495 if(var_listnode4
== NULL
) {
2498 if(cltype
>= var_listnode4
->type
->table_size
) {
2501 var6
= var_listnode4
->type
->type_table
[cltype
] == idtype
;
2505 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2608);
2508 var7
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction20>*/;
2509 var_listnode5
= var7
;
2510 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
2511 ((void (*)(val
*))(var8
->class->vft
[COLOR_array__Array__init
]))(var8
) /* init on <var8:Array[Object]>*/;
2512 CHECK_NEW_array__Array(var8
);
2513 var_listnode8
= var8
;
2514 var_listnode7
= var_nodearraylist2
;
2515 /* <var_listnode7:nullable Object> isa Array[Object] */
2516 cltype10
= type_array__Arraykernel__Object
.color
;
2517 idtype11
= type_array__Arraykernel__Object
.id
;
2518 if(var_listnode7
== NULL
) {
2521 if(cltype10
>= var_listnode7
->type
->table_size
) {
2524 var9
= var_listnode7
->type
->type_table
[cltype10
] == idtype11
;
2528 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2612);
2531 var12
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode7
) /* concat on <self:ReduceAction20>*/;
2532 var_listnode8
= var12
;
2533 var13
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
2534 ((void (*)(val
*, val
*))(var13
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var13
, var_listnode8
) /* init_atopclassdef on <var13:ATopClassdef>*/;
2535 CHECK_NEW_parser_nodes__ATopClassdef(var13
);
2536 var_pclassdefnode6
= var13
;
2538 if (var_pclassdefnode6
== NULL
) {
2539 var15
= 0; /* is null */
2541 var15
= 1; /* arg is null and recv is not */
2544 ((void (*)(val
*, val
*))(var_listnode9
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode9
, var_pclassdefnode6
) /* add on <var_listnode9:Array[Object]>*/;
2547 var16
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
2549 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var16
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var16
, var17
, var_listnode3
, var_listnode5
, var_listnode9
) /* init_amodule on <var16:AModule>*/;
2550 CHECK_NEW_parser_nodes__AModule(var16
);
2551 var_pmodulenode1
= var16
;
2552 var_node_list
= var_pmodulenode1
;
2553 var18
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction20> */
2554 var19
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var18
) /* go_to on <var_p:Parser>*/;
2555 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var19
, var_node_list
) /* push on <var_p:Parser>*/;
2558 /* method parser#ReduceAction20#action for (self: Object, Parser) */
2559 void VIRTUAL_parser__ReduceAction20__action(val
* self
, val
* p0
) {
2560 parser__ReduceAction20__action(self
, p0
);
2563 /* method parser#ReduceAction21#action for (self: ReduceAction21, Parser) */
2564 void parser__ReduceAction21__action(val
* self
, val
* p0
) {
2565 val
* var_p
/* var p: Parser */;
2566 val
* var
/* : null */;
2567 val
* var_node_list
/* var node_list: nullable Object */;
2568 val
* var1
/* : nullable Object */;
2569 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2570 val
* var2
/* : nullable Object */;
2571 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2572 val
* var3
/* : nullable Object */;
2573 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2574 val
* var4
/* : Array[Object] */;
2575 val
* var_listnode3
/* var listnode3: Array[Object] */;
2576 val
* var5
/* : Array[Object] */;
2577 val
* var_listnode5
/* var listnode5: Array[Object] */;
2578 val
* var6
/* : Array[Object] */;
2579 val
* var_listnode9
/* var listnode9: Array[Object] */;
2580 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
2581 short int var7
/* : Bool */;
2584 val
* var_listnode4
/* var listnode4: nullable Object */;
2585 short int var8
/* : Bool */;
2588 val
* var11
/* : Array[Object] */;
2589 val
* var12
/* : Array[Object] */;
2590 val
* var_listnode8
/* var listnode8: Array[Object] */;
2591 val
* var_listnode7
/* var listnode7: nullable Object */;
2592 short int var13
/* : Bool */;
2595 val
* var16
/* : Array[Object] */;
2596 val
* var17
/* : ATopClassdef */;
2597 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable ATopClassdef */;
2598 val
* var18
/* : null */;
2599 short int var19
/* : Bool */;
2600 val
* var20
/* : AModule */;
2601 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
2602 long var21
/* : Int */;
2603 long var22
/* : Int */;
2606 var_node_list
= var
;
2607 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2608 var_nodearraylist3
= var1
;
2609 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2610 var_nodearraylist2
= var2
;
2611 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2612 var_nodearraylist1
= var3
;
2613 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
2614 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
2615 CHECK_NEW_array__Array(var4
);
2616 var_listnode3
= var4
;
2617 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
2618 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
2619 CHECK_NEW_array__Array(var5
);
2620 var_listnode5
= var5
;
2621 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
2622 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
2623 CHECK_NEW_array__Array(var6
);
2624 var_listnode9
= var6
;
2625 var_pmoduledeclnode2
= var_nodearraylist1
;
2626 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
2627 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
2628 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
2629 if(var_pmoduledeclnode2
== NULL
) {
2632 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
2635 var7
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
2639 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2642);
2642 var_listnode4
= var_nodearraylist2
;
2643 /* <var_listnode4:nullable Object> isa Array[Object] */
2644 cltype9
= type_array__Arraykernel__Object
.color
;
2645 idtype10
= type_array__Arraykernel__Object
.id
;
2646 if(var_listnode4
== NULL
) {
2649 if(cltype9
>= var_listnode4
->type
->table_size
) {
2652 var8
= var_listnode4
->type
->type_table
[cltype9
] == idtype10
;
2656 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2644);
2659 var11
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction21>*/;
2660 var_listnode5
= var11
;
2661 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
2662 ((void (*)(val
*))(var12
->class->vft
[COLOR_array__Array__init
]))(var12
) /* init on <var12:Array[Object]>*/;
2663 CHECK_NEW_array__Array(var12
);
2664 var_listnode8
= var12
;
2665 var_listnode7
= var_nodearraylist3
;
2666 /* <var_listnode7:nullable Object> isa Array[Object] */
2667 cltype14
= type_array__Arraykernel__Object
.color
;
2668 idtype15
= type_array__Arraykernel__Object
.id
;
2669 if(var_listnode7
== NULL
) {
2672 if(cltype14
>= var_listnode7
->type
->table_size
) {
2675 var13
= var_listnode7
->type
->type_table
[cltype14
] == idtype15
;
2679 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2648);
2682 var16
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode7
) /* concat on <self:ReduceAction21>*/;
2683 var_listnode8
= var16
;
2684 var17
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
2685 ((void (*)(val
*, val
*))(var17
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var17
, var_listnode8
) /* init_atopclassdef on <var17:ATopClassdef>*/;
2686 CHECK_NEW_parser_nodes__ATopClassdef(var17
);
2687 var_pclassdefnode6
= var17
;
2689 if (var_pclassdefnode6
== NULL
) {
2690 var19
= 0; /* is null */
2692 var19
= 1; /* arg is null and recv is not */
2695 ((void (*)(val
*, val
*))(var_listnode9
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode9
, var_pclassdefnode6
) /* add on <var_listnode9:Array[Object]>*/;
2698 var20
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
2699 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var20
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var20
, var_pmoduledeclnode2
, var_listnode3
, var_listnode5
, var_listnode9
) /* init_amodule on <var20:AModule>*/;
2700 CHECK_NEW_parser_nodes__AModule(var20
);
2701 var_pmodulenode1
= var20
;
2702 var_node_list
= var_pmodulenode1
;
2703 var21
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction21> */
2704 var22
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var21
) /* go_to on <var_p:Parser>*/;
2705 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var22
, var_node_list
) /* push on <var_p:Parser>*/;
2708 /* method parser#ReduceAction21#action for (self: Object, Parser) */
2709 void VIRTUAL_parser__ReduceAction21__action(val
* self
, val
* p0
) {
2710 parser__ReduceAction21__action(self
, p0
);
2713 /* method parser#ReduceAction22#action for (self: ReduceAction22, Parser) */
2714 void parser__ReduceAction22__action(val
* self
, val
* p0
) {
2715 val
* var_p
/* var p: Parser */;
2716 val
* var
/* : null */;
2717 val
* var_node_list
/* var node_list: nullable Object */;
2718 val
* var1
/* : nullable Object */;
2719 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2720 val
* var2
/* : nullable Object */;
2721 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2722 val
* var3
/* : nullable Object */;
2723 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2724 val
* var4
/* : Array[Object] */;
2725 val
* var_listnode4
/* var listnode4: Array[Object] */;
2726 val
* var5
/* : Array[Object] */;
2727 val
* var_listnode6
/* var listnode6: Array[Object] */;
2728 val
* var6
/* : Array[Object] */;
2729 val
* var_listnode10
/* var listnode10: Array[Object] */;
2730 val
* var_listnode3
/* var listnode3: nullable Object */;
2731 short int var7
/* : Bool */;
2734 val
* var8
/* : Array[Object] */;
2735 val
* var_listnode5
/* var listnode5: nullable Object */;
2736 short int var9
/* : Bool */;
2739 val
* var12
/* : Array[Object] */;
2740 val
* var13
/* : Array[Object] */;
2741 val
* var_listnode9
/* var listnode9: Array[Object] */;
2742 val
* var_listnode8
/* var listnode8: nullable Object */;
2743 short int var14
/* : Bool */;
2746 val
* var17
/* : Array[Object] */;
2747 val
* var18
/* : ATopClassdef */;
2748 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable ATopClassdef */;
2749 val
* var19
/* : null */;
2750 short int var20
/* : Bool */;
2751 val
* var21
/* : AModule */;
2752 val
* var22
/* : null */;
2753 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
2754 long var23
/* : Int */;
2755 long var24
/* : Int */;
2758 var_node_list
= var
;
2759 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2760 var_nodearraylist3
= var1
;
2761 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2762 var_nodearraylist2
= var2
;
2763 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2764 var_nodearraylist1
= var3
;
2765 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
2766 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
2767 CHECK_NEW_array__Array(var4
);
2768 var_listnode4
= var4
;
2769 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
2770 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
2771 CHECK_NEW_array__Array(var5
);
2772 var_listnode6
= var5
;
2773 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
2774 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
2775 CHECK_NEW_array__Array(var6
);
2776 var_listnode10
= var6
;
2777 var_listnode3
= var_nodearraylist1
;
2778 /* <var_listnode3:nullable Object> isa Array[Object] */
2779 cltype
= type_array__Arraykernel__Object
.color
;
2780 idtype
= type_array__Arraykernel__Object
.id
;
2781 if(var_listnode3
== NULL
) {
2784 if(cltype
>= var_listnode3
->type
->table_size
) {
2787 var7
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
2791 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2678);
2794 var8
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction22>*/;
2795 var_listnode4
= var8
;
2796 var_listnode5
= var_nodearraylist2
;
2797 /* <var_listnode5:nullable Object> isa Array[Object] */
2798 cltype10
= type_array__Arraykernel__Object
.color
;
2799 idtype11
= type_array__Arraykernel__Object
.id
;
2800 if(var_listnode5
== NULL
) {
2803 if(cltype10
>= var_listnode5
->type
->table_size
) {
2806 var9
= var_listnode5
->type
->type_table
[cltype10
] == idtype11
;
2810 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2681);
2813 var12
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction22>*/;
2814 var_listnode6
= var12
;
2815 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
2816 ((void (*)(val
*))(var13
->class->vft
[COLOR_array__Array__init
]))(var13
) /* init on <var13:Array[Object]>*/;
2817 CHECK_NEW_array__Array(var13
);
2818 var_listnode9
= var13
;
2819 var_listnode8
= var_nodearraylist3
;
2820 /* <var_listnode8:nullable Object> isa Array[Object] */
2821 cltype15
= type_array__Arraykernel__Object
.color
;
2822 idtype16
= type_array__Arraykernel__Object
.id
;
2823 if(var_listnode8
== NULL
) {
2826 if(cltype15
>= var_listnode8
->type
->table_size
) {
2829 var14
= var_listnode8
->type
->type_table
[cltype15
] == idtype16
;
2833 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2685);
2836 var17
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode9
, var_listnode8
) /* concat on <self:ReduceAction22>*/;
2837 var_listnode9
= var17
;
2838 var18
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
2839 ((void (*)(val
*, val
*))(var18
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var18
, var_listnode9
) /* init_atopclassdef on <var18:ATopClassdef>*/;
2840 CHECK_NEW_parser_nodes__ATopClassdef(var18
);
2841 var_pclassdefnode7
= var18
;
2843 if (var_pclassdefnode7
== NULL
) {
2844 var20
= 0; /* is null */
2846 var20
= 1; /* arg is null and recv is not */
2849 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode7
) /* add on <var_listnode10:Array[Object]>*/;
2852 var21
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
2854 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var21
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var21
, var22
, var_listnode4
, var_listnode6
, var_listnode10
) /* init_amodule on <var21:AModule>*/;
2855 CHECK_NEW_parser_nodes__AModule(var21
);
2856 var_pmodulenode1
= var21
;
2857 var_node_list
= var_pmodulenode1
;
2858 var23
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction22> */
2859 var24
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var23
) /* go_to on <var_p:Parser>*/;
2860 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var24
, var_node_list
) /* push on <var_p:Parser>*/;
2863 /* method parser#ReduceAction22#action for (self: Object, Parser) */
2864 void VIRTUAL_parser__ReduceAction22__action(val
* self
, val
* p0
) {
2865 parser__ReduceAction22__action(self
, p0
);
2868 /* method parser#ReduceAction23#action for (self: ReduceAction23, Parser) */
2869 void parser__ReduceAction23__action(val
* self
, val
* p0
) {
2870 val
* var_p
/* var p: Parser */;
2871 val
* var
/* : null */;
2872 val
* var_node_list
/* var node_list: nullable Object */;
2873 val
* var1
/* : nullable Object */;
2874 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2875 val
* var2
/* : nullable Object */;
2876 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2877 val
* var3
/* : nullable Object */;
2878 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2879 val
* var4
/* : nullable Object */;
2880 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2881 val
* var5
/* : Array[Object] */;
2882 val
* var_listnode4
/* var listnode4: Array[Object] */;
2883 val
* var6
/* : Array[Object] */;
2884 val
* var_listnode6
/* var listnode6: Array[Object] */;
2885 val
* var7
/* : Array[Object] */;
2886 val
* var_listnode10
/* var listnode10: Array[Object] */;
2887 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
2888 short int var8
/* : Bool */;
2891 val
* var_listnode3
/* var listnode3: nullable Object */;
2892 short int var9
/* : Bool */;
2895 val
* var12
/* : Array[Object] */;
2896 val
* var_listnode5
/* var listnode5: nullable Object */;
2897 short int var13
/* : Bool */;
2900 val
* var16
/* : Array[Object] */;
2901 val
* var17
/* : Array[Object] */;
2902 val
* var_listnode9
/* var listnode9: Array[Object] */;
2903 val
* var_listnode8
/* var listnode8: nullable Object */;
2904 short int var18
/* : Bool */;
2907 val
* var21
/* : Array[Object] */;
2908 val
* var22
/* : ATopClassdef */;
2909 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable ATopClassdef */;
2910 val
* var23
/* : null */;
2911 short int var24
/* : Bool */;
2912 val
* var25
/* : AModule */;
2913 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
2914 long var26
/* : Int */;
2915 long var27
/* : Int */;
2918 var_node_list
= var
;
2919 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2920 var_nodearraylist4
= var1
;
2921 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2922 var_nodearraylist3
= var2
;
2923 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2924 var_nodearraylist2
= var3
;
2925 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2926 var_nodearraylist1
= var4
;
2927 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
2928 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
2929 CHECK_NEW_array__Array(var5
);
2930 var_listnode4
= var5
;
2931 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
2932 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
2933 CHECK_NEW_array__Array(var6
);
2934 var_listnode6
= var6
;
2935 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
2936 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
2937 CHECK_NEW_array__Array(var7
);
2938 var_listnode10
= var7
;
2939 var_pmoduledeclnode2
= var_nodearraylist1
;
2940 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
2941 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
2942 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
2943 if(var_pmoduledeclnode2
== NULL
) {
2946 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
2949 var8
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
2953 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2716);
2956 var_listnode3
= var_nodearraylist2
;
2957 /* <var_listnode3:nullable Object> isa Array[Object] */
2958 cltype10
= type_array__Arraykernel__Object
.color
;
2959 idtype11
= type_array__Arraykernel__Object
.id
;
2960 if(var_listnode3
== NULL
) {
2963 if(cltype10
>= var_listnode3
->type
->table_size
) {
2966 var9
= var_listnode3
->type
->type_table
[cltype10
] == idtype11
;
2970 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2718);
2973 var12
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction23>*/;
2974 var_listnode4
= var12
;
2975 var_listnode5
= var_nodearraylist3
;
2976 /* <var_listnode5:nullable Object> isa Array[Object] */
2977 cltype14
= type_array__Arraykernel__Object
.color
;
2978 idtype15
= type_array__Arraykernel__Object
.id
;
2979 if(var_listnode5
== NULL
) {
2982 if(cltype14
>= var_listnode5
->type
->table_size
) {
2985 var13
= var_listnode5
->type
->type_table
[cltype14
] == idtype15
;
2989 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2721);
2992 var16
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction23>*/;
2993 var_listnode6
= var16
;
2994 var17
= NEW_array__Array(&type_array__Arraykernel__Object
);
2995 ((void (*)(val
*))(var17
->class->vft
[COLOR_array__Array__init
]))(var17
) /* init on <var17:Array[Object]>*/;
2996 CHECK_NEW_array__Array(var17
);
2997 var_listnode9
= var17
;
2998 var_listnode8
= var_nodearraylist4
;
2999 /* <var_listnode8:nullable Object> isa Array[Object] */
3000 cltype19
= type_array__Arraykernel__Object
.color
;
3001 idtype20
= type_array__Arraykernel__Object
.id
;
3002 if(var_listnode8
== NULL
) {
3005 if(cltype19
>= var_listnode8
->type
->table_size
) {
3008 var18
= var_listnode8
->type
->type_table
[cltype19
] == idtype20
;
3012 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2725);
3015 var21
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode9
, var_listnode8
) /* concat on <self:ReduceAction23>*/;
3016 var_listnode9
= var21
;
3017 var22
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
3018 ((void (*)(val
*, val
*))(var22
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var22
, var_listnode9
) /* init_atopclassdef on <var22:ATopClassdef>*/;
3019 CHECK_NEW_parser_nodes__ATopClassdef(var22
);
3020 var_pclassdefnode7
= var22
;
3022 if (var_pclassdefnode7
== NULL
) {
3023 var24
= 0; /* is null */
3025 var24
= 1; /* arg is null and recv is not */
3028 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode7
) /* add on <var_listnode10:Array[Object]>*/;
3031 var25
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
3032 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var25
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var25
, var_pmoduledeclnode2
, var_listnode4
, var_listnode6
, var_listnode10
) /* init_amodule on <var25:AModule>*/;
3033 CHECK_NEW_parser_nodes__AModule(var25
);
3034 var_pmodulenode1
= var25
;
3035 var_node_list
= var_pmodulenode1
;
3036 var26
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction23> */
3037 var27
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var26
) /* go_to on <var_p:Parser>*/;
3038 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var27
, var_node_list
) /* push on <var_p:Parser>*/;
3041 /* method parser#ReduceAction23#action for (self: Object, Parser) */
3042 void VIRTUAL_parser__ReduceAction23__action(val
* self
, val
* p0
) {
3043 parser__ReduceAction23__action(self
, p0
);
3046 /* method parser#ReduceAction24#action for (self: ReduceAction24, Parser) */
3047 void parser__ReduceAction24__action(val
* self
, val
* p0
) {
3048 val
* var_p
/* var p: Parser */;
3049 val
* var
/* : null */;
3050 val
* var_node_list
/* var node_list: nullable Object */;
3051 val
* var1
/* : nullable Object */;
3052 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3053 val
* var2
/* : nullable Object */;
3054 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3055 val
* var3
/* : Array[Object] */;
3056 val
* var_listnode3
/* var listnode3: Array[Object] */;
3057 val
* var4
/* : Array[Object] */;
3058 val
* var_listnode4
/* var listnode4: Array[Object] */;
3059 val
* var5
/* : Array[Object] */;
3060 val
* var_listnode9
/* var listnode9: Array[Object] */;
3061 val
* var_listnode5
/* var listnode5: nullable Object */;
3062 short int var6
/* : Bool */;
3065 val
* var7
/* : Array[Object] */;
3066 val
* var_listnode8
/* var listnode8: Array[Object] */;
3067 val
* var_listnode7
/* var listnode7: nullable Object */;
3068 short int var8
/* : Bool */;
3071 val
* var11
/* : Array[Object] */;
3072 val
* var12
/* : ATopClassdef */;
3073 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable ATopClassdef */;
3074 val
* var13
/* : Array[Object] */;
3075 val
* var14
/* : null */;
3076 short int var15
/* : Bool */;
3077 val
* var16
/* : AModule */;
3078 val
* var17
/* : null */;
3079 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
3080 long var18
/* : Int */;
3081 long var19
/* : Int */;
3084 var_node_list
= var
;
3085 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3086 var_nodearraylist2
= var1
;
3087 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3088 var_nodearraylist1
= var2
;
3089 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
3090 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
3091 CHECK_NEW_array__Array(var3
);
3092 var_listnode3
= var3
;
3093 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
3094 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
3095 CHECK_NEW_array__Array(var4
);
3096 var_listnode4
= var4
;
3097 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
3098 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
3099 CHECK_NEW_array__Array(var5
);
3100 var_listnode9
= var5
;
3101 var_listnode5
= var_nodearraylist1
;
3102 /* <var_listnode5:nullable Object> isa Array[Object] */
3103 cltype
= type_array__Arraykernel__Object
.color
;
3104 idtype
= type_array__Arraykernel__Object
.id
;
3105 if(var_listnode5
== NULL
) {
3108 if(cltype
>= var_listnode5
->type
->table_size
) {
3111 var6
= var_listnode5
->type
->type_table
[cltype
] == idtype
;
3115 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2754);
3118 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
3119 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
3120 CHECK_NEW_array__Array(var7
);
3121 var_listnode8
= var7
;
3122 var_listnode7
= var_nodearraylist2
;
3123 /* <var_listnode7:nullable Object> isa Array[Object] */
3124 cltype9
= type_array__Arraykernel__Object
.color
;
3125 idtype10
= type_array__Arraykernel__Object
.id
;
3126 if(var_listnode7
== NULL
) {
3129 if(cltype9
>= var_listnode7
->type
->table_size
) {
3132 var8
= var_listnode7
->type
->type_table
[cltype9
] == idtype10
;
3136 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2757);
3139 var11
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode7
) /* concat on <self:ReduceAction24>*/;
3140 var_listnode8
= var11
;
3141 var12
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
3142 ((void (*)(val
*, val
*))(var12
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var12
, var_listnode8
) /* init_atopclassdef on <var12:ATopClassdef>*/;
3143 CHECK_NEW_parser_nodes__ATopClassdef(var12
);
3144 var_pclassdefnode6
= var12
;
3145 var13
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode9
, var_listnode5
) /* concat on <self:ReduceAction24>*/;
3146 var_listnode9
= var13
;
3148 if (var_pclassdefnode6
== NULL
) {
3149 var15
= 0; /* is null */
3151 var15
= 1; /* arg is null and recv is not */
3154 ((void (*)(val
*, val
*))(var_listnode9
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode9
, var_pclassdefnode6
) /* add on <var_listnode9:Array[Object]>*/;
3157 var16
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
3159 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var16
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var16
, var17
, var_listnode3
, var_listnode4
, var_listnode9
) /* init_amodule on <var16:AModule>*/;
3160 CHECK_NEW_parser_nodes__AModule(var16
);
3161 var_pmodulenode1
= var16
;
3162 var_node_list
= var_pmodulenode1
;
3163 var18
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction24> */
3164 var19
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var18
) /* go_to on <var_p:Parser>*/;
3165 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var19
, var_node_list
) /* push on <var_p:Parser>*/;
3168 /* method parser#ReduceAction24#action for (self: Object, Parser) */
3169 void VIRTUAL_parser__ReduceAction24__action(val
* self
, val
* p0
) {
3170 parser__ReduceAction24__action(self
, p0
);
3173 /* method parser#ReduceAction25#action for (self: ReduceAction25, Parser) */
3174 void parser__ReduceAction25__action(val
* self
, val
* p0
) {
3175 val
* var_p
/* var p: Parser */;
3176 val
* var
/* : null */;
3177 val
* var_node_list
/* var node_list: nullable Object */;
3178 val
* var1
/* : nullable Object */;
3179 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3180 val
* var2
/* : nullable Object */;
3181 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3182 val
* var3
/* : nullable Object */;
3183 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3184 val
* var4
/* : Array[Object] */;
3185 val
* var_listnode3
/* var listnode3: Array[Object] */;
3186 val
* var5
/* : Array[Object] */;
3187 val
* var_listnode4
/* var listnode4: Array[Object] */;
3188 val
* var6
/* : Array[Object] */;
3189 val
* var_listnode9
/* var listnode9: Array[Object] */;
3190 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
3191 short int var7
/* : Bool */;
3194 val
* var_listnode5
/* var listnode5: nullable Object */;
3195 short int var8
/* : Bool */;
3198 val
* var11
/* : Array[Object] */;
3199 val
* var_listnode8
/* var listnode8: Array[Object] */;
3200 val
* var_listnode7
/* var listnode7: nullable Object */;
3201 short int var12
/* : Bool */;
3204 val
* var15
/* : Array[Object] */;
3205 val
* var16
/* : ATopClassdef */;
3206 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable ATopClassdef */;
3207 val
* var17
/* : Array[Object] */;
3208 val
* var18
/* : null */;
3209 short int var19
/* : Bool */;
3210 val
* var20
/* : AModule */;
3211 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
3212 long var21
/* : Int */;
3213 long var22
/* : Int */;
3216 var_node_list
= var
;
3217 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3218 var_nodearraylist3
= var1
;
3219 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3220 var_nodearraylist2
= var2
;
3221 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3222 var_nodearraylist1
= var3
;
3223 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
3224 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
3225 CHECK_NEW_array__Array(var4
);
3226 var_listnode3
= var4
;
3227 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
3228 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
3229 CHECK_NEW_array__Array(var5
);
3230 var_listnode4
= var5
;
3231 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
3232 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
3233 CHECK_NEW_array__Array(var6
);
3234 var_listnode9
= var6
;
3235 var_pmoduledeclnode2
= var_nodearraylist1
;
3236 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
3237 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
3238 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
3239 if(var_pmoduledeclnode2
== NULL
) {
3242 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
3245 var7
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
3249 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2788);
3252 var_listnode5
= var_nodearraylist2
;
3253 /* <var_listnode5:nullable Object> isa Array[Object] */
3254 cltype9
= type_array__Arraykernel__Object
.color
;
3255 idtype10
= type_array__Arraykernel__Object
.id
;
3256 if(var_listnode5
== NULL
) {
3259 if(cltype9
>= var_listnode5
->type
->table_size
) {
3262 var8
= var_listnode5
->type
->type_table
[cltype9
] == idtype10
;
3266 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2790);
3269 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
3270 ((void (*)(val
*))(var11
->class->vft
[COLOR_array__Array__init
]))(var11
) /* init on <var11:Array[Object]>*/;
3271 CHECK_NEW_array__Array(var11
);
3272 var_listnode8
= var11
;
3273 var_listnode7
= var_nodearraylist3
;
3274 /* <var_listnode7:nullable Object> isa Array[Object] */
3275 cltype13
= type_array__Arraykernel__Object
.color
;
3276 idtype14
= type_array__Arraykernel__Object
.id
;
3277 if(var_listnode7
== NULL
) {
3280 if(cltype13
>= var_listnode7
->type
->table_size
) {
3283 var12
= var_listnode7
->type
->type_table
[cltype13
] == idtype14
;
3287 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2793);
3290 var15
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode7
) /* concat on <self:ReduceAction25>*/;
3291 var_listnode8
= var15
;
3292 var16
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
3293 ((void (*)(val
*, val
*))(var16
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var16
, var_listnode8
) /* init_atopclassdef on <var16:ATopClassdef>*/;
3294 CHECK_NEW_parser_nodes__ATopClassdef(var16
);
3295 var_pclassdefnode6
= var16
;
3296 var17
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode9
, var_listnode5
) /* concat on <self:ReduceAction25>*/;
3297 var_listnode9
= var17
;
3299 if (var_pclassdefnode6
== NULL
) {
3300 var19
= 0; /* is null */
3302 var19
= 1; /* arg is null and recv is not */
3305 ((void (*)(val
*, val
*))(var_listnode9
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode9
, var_pclassdefnode6
) /* add on <var_listnode9:Array[Object]>*/;
3308 var20
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
3309 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var20
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var20
, var_pmoduledeclnode2
, var_listnode3
, var_listnode4
, var_listnode9
) /* init_amodule on <var20:AModule>*/;
3310 CHECK_NEW_parser_nodes__AModule(var20
);
3311 var_pmodulenode1
= var20
;
3312 var_node_list
= var_pmodulenode1
;
3313 var21
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction25> */
3314 var22
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var21
) /* go_to on <var_p:Parser>*/;
3315 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var22
, var_node_list
) /* push on <var_p:Parser>*/;
3318 /* method parser#ReduceAction25#action for (self: Object, Parser) */
3319 void VIRTUAL_parser__ReduceAction25__action(val
* self
, val
* p0
) {
3320 parser__ReduceAction25__action(self
, p0
);
3323 /* method parser#ReduceAction26#action for (self: ReduceAction26, Parser) */
3324 void parser__ReduceAction26__action(val
* self
, val
* p0
) {
3325 val
* var_p
/* var p: Parser */;
3326 val
* var
/* : null */;
3327 val
* var_node_list
/* var node_list: nullable Object */;
3328 val
* var1
/* : nullable Object */;
3329 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3330 val
* var2
/* : nullable Object */;
3331 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3332 val
* var3
/* : nullable Object */;
3333 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3334 val
* var4
/* : Array[Object] */;
3335 val
* var_listnode4
/* var listnode4: Array[Object] */;
3336 val
* var5
/* : Array[Object] */;
3337 val
* var_listnode5
/* var listnode5: Array[Object] */;
3338 val
* var6
/* : Array[Object] */;
3339 val
* var_listnode10
/* var listnode10: Array[Object] */;
3340 val
* var_listnode3
/* var listnode3: nullable Object */;
3341 short int var7
/* : Bool */;
3344 val
* var8
/* : Array[Object] */;
3345 val
* var_listnode6
/* var listnode6: nullable Object */;
3346 short int var9
/* : Bool */;
3349 val
* var12
/* : Array[Object] */;
3350 val
* var_listnode9
/* var listnode9: Array[Object] */;
3351 val
* var_listnode8
/* var listnode8: nullable Object */;
3352 short int var13
/* : Bool */;
3355 val
* var16
/* : Array[Object] */;
3356 val
* var17
/* : ATopClassdef */;
3357 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable ATopClassdef */;
3358 val
* var18
/* : Array[Object] */;
3359 val
* var19
/* : null */;
3360 short int var20
/* : Bool */;
3361 val
* var21
/* : AModule */;
3362 val
* var22
/* : null */;
3363 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
3364 long var23
/* : Int */;
3365 long var24
/* : Int */;
3368 var_node_list
= var
;
3369 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3370 var_nodearraylist3
= var1
;
3371 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3372 var_nodearraylist2
= var2
;
3373 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3374 var_nodearraylist1
= var3
;
3375 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
3376 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
3377 CHECK_NEW_array__Array(var4
);
3378 var_listnode4
= var4
;
3379 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
3380 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
3381 CHECK_NEW_array__Array(var5
);
3382 var_listnode5
= var5
;
3383 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
3384 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
3385 CHECK_NEW_array__Array(var6
);
3386 var_listnode10
= var6
;
3387 var_listnode3
= var_nodearraylist1
;
3388 /* <var_listnode3:nullable Object> isa Array[Object] */
3389 cltype
= type_array__Arraykernel__Object
.color
;
3390 idtype
= type_array__Arraykernel__Object
.id
;
3391 if(var_listnode3
== NULL
) {
3394 if(cltype
>= var_listnode3
->type
->table_size
) {
3397 var7
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
3401 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2824);
3404 var8
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction26>*/;
3405 var_listnode4
= var8
;
3406 var_listnode6
= var_nodearraylist2
;
3407 /* <var_listnode6:nullable Object> isa Array[Object] */
3408 cltype10
= type_array__Arraykernel__Object
.color
;
3409 idtype11
= type_array__Arraykernel__Object
.id
;
3410 if(var_listnode6
== NULL
) {
3413 if(cltype10
>= var_listnode6
->type
->table_size
) {
3416 var9
= var_listnode6
->type
->type_table
[cltype10
] == idtype11
;
3420 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2827);
3423 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
3424 ((void (*)(val
*))(var12
->class->vft
[COLOR_array__Array__init
]))(var12
) /* init on <var12:Array[Object]>*/;
3425 CHECK_NEW_array__Array(var12
);
3426 var_listnode9
= var12
;
3427 var_listnode8
= var_nodearraylist3
;
3428 /* <var_listnode8:nullable Object> isa Array[Object] */
3429 cltype14
= type_array__Arraykernel__Object
.color
;
3430 idtype15
= type_array__Arraykernel__Object
.id
;
3431 if(var_listnode8
== NULL
) {
3434 if(cltype14
>= var_listnode8
->type
->table_size
) {
3437 var13
= var_listnode8
->type
->type_table
[cltype14
] == idtype15
;
3441 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2830);
3444 var16
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode9
, var_listnode8
) /* concat on <self:ReduceAction26>*/;
3445 var_listnode9
= var16
;
3446 var17
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
3447 ((void (*)(val
*, val
*))(var17
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var17
, var_listnode9
) /* init_atopclassdef on <var17:ATopClassdef>*/;
3448 CHECK_NEW_parser_nodes__ATopClassdef(var17
);
3449 var_pclassdefnode7
= var17
;
3450 var18
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode10
, var_listnode6
) /* concat on <self:ReduceAction26>*/;
3451 var_listnode10
= var18
;
3453 if (var_pclassdefnode7
== NULL
) {
3454 var20
= 0; /* is null */
3456 var20
= 1; /* arg is null and recv is not */
3459 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode7
) /* add on <var_listnode10:Array[Object]>*/;
3462 var21
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
3464 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var21
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var21
, var22
, var_listnode4
, var_listnode5
, var_listnode10
) /* init_amodule on <var21:AModule>*/;
3465 CHECK_NEW_parser_nodes__AModule(var21
);
3466 var_pmodulenode1
= var21
;
3467 var_node_list
= var_pmodulenode1
;
3468 var23
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction26> */
3469 var24
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var23
) /* go_to on <var_p:Parser>*/;
3470 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var24
, var_node_list
) /* push on <var_p:Parser>*/;
3473 /* method parser#ReduceAction26#action for (self: Object, Parser) */
3474 void VIRTUAL_parser__ReduceAction26__action(val
* self
, val
* p0
) {
3475 parser__ReduceAction26__action(self
, p0
);
3478 /* method parser#ReduceAction27#action for (self: ReduceAction27, Parser) */
3479 void parser__ReduceAction27__action(val
* self
, val
* p0
) {
3480 val
* var_p
/* var p: Parser */;
3481 val
* var
/* : null */;
3482 val
* var_node_list
/* var node_list: nullable Object */;
3483 val
* var1
/* : nullable Object */;
3484 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3485 val
* var2
/* : nullable Object */;
3486 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3487 val
* var3
/* : nullable Object */;
3488 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3489 val
* var4
/* : nullable Object */;
3490 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3491 val
* var5
/* : Array[Object] */;
3492 val
* var_listnode4
/* var listnode4: Array[Object] */;
3493 val
* var6
/* : Array[Object] */;
3494 val
* var_listnode5
/* var listnode5: Array[Object] */;
3495 val
* var7
/* : Array[Object] */;
3496 val
* var_listnode10
/* var listnode10: Array[Object] */;
3497 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
3498 short int var8
/* : Bool */;
3501 val
* var_listnode3
/* var listnode3: nullable Object */;
3502 short int var9
/* : Bool */;
3505 val
* var12
/* : Array[Object] */;
3506 val
* var_listnode6
/* var listnode6: nullable Object */;
3507 short int var13
/* : Bool */;
3510 val
* var16
/* : Array[Object] */;
3511 val
* var_listnode9
/* var listnode9: Array[Object] */;
3512 val
* var_listnode8
/* var listnode8: nullable Object */;
3513 short int var17
/* : Bool */;
3516 val
* var20
/* : Array[Object] */;
3517 val
* var21
/* : ATopClassdef */;
3518 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable ATopClassdef */;
3519 val
* var22
/* : Array[Object] */;
3520 val
* var23
/* : null */;
3521 short int var24
/* : Bool */;
3522 val
* var25
/* : AModule */;
3523 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
3524 long var26
/* : Int */;
3525 long var27
/* : Int */;
3528 var_node_list
= var
;
3529 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3530 var_nodearraylist4
= var1
;
3531 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3532 var_nodearraylist3
= var2
;
3533 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3534 var_nodearraylist2
= var3
;
3535 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3536 var_nodearraylist1
= var4
;
3537 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
3538 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
3539 CHECK_NEW_array__Array(var5
);
3540 var_listnode4
= var5
;
3541 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
3542 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
3543 CHECK_NEW_array__Array(var6
);
3544 var_listnode5
= var6
;
3545 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
3546 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
3547 CHECK_NEW_array__Array(var7
);
3548 var_listnode10
= var7
;
3549 var_pmoduledeclnode2
= var_nodearraylist1
;
3550 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
3551 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
3552 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
3553 if(var_pmoduledeclnode2
== NULL
) {
3556 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
3559 var8
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
3563 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2862);
3566 var_listnode3
= var_nodearraylist2
;
3567 /* <var_listnode3:nullable Object> isa Array[Object] */
3568 cltype10
= type_array__Arraykernel__Object
.color
;
3569 idtype11
= type_array__Arraykernel__Object
.id
;
3570 if(var_listnode3
== NULL
) {
3573 if(cltype10
>= var_listnode3
->type
->table_size
) {
3576 var9
= var_listnode3
->type
->type_table
[cltype10
] == idtype11
;
3580 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2864);
3583 var12
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction27>*/;
3584 var_listnode4
= var12
;
3585 var_listnode6
= var_nodearraylist3
;
3586 /* <var_listnode6:nullable Object> isa Array[Object] */
3587 cltype14
= type_array__Arraykernel__Object
.color
;
3588 idtype15
= type_array__Arraykernel__Object
.id
;
3589 if(var_listnode6
== NULL
) {
3592 if(cltype14
>= var_listnode6
->type
->table_size
) {
3595 var13
= var_listnode6
->type
->type_table
[cltype14
] == idtype15
;
3599 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2867);
3602 var16
= NEW_array__Array(&type_array__Arraykernel__Object
);
3603 ((void (*)(val
*))(var16
->class->vft
[COLOR_array__Array__init
]))(var16
) /* init on <var16:Array[Object]>*/;
3604 CHECK_NEW_array__Array(var16
);
3605 var_listnode9
= var16
;
3606 var_listnode8
= var_nodearraylist4
;
3607 /* <var_listnode8:nullable Object> isa Array[Object] */
3608 cltype18
= type_array__Arraykernel__Object
.color
;
3609 idtype19
= type_array__Arraykernel__Object
.id
;
3610 if(var_listnode8
== NULL
) {
3613 if(cltype18
>= var_listnode8
->type
->table_size
) {
3616 var17
= var_listnode8
->type
->type_table
[cltype18
] == idtype19
;
3620 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2870);
3623 var20
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode9
, var_listnode8
) /* concat on <self:ReduceAction27>*/;
3624 var_listnode9
= var20
;
3625 var21
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
3626 ((void (*)(val
*, val
*))(var21
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var21
, var_listnode9
) /* init_atopclassdef on <var21:ATopClassdef>*/;
3627 CHECK_NEW_parser_nodes__ATopClassdef(var21
);
3628 var_pclassdefnode7
= var21
;
3629 var22
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode10
, var_listnode6
) /* concat on <self:ReduceAction27>*/;
3630 var_listnode10
= var22
;
3632 if (var_pclassdefnode7
== NULL
) {
3633 var24
= 0; /* is null */
3635 var24
= 1; /* arg is null and recv is not */
3638 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode7
) /* add on <var_listnode10:Array[Object]>*/;
3641 var25
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
3642 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var25
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var25
, var_pmoduledeclnode2
, var_listnode4
, var_listnode5
, var_listnode10
) /* init_amodule on <var25:AModule>*/;
3643 CHECK_NEW_parser_nodes__AModule(var25
);
3644 var_pmodulenode1
= var25
;
3645 var_node_list
= var_pmodulenode1
;
3646 var26
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction27> */
3647 var27
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var26
) /* go_to on <var_p:Parser>*/;
3648 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var27
, var_node_list
) /* push on <var_p:Parser>*/;
3651 /* method parser#ReduceAction27#action for (self: Object, Parser) */
3652 void VIRTUAL_parser__ReduceAction27__action(val
* self
, val
* p0
) {
3653 parser__ReduceAction27__action(self
, p0
);
3656 /* method parser#ReduceAction28#action for (self: ReduceAction28, Parser) */
3657 void parser__ReduceAction28__action(val
* self
, val
* p0
) {
3658 val
* var_p
/* var p: Parser */;
3659 val
* var
/* : null */;
3660 val
* var_node_list
/* var node_list: nullable Object */;
3661 val
* var1
/* : nullable Object */;
3662 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3663 val
* var2
/* : nullable Object */;
3664 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3665 val
* var3
/* : nullable Object */;
3666 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3667 val
* var4
/* : Array[Object] */;
3668 val
* var_listnode3
/* var listnode3: Array[Object] */;
3669 val
* var5
/* : Array[Object] */;
3670 val
* var_listnode5
/* var listnode5: Array[Object] */;
3671 val
* var6
/* : Array[Object] */;
3672 val
* var_listnode10
/* var listnode10: Array[Object] */;
3673 val
* var_listnode4
/* var listnode4: nullable Object */;
3674 short int var7
/* : Bool */;
3677 val
* var8
/* : Array[Object] */;
3678 val
* var_listnode6
/* var listnode6: nullable Object */;
3679 short int var9
/* : Bool */;
3682 val
* var12
/* : Array[Object] */;
3683 val
* var_listnode9
/* var listnode9: Array[Object] */;
3684 val
* var_listnode8
/* var listnode8: nullable Object */;
3685 short int var13
/* : Bool */;
3688 val
* var16
/* : Array[Object] */;
3689 val
* var17
/* : ATopClassdef */;
3690 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable ATopClassdef */;
3691 val
* var18
/* : Array[Object] */;
3692 val
* var19
/* : null */;
3693 short int var20
/* : Bool */;
3694 val
* var21
/* : AModule */;
3695 val
* var22
/* : null */;
3696 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
3697 long var23
/* : Int */;
3698 long var24
/* : Int */;
3701 var_node_list
= var
;
3702 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3703 var_nodearraylist3
= var1
;
3704 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3705 var_nodearraylist2
= var2
;
3706 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3707 var_nodearraylist1
= var3
;
3708 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
3709 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
3710 CHECK_NEW_array__Array(var4
);
3711 var_listnode3
= var4
;
3712 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
3713 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
3714 CHECK_NEW_array__Array(var5
);
3715 var_listnode5
= var5
;
3716 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
3717 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
3718 CHECK_NEW_array__Array(var6
);
3719 var_listnode10
= var6
;
3720 var_listnode4
= var_nodearraylist1
;
3721 /* <var_listnode4:nullable Object> isa Array[Object] */
3722 cltype
= type_array__Arraykernel__Object
.color
;
3723 idtype
= type_array__Arraykernel__Object
.id
;
3724 if(var_listnode4
== NULL
) {
3727 if(cltype
>= var_listnode4
->type
->table_size
) {
3730 var7
= var_listnode4
->type
->type_table
[cltype
] == idtype
;
3734 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2901);
3737 var8
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction28>*/;
3738 var_listnode5
= var8
;
3739 var_listnode6
= var_nodearraylist2
;
3740 /* <var_listnode6:nullable Object> isa Array[Object] */
3741 cltype10
= type_array__Arraykernel__Object
.color
;
3742 idtype11
= type_array__Arraykernel__Object
.id
;
3743 if(var_listnode6
== NULL
) {
3746 if(cltype10
>= var_listnode6
->type
->table_size
) {
3749 var9
= var_listnode6
->type
->type_table
[cltype10
] == idtype11
;
3753 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2904);
3756 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
3757 ((void (*)(val
*))(var12
->class->vft
[COLOR_array__Array__init
]))(var12
) /* init on <var12:Array[Object]>*/;
3758 CHECK_NEW_array__Array(var12
);
3759 var_listnode9
= var12
;
3760 var_listnode8
= var_nodearraylist3
;
3761 /* <var_listnode8:nullable Object> isa Array[Object] */
3762 cltype14
= type_array__Arraykernel__Object
.color
;
3763 idtype15
= type_array__Arraykernel__Object
.id
;
3764 if(var_listnode8
== NULL
) {
3767 if(cltype14
>= var_listnode8
->type
->table_size
) {
3770 var13
= var_listnode8
->type
->type_table
[cltype14
] == idtype15
;
3774 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2907);
3777 var16
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode9
, var_listnode8
) /* concat on <self:ReduceAction28>*/;
3778 var_listnode9
= var16
;
3779 var17
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
3780 ((void (*)(val
*, val
*))(var17
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var17
, var_listnode9
) /* init_atopclassdef on <var17:ATopClassdef>*/;
3781 CHECK_NEW_parser_nodes__ATopClassdef(var17
);
3782 var_pclassdefnode7
= var17
;
3783 var18
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode10
, var_listnode6
) /* concat on <self:ReduceAction28>*/;
3784 var_listnode10
= var18
;
3786 if (var_pclassdefnode7
== NULL
) {
3787 var20
= 0; /* is null */
3789 var20
= 1; /* arg is null and recv is not */
3792 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode7
) /* add on <var_listnode10:Array[Object]>*/;
3795 var21
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
3797 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var21
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var21
, var22
, var_listnode3
, var_listnode5
, var_listnode10
) /* init_amodule on <var21:AModule>*/;
3798 CHECK_NEW_parser_nodes__AModule(var21
);
3799 var_pmodulenode1
= var21
;
3800 var_node_list
= var_pmodulenode1
;
3801 var23
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction28> */
3802 var24
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var23
) /* go_to on <var_p:Parser>*/;
3803 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var24
, var_node_list
) /* push on <var_p:Parser>*/;
3806 /* method parser#ReduceAction28#action for (self: Object, Parser) */
3807 void VIRTUAL_parser__ReduceAction28__action(val
* self
, val
* p0
) {
3808 parser__ReduceAction28__action(self
, p0
);
3811 /* method parser#ReduceAction29#action for (self: ReduceAction29, Parser) */
3812 void parser__ReduceAction29__action(val
* self
, val
* p0
) {
3813 val
* var_p
/* var p: Parser */;
3814 val
* var
/* : null */;
3815 val
* var_node_list
/* var node_list: nullable Object */;
3816 val
* var1
/* : nullable Object */;
3817 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3818 val
* var2
/* : nullable Object */;
3819 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3820 val
* var3
/* : nullable Object */;
3821 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3822 val
* var4
/* : nullable Object */;
3823 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3824 val
* var5
/* : Array[Object] */;
3825 val
* var_listnode3
/* var listnode3: Array[Object] */;
3826 val
* var6
/* : Array[Object] */;
3827 val
* var_listnode5
/* var listnode5: Array[Object] */;
3828 val
* var7
/* : Array[Object] */;
3829 val
* var_listnode10
/* var listnode10: Array[Object] */;
3830 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
3831 short int var8
/* : Bool */;
3834 val
* var_listnode4
/* var listnode4: nullable Object */;
3835 short int var9
/* : Bool */;
3838 val
* var12
/* : Array[Object] */;
3839 val
* var_listnode6
/* var listnode6: nullable Object */;
3840 short int var13
/* : Bool */;
3843 val
* var16
/* : Array[Object] */;
3844 val
* var_listnode9
/* var listnode9: Array[Object] */;
3845 val
* var_listnode8
/* var listnode8: nullable Object */;
3846 short int var17
/* : Bool */;
3849 val
* var20
/* : Array[Object] */;
3850 val
* var21
/* : ATopClassdef */;
3851 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable ATopClassdef */;
3852 val
* var22
/* : Array[Object] */;
3853 val
* var23
/* : null */;
3854 short int var24
/* : Bool */;
3855 val
* var25
/* : AModule */;
3856 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
3857 long var26
/* : Int */;
3858 long var27
/* : Int */;
3861 var_node_list
= var
;
3862 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3863 var_nodearraylist4
= var1
;
3864 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3865 var_nodearraylist3
= var2
;
3866 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3867 var_nodearraylist2
= var3
;
3868 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3869 var_nodearraylist1
= var4
;
3870 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
3871 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
3872 CHECK_NEW_array__Array(var5
);
3873 var_listnode3
= var5
;
3874 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
3875 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
3876 CHECK_NEW_array__Array(var6
);
3877 var_listnode5
= var6
;
3878 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
3879 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
3880 CHECK_NEW_array__Array(var7
);
3881 var_listnode10
= var7
;
3882 var_pmoduledeclnode2
= var_nodearraylist1
;
3883 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
3884 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
3885 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
3886 if(var_pmoduledeclnode2
== NULL
) {
3889 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
3892 var8
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
3896 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2939);
3899 var_listnode4
= var_nodearraylist2
;
3900 /* <var_listnode4:nullable Object> isa Array[Object] */
3901 cltype10
= type_array__Arraykernel__Object
.color
;
3902 idtype11
= type_array__Arraykernel__Object
.id
;
3903 if(var_listnode4
== NULL
) {
3906 if(cltype10
>= var_listnode4
->type
->table_size
) {
3909 var9
= var_listnode4
->type
->type_table
[cltype10
] == idtype11
;
3913 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2941);
3916 var12
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction29>*/;
3917 var_listnode5
= var12
;
3918 var_listnode6
= var_nodearraylist3
;
3919 /* <var_listnode6:nullable Object> isa Array[Object] */
3920 cltype14
= type_array__Arraykernel__Object
.color
;
3921 idtype15
= type_array__Arraykernel__Object
.id
;
3922 if(var_listnode6
== NULL
) {
3925 if(cltype14
>= var_listnode6
->type
->table_size
) {
3928 var13
= var_listnode6
->type
->type_table
[cltype14
] == idtype15
;
3932 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2944);
3935 var16
= NEW_array__Array(&type_array__Arraykernel__Object
);
3936 ((void (*)(val
*))(var16
->class->vft
[COLOR_array__Array__init
]))(var16
) /* init on <var16:Array[Object]>*/;
3937 CHECK_NEW_array__Array(var16
);
3938 var_listnode9
= var16
;
3939 var_listnode8
= var_nodearraylist4
;
3940 /* <var_listnode8:nullable Object> isa Array[Object] */
3941 cltype18
= type_array__Arraykernel__Object
.color
;
3942 idtype19
= type_array__Arraykernel__Object
.id
;
3943 if(var_listnode8
== NULL
) {
3946 if(cltype18
>= var_listnode8
->type
->table_size
) {
3949 var17
= var_listnode8
->type
->type_table
[cltype18
] == idtype19
;
3953 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2947);
3956 var20
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode9
, var_listnode8
) /* concat on <self:ReduceAction29>*/;
3957 var_listnode9
= var20
;
3958 var21
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
3959 ((void (*)(val
*, val
*))(var21
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var21
, var_listnode9
) /* init_atopclassdef on <var21:ATopClassdef>*/;
3960 CHECK_NEW_parser_nodes__ATopClassdef(var21
);
3961 var_pclassdefnode7
= var21
;
3962 var22
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode10
, var_listnode6
) /* concat on <self:ReduceAction29>*/;
3963 var_listnode10
= var22
;
3965 if (var_pclassdefnode7
== NULL
) {
3966 var24
= 0; /* is null */
3968 var24
= 1; /* arg is null and recv is not */
3971 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode7
) /* add on <var_listnode10:Array[Object]>*/;
3974 var25
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
3975 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var25
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var25
, var_pmoduledeclnode2
, var_listnode3
, var_listnode5
, var_listnode10
) /* init_amodule on <var25:AModule>*/;
3976 CHECK_NEW_parser_nodes__AModule(var25
);
3977 var_pmodulenode1
= var25
;
3978 var_node_list
= var_pmodulenode1
;
3979 var26
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction29> */
3980 var27
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var26
) /* go_to on <var_p:Parser>*/;
3981 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var27
, var_node_list
) /* push on <var_p:Parser>*/;
3984 /* method parser#ReduceAction29#action for (self: Object, Parser) */
3985 void VIRTUAL_parser__ReduceAction29__action(val
* self
, val
* p0
) {
3986 parser__ReduceAction29__action(self
, p0
);
3989 /* method parser#ReduceAction30#action for (self: ReduceAction30, Parser) */
3990 void parser__ReduceAction30__action(val
* self
, val
* p0
) {
3991 val
* var_p
/* var p: Parser */;
3992 val
* var
/* : null */;
3993 val
* var_node_list
/* var node_list: nullable Object */;
3994 val
* var1
/* : nullable Object */;
3995 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3996 val
* var2
/* : nullable Object */;
3997 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3998 val
* var3
/* : nullable Object */;
3999 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4000 val
* var4
/* : nullable Object */;
4001 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4002 val
* var5
/* : Array[Object] */;
4003 val
* var_listnode4
/* var listnode4: Array[Object] */;
4004 val
* var6
/* : Array[Object] */;
4005 val
* var_listnode6
/* var listnode6: Array[Object] */;
4006 val
* var7
/* : Array[Object] */;
4007 val
* var_listnode11
/* var listnode11: Array[Object] */;
4008 val
* var_listnode3
/* var listnode3: nullable Object */;
4009 short int var8
/* : Bool */;
4012 val
* var9
/* : Array[Object] */;
4013 val
* var_listnode5
/* var listnode5: nullable Object */;
4014 short int var10
/* : Bool */;
4017 val
* var13
/* : Array[Object] */;
4018 val
* var_listnode7
/* var listnode7: nullable Object */;
4019 short int var14
/* : Bool */;
4022 val
* var17
/* : Array[Object] */;
4023 val
* var_listnode10
/* var listnode10: Array[Object] */;
4024 val
* var_listnode9
/* var listnode9: nullable Object */;
4025 short int var18
/* : Bool */;
4028 val
* var21
/* : Array[Object] */;
4029 val
* var22
/* : ATopClassdef */;
4030 val
* var_pclassdefnode8
/* var pclassdefnode8: nullable ATopClassdef */;
4031 val
* var23
/* : Array[Object] */;
4032 val
* var24
/* : null */;
4033 short int var25
/* : Bool */;
4034 val
* var26
/* : AModule */;
4035 val
* var27
/* : null */;
4036 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
4037 long var28
/* : Int */;
4038 long var29
/* : Int */;
4041 var_node_list
= var
;
4042 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4043 var_nodearraylist4
= var1
;
4044 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4045 var_nodearraylist3
= var2
;
4046 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4047 var_nodearraylist2
= var3
;
4048 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4049 var_nodearraylist1
= var4
;
4050 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
4051 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
4052 CHECK_NEW_array__Array(var5
);
4053 var_listnode4
= var5
;
4054 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
4055 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
4056 CHECK_NEW_array__Array(var6
);
4057 var_listnode6
= var6
;
4058 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
4059 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
4060 CHECK_NEW_array__Array(var7
);
4061 var_listnode11
= var7
;
4062 var_listnode3
= var_nodearraylist1
;
4063 /* <var_listnode3:nullable Object> isa Array[Object] */
4064 cltype
= type_array__Arraykernel__Object
.color
;
4065 idtype
= type_array__Arraykernel__Object
.id
;
4066 if(var_listnode3
== NULL
) {
4069 if(cltype
>= var_listnode3
->type
->table_size
) {
4072 var8
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
4076 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2979);
4079 var9
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction30>*/;
4080 var_listnode4
= var9
;
4081 var_listnode5
= var_nodearraylist2
;
4082 /* <var_listnode5:nullable Object> isa Array[Object] */
4083 cltype11
= type_array__Arraykernel__Object
.color
;
4084 idtype12
= type_array__Arraykernel__Object
.id
;
4085 if(var_listnode5
== NULL
) {
4088 if(cltype11
>= var_listnode5
->type
->table_size
) {
4091 var10
= var_listnode5
->type
->type_table
[cltype11
] == idtype12
;
4095 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2982);
4098 var13
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction30>*/;
4099 var_listnode6
= var13
;
4100 var_listnode7
= var_nodearraylist3
;
4101 /* <var_listnode7:nullable Object> isa Array[Object] */
4102 cltype15
= type_array__Arraykernel__Object
.color
;
4103 idtype16
= type_array__Arraykernel__Object
.id
;
4104 if(var_listnode7
== NULL
) {
4107 if(cltype15
>= var_listnode7
->type
->table_size
) {
4110 var14
= var_listnode7
->type
->type_table
[cltype15
] == idtype16
;
4114 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2985);
4117 var17
= NEW_array__Array(&type_array__Arraykernel__Object
);
4118 ((void (*)(val
*))(var17
->class->vft
[COLOR_array__Array__init
]))(var17
) /* init on <var17:Array[Object]>*/;
4119 CHECK_NEW_array__Array(var17
);
4120 var_listnode10
= var17
;
4121 var_listnode9
= var_nodearraylist4
;
4122 /* <var_listnode9:nullable Object> isa Array[Object] */
4123 cltype19
= type_array__Arraykernel__Object
.color
;
4124 idtype20
= type_array__Arraykernel__Object
.id
;
4125 if(var_listnode9
== NULL
) {
4128 if(cltype19
>= var_listnode9
->type
->table_size
) {
4131 var18
= var_listnode9
->type
->type_table
[cltype19
] == idtype20
;
4135 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 2988);
4138 var21
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode10
, var_listnode9
) /* concat on <self:ReduceAction30>*/;
4139 var_listnode10
= var21
;
4140 var22
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
4141 ((void (*)(val
*, val
*))(var22
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var22
, var_listnode10
) /* init_atopclassdef on <var22:ATopClassdef>*/;
4142 CHECK_NEW_parser_nodes__ATopClassdef(var22
);
4143 var_pclassdefnode8
= var22
;
4144 var23
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode11
, var_listnode7
) /* concat on <self:ReduceAction30>*/;
4145 var_listnode11
= var23
;
4147 if (var_pclassdefnode8
== NULL
) {
4148 var25
= 0; /* is null */
4150 var25
= 1; /* arg is null and recv is not */
4153 ((void (*)(val
*, val
*))(var_listnode11
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode11
, var_pclassdefnode8
) /* add on <var_listnode11:Array[Object]>*/;
4156 var26
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
4158 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var26
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var26
, var27
, var_listnode4
, var_listnode6
, var_listnode11
) /* init_amodule on <var26:AModule>*/;
4159 CHECK_NEW_parser_nodes__AModule(var26
);
4160 var_pmodulenode1
= var26
;
4161 var_node_list
= var_pmodulenode1
;
4162 var28
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction30> */
4163 var29
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var28
) /* go_to on <var_p:Parser>*/;
4164 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var29
, var_node_list
) /* push on <var_p:Parser>*/;
4167 /* method parser#ReduceAction30#action for (self: Object, Parser) */
4168 void VIRTUAL_parser__ReduceAction30__action(val
* self
, val
* p0
) {
4169 parser__ReduceAction30__action(self
, p0
);
4172 /* method parser#ReduceAction31#action for (self: ReduceAction31, Parser) */
4173 void parser__ReduceAction31__action(val
* self
, val
* p0
) {
4174 val
* var_p
/* var p: Parser */;
4175 val
* var
/* : null */;
4176 val
* var_node_list
/* var node_list: nullable Object */;
4177 val
* var1
/* : nullable Object */;
4178 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4179 val
* var2
/* : nullable Object */;
4180 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4181 val
* var3
/* : nullable Object */;
4182 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4183 val
* var4
/* : nullable Object */;
4184 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4185 val
* var5
/* : nullable Object */;
4186 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4187 val
* var6
/* : Array[Object] */;
4188 val
* var_listnode4
/* var listnode4: Array[Object] */;
4189 val
* var7
/* : Array[Object] */;
4190 val
* var_listnode6
/* var listnode6: Array[Object] */;
4191 val
* var8
/* : Array[Object] */;
4192 val
* var_listnode11
/* var listnode11: Array[Object] */;
4193 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
4194 short int var9
/* : Bool */;
4197 val
* var_listnode3
/* var listnode3: nullable Object */;
4198 short int var10
/* : Bool */;
4201 val
* var13
/* : Array[Object] */;
4202 val
* var_listnode5
/* var listnode5: nullable Object */;
4203 short int var14
/* : Bool */;
4206 val
* var17
/* : Array[Object] */;
4207 val
* var_listnode7
/* var listnode7: nullable Object */;
4208 short int var18
/* : Bool */;
4211 val
* var21
/* : Array[Object] */;
4212 val
* var_listnode10
/* var listnode10: Array[Object] */;
4213 val
* var_listnode9
/* var listnode9: nullable Object */;
4214 short int var22
/* : Bool */;
4217 val
* var25
/* : Array[Object] */;
4218 val
* var26
/* : ATopClassdef */;
4219 val
* var_pclassdefnode8
/* var pclassdefnode8: nullable ATopClassdef */;
4220 val
* var27
/* : Array[Object] */;
4221 val
* var28
/* : null */;
4222 short int var29
/* : Bool */;
4223 val
* var30
/* : AModule */;
4224 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
4225 long var31
/* : Int */;
4226 long var32
/* : Int */;
4229 var_node_list
= var
;
4230 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4231 var_nodearraylist5
= var1
;
4232 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4233 var_nodearraylist4
= var2
;
4234 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4235 var_nodearraylist3
= var3
;
4236 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4237 var_nodearraylist2
= var4
;
4238 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4239 var_nodearraylist1
= var5
;
4240 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
4241 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
4242 CHECK_NEW_array__Array(var6
);
4243 var_listnode4
= var6
;
4244 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
4245 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
4246 CHECK_NEW_array__Array(var7
);
4247 var_listnode6
= var7
;
4248 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
4249 ((void (*)(val
*))(var8
->class->vft
[COLOR_array__Array__init
]))(var8
) /* init on <var8:Array[Object]>*/;
4250 CHECK_NEW_array__Array(var8
);
4251 var_listnode11
= var8
;
4252 var_pmoduledeclnode2
= var_nodearraylist1
;
4253 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
4254 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
4255 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
4256 if(var_pmoduledeclnode2
== NULL
) {
4259 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
4262 var9
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
4266 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3021);
4269 var_listnode3
= var_nodearraylist2
;
4270 /* <var_listnode3:nullable Object> isa Array[Object] */
4271 cltype11
= type_array__Arraykernel__Object
.color
;
4272 idtype12
= type_array__Arraykernel__Object
.id
;
4273 if(var_listnode3
== NULL
) {
4276 if(cltype11
>= var_listnode3
->type
->table_size
) {
4279 var10
= var_listnode3
->type
->type_table
[cltype11
] == idtype12
;
4283 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3023);
4286 var13
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction31>*/;
4287 var_listnode4
= var13
;
4288 var_listnode5
= var_nodearraylist3
;
4289 /* <var_listnode5:nullable Object> isa Array[Object] */
4290 cltype15
= type_array__Arraykernel__Object
.color
;
4291 idtype16
= type_array__Arraykernel__Object
.id
;
4292 if(var_listnode5
== NULL
) {
4295 if(cltype15
>= var_listnode5
->type
->table_size
) {
4298 var14
= var_listnode5
->type
->type_table
[cltype15
] == idtype16
;
4302 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3026);
4305 var17
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction31>*/;
4306 var_listnode6
= var17
;
4307 var_listnode7
= var_nodearraylist4
;
4308 /* <var_listnode7:nullable Object> isa Array[Object] */
4309 cltype19
= type_array__Arraykernel__Object
.color
;
4310 idtype20
= type_array__Arraykernel__Object
.id
;
4311 if(var_listnode7
== NULL
) {
4314 if(cltype19
>= var_listnode7
->type
->table_size
) {
4317 var18
= var_listnode7
->type
->type_table
[cltype19
] == idtype20
;
4321 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3029);
4324 var21
= NEW_array__Array(&type_array__Arraykernel__Object
);
4325 ((void (*)(val
*))(var21
->class->vft
[COLOR_array__Array__init
]))(var21
) /* init on <var21:Array[Object]>*/;
4326 CHECK_NEW_array__Array(var21
);
4327 var_listnode10
= var21
;
4328 var_listnode9
= var_nodearraylist5
;
4329 /* <var_listnode9:nullable Object> isa Array[Object] */
4330 cltype23
= type_array__Arraykernel__Object
.color
;
4331 idtype24
= type_array__Arraykernel__Object
.id
;
4332 if(var_listnode9
== NULL
) {
4335 if(cltype23
>= var_listnode9
->type
->table_size
) {
4338 var22
= var_listnode9
->type
->type_table
[cltype23
] == idtype24
;
4342 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3032);
4345 var25
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode10
, var_listnode9
) /* concat on <self:ReduceAction31>*/;
4346 var_listnode10
= var25
;
4347 var26
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
4348 ((void (*)(val
*, val
*))(var26
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var26
, var_listnode10
) /* init_atopclassdef on <var26:ATopClassdef>*/;
4349 CHECK_NEW_parser_nodes__ATopClassdef(var26
);
4350 var_pclassdefnode8
= var26
;
4351 var27
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode11
, var_listnode7
) /* concat on <self:ReduceAction31>*/;
4352 var_listnode11
= var27
;
4354 if (var_pclassdefnode8
== NULL
) {
4355 var29
= 0; /* is null */
4357 var29
= 1; /* arg is null and recv is not */
4360 ((void (*)(val
*, val
*))(var_listnode11
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode11
, var_pclassdefnode8
) /* add on <var_listnode11:Array[Object]>*/;
4363 var30
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
4364 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var30
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var30
, var_pmoduledeclnode2
, var_listnode4
, var_listnode6
, var_listnode11
) /* init_amodule on <var30:AModule>*/;
4365 CHECK_NEW_parser_nodes__AModule(var30
);
4366 var_pmodulenode1
= var30
;
4367 var_node_list
= var_pmodulenode1
;
4368 var31
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction31> */
4369 var32
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var31
) /* go_to on <var_p:Parser>*/;
4370 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var32
, var_node_list
) /* push on <var_p:Parser>*/;
4373 /* method parser#ReduceAction31#action for (self: Object, Parser) */
4374 void VIRTUAL_parser__ReduceAction31__action(val
* self
, val
* p0
) {
4375 parser__ReduceAction31__action(self
, p0
);
4378 /* method parser#ReduceAction32#action for (self: ReduceAction32, Parser) */
4379 void parser__ReduceAction32__action(val
* self
, val
* p0
) {
4380 val
* var_p
/* var p: Parser */;
4381 val
* var
/* : null */;
4382 val
* var_node_list
/* var node_list: nullable Object */;
4383 val
* var1
/* : nullable Object */;
4384 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4385 val
* var2
/* : Array[Object] */;
4386 val
* var_listnode3
/* var listnode3: Array[Object] */;
4387 val
* var3
/* : Array[Object] */;
4388 val
* var_listnode4
/* var listnode4: Array[Object] */;
4389 val
* var4
/* : Array[Object] */;
4390 val
* var_listnode6
/* var listnode6: Array[Object] */;
4391 val
* var_pclassdefnode5
/* var pclassdefnode5: nullable Object */;
4392 short int var5
/* : Bool */;
4395 val
* var6
/* : null */;
4396 short int var7
/* : Bool */;
4397 val
* var8
/* : AModule */;
4398 val
* var9
/* : null */;
4399 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
4400 long var10
/* : Int */;
4401 long var11
/* : Int */;
4404 var_node_list
= var
;
4405 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4406 var_nodearraylist1
= var1
;
4407 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
4408 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
4409 CHECK_NEW_array__Array(var2
);
4410 var_listnode3
= var2
;
4411 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
4412 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
4413 CHECK_NEW_array__Array(var3
);
4414 var_listnode4
= var3
;
4415 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
4416 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
4417 CHECK_NEW_array__Array(var4
);
4418 var_listnode6
= var4
;
4419 var_pclassdefnode5
= var_nodearraylist1
;
4420 /* <var_pclassdefnode5:nullable Object> isa nullable AClassdef */
4421 cltype
= type_nullable_parser_nodes__AClassdef
.color
;
4422 idtype
= type_nullable_parser_nodes__AClassdef
.id
;
4423 if(var_pclassdefnode5
== NULL
) {
4426 if(cltype
>= var_pclassdefnode5
->type
->table_size
) {
4429 var5
= var_pclassdefnode5
->type
->type_table
[cltype
] == idtype
;
4433 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3061);
4437 if (var_pclassdefnode5
== NULL
) {
4438 var7
= 0; /* is null */
4440 var7
= 1; /* arg is null and recv is not */
4443 ((void (*)(val
*, val
*))(var_listnode6
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode6
, var_pclassdefnode5
) /* add on <var_listnode6:Array[Object]>*/;
4446 var8
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
4448 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var8
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var8
, var9
, var_listnode3
, var_listnode4
, var_listnode6
) /* init_amodule on <var8:AModule>*/;
4449 CHECK_NEW_parser_nodes__AModule(var8
);
4450 var_pmodulenode1
= var8
;
4451 var_node_list
= var_pmodulenode1
;
4452 var10
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction32> */
4453 var11
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var10
) /* go_to on <var_p:Parser>*/;
4454 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var11
, var_node_list
) /* push on <var_p:Parser>*/;
4457 /* method parser#ReduceAction32#action for (self: Object, Parser) */
4458 void VIRTUAL_parser__ReduceAction32__action(val
* self
, val
* p0
) {
4459 parser__ReduceAction32__action(self
, p0
);
4462 /* method parser#ReduceAction33#action for (self: ReduceAction33, Parser) */
4463 void parser__ReduceAction33__action(val
* self
, val
* p0
) {
4464 val
* var_p
/* var p: Parser */;
4465 val
* var
/* : null */;
4466 val
* var_node_list
/* var node_list: nullable Object */;
4467 val
* var1
/* : nullable Object */;
4468 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4469 val
* var2
/* : nullable Object */;
4470 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4471 val
* var3
/* : Array[Object] */;
4472 val
* var_listnode3
/* var listnode3: Array[Object] */;
4473 val
* var4
/* : Array[Object] */;
4474 val
* var_listnode4
/* var listnode4: Array[Object] */;
4475 val
* var5
/* : Array[Object] */;
4476 val
* var_listnode6
/* var listnode6: Array[Object] */;
4477 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
4478 short int var6
/* : Bool */;
4481 val
* var_pclassdefnode5
/* var pclassdefnode5: nullable Object */;
4482 short int var7
/* : Bool */;
4485 val
* var10
/* : null */;
4486 short int var11
/* : Bool */;
4487 val
* var12
/* : AModule */;
4488 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
4489 long var13
/* : Int */;
4490 long var14
/* : Int */;
4493 var_node_list
= var
;
4494 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4495 var_nodearraylist2
= var1
;
4496 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4497 var_nodearraylist1
= var2
;
4498 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
4499 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
4500 CHECK_NEW_array__Array(var3
);
4501 var_listnode3
= var3
;
4502 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
4503 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
4504 CHECK_NEW_array__Array(var4
);
4505 var_listnode4
= var4
;
4506 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
4507 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
4508 CHECK_NEW_array__Array(var5
);
4509 var_listnode6
= var5
;
4510 var_pmoduledeclnode2
= var_nodearraylist1
;
4511 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
4512 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
4513 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
4514 if(var_pmoduledeclnode2
== NULL
) {
4517 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
4520 var6
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
4524 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3086);
4527 var_pclassdefnode5
= var_nodearraylist2
;
4528 /* <var_pclassdefnode5:nullable Object> isa nullable AClassdef */
4529 cltype8
= type_nullable_parser_nodes__AClassdef
.color
;
4530 idtype9
= type_nullable_parser_nodes__AClassdef
.id
;
4531 if(var_pclassdefnode5
== NULL
) {
4534 if(cltype8
>= var_pclassdefnode5
->type
->table_size
) {
4537 var7
= var_pclassdefnode5
->type
->type_table
[cltype8
] == idtype9
;
4541 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3088);
4545 if (var_pclassdefnode5
== NULL
) {
4546 var11
= 0; /* is null */
4548 var11
= 1; /* arg is null and recv is not */
4551 ((void (*)(val
*, val
*))(var_listnode6
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode6
, var_pclassdefnode5
) /* add on <var_listnode6:Array[Object]>*/;
4554 var12
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
4555 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var12
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var12
, var_pmoduledeclnode2
, var_listnode3
, var_listnode4
, var_listnode6
) /* init_amodule on <var12:AModule>*/;
4556 CHECK_NEW_parser_nodes__AModule(var12
);
4557 var_pmodulenode1
= var12
;
4558 var_node_list
= var_pmodulenode1
;
4559 var13
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction33> */
4560 var14
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var13
) /* go_to on <var_p:Parser>*/;
4561 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var14
, var_node_list
) /* push on <var_p:Parser>*/;
4564 /* method parser#ReduceAction33#action for (self: Object, Parser) */
4565 void VIRTUAL_parser__ReduceAction33__action(val
* self
, val
* p0
) {
4566 parser__ReduceAction33__action(self
, p0
);
4569 /* method parser#ReduceAction34#action for (self: ReduceAction34, Parser) */
4570 void parser__ReduceAction34__action(val
* self
, val
* p0
) {
4571 val
* var_p
/* var p: Parser */;
4572 val
* var
/* : null */;
4573 val
* var_node_list
/* var node_list: nullable Object */;
4574 val
* var1
/* : nullable Object */;
4575 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4576 val
* var2
/* : nullable Object */;
4577 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4578 val
* var3
/* : Array[Object] */;
4579 val
* var_listnode4
/* var listnode4: Array[Object] */;
4580 val
* var4
/* : Array[Object] */;
4581 val
* var_listnode5
/* var listnode5: Array[Object] */;
4582 val
* var5
/* : Array[Object] */;
4583 val
* var_listnode7
/* var listnode7: Array[Object] */;
4584 val
* var_listnode3
/* var listnode3: nullable Object */;
4585 short int var6
/* : Bool */;
4588 val
* var7
/* : Array[Object] */;
4589 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable Object */;
4590 short int var8
/* : Bool */;
4593 val
* var11
/* : null */;
4594 short int var12
/* : Bool */;
4595 val
* var13
/* : AModule */;
4596 val
* var14
/* : null */;
4597 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
4598 long var15
/* : Int */;
4599 long var16
/* : Int */;
4602 var_node_list
= var
;
4603 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4604 var_nodearraylist2
= var1
;
4605 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4606 var_nodearraylist1
= var2
;
4607 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
4608 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
4609 CHECK_NEW_array__Array(var3
);
4610 var_listnode4
= var3
;
4611 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
4612 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
4613 CHECK_NEW_array__Array(var4
);
4614 var_listnode5
= var4
;
4615 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
4616 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
4617 CHECK_NEW_array__Array(var5
);
4618 var_listnode7
= var5
;
4619 var_listnode3
= var_nodearraylist1
;
4620 /* <var_listnode3:nullable Object> isa Array[Object] */
4621 cltype
= type_array__Arraykernel__Object
.color
;
4622 idtype
= type_array__Arraykernel__Object
.id
;
4623 if(var_listnode3
== NULL
) {
4626 if(cltype
>= var_listnode3
->type
->table_size
) {
4629 var6
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
4633 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3113);
4636 var7
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction34>*/;
4637 var_listnode4
= var7
;
4638 var_pclassdefnode6
= var_nodearraylist2
;
4639 /* <var_pclassdefnode6:nullable Object> isa nullable AClassdef */
4640 cltype9
= type_nullable_parser_nodes__AClassdef
.color
;
4641 idtype10
= type_nullable_parser_nodes__AClassdef
.id
;
4642 if(var_pclassdefnode6
== NULL
) {
4645 if(cltype9
>= var_pclassdefnode6
->type
->table_size
) {
4648 var8
= var_pclassdefnode6
->type
->type_table
[cltype9
] == idtype10
;
4652 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3116);
4656 if (var_pclassdefnode6
== NULL
) {
4657 var12
= 0; /* is null */
4659 var12
= 1; /* arg is null and recv is not */
4662 ((void (*)(val
*, val
*))(var_listnode7
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode7
, var_pclassdefnode6
) /* add on <var_listnode7:Array[Object]>*/;
4665 var13
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
4667 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var13
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var13
, var14
, var_listnode4
, var_listnode5
, var_listnode7
) /* init_amodule on <var13:AModule>*/;
4668 CHECK_NEW_parser_nodes__AModule(var13
);
4669 var_pmodulenode1
= var13
;
4670 var_node_list
= var_pmodulenode1
;
4671 var15
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction34> */
4672 var16
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var15
) /* go_to on <var_p:Parser>*/;
4673 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var16
, var_node_list
) /* push on <var_p:Parser>*/;
4676 /* method parser#ReduceAction34#action for (self: Object, Parser) */
4677 void VIRTUAL_parser__ReduceAction34__action(val
* self
, val
* p0
) {
4678 parser__ReduceAction34__action(self
, p0
);
4681 /* method parser#ReduceAction35#action for (self: ReduceAction35, Parser) */
4682 void parser__ReduceAction35__action(val
* self
, val
* p0
) {
4683 val
* var_p
/* var p: Parser */;
4684 val
* var
/* : null */;
4685 val
* var_node_list
/* var node_list: nullable Object */;
4686 val
* var1
/* : nullable Object */;
4687 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4688 val
* var2
/* : nullable Object */;
4689 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4690 val
* var3
/* : nullable Object */;
4691 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4692 val
* var4
/* : Array[Object] */;
4693 val
* var_listnode4
/* var listnode4: Array[Object] */;
4694 val
* var5
/* : Array[Object] */;
4695 val
* var_listnode5
/* var listnode5: Array[Object] */;
4696 val
* var6
/* : Array[Object] */;
4697 val
* var_listnode7
/* var listnode7: Array[Object] */;
4698 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
4699 short int var7
/* : Bool */;
4702 val
* var_listnode3
/* var listnode3: nullable Object */;
4703 short int var8
/* : Bool */;
4706 val
* var11
/* : Array[Object] */;
4707 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable Object */;
4708 short int var12
/* : Bool */;
4711 val
* var15
/* : null */;
4712 short int var16
/* : Bool */;
4713 val
* var17
/* : AModule */;
4714 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
4715 long var18
/* : Int */;
4716 long var19
/* : Int */;
4719 var_node_list
= var
;
4720 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4721 var_nodearraylist3
= var1
;
4722 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4723 var_nodearraylist2
= var2
;
4724 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4725 var_nodearraylist1
= var3
;
4726 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
4727 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
4728 CHECK_NEW_array__Array(var4
);
4729 var_listnode4
= var4
;
4730 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
4731 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
4732 CHECK_NEW_array__Array(var5
);
4733 var_listnode5
= var5
;
4734 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
4735 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
4736 CHECK_NEW_array__Array(var6
);
4737 var_listnode7
= var6
;
4738 var_pmoduledeclnode2
= var_nodearraylist1
;
4739 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
4740 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
4741 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
4742 if(var_pmoduledeclnode2
== NULL
) {
4745 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
4748 var7
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
4752 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3142);
4755 var_listnode3
= var_nodearraylist2
;
4756 /* <var_listnode3:nullable Object> isa Array[Object] */
4757 cltype9
= type_array__Arraykernel__Object
.color
;
4758 idtype10
= type_array__Arraykernel__Object
.id
;
4759 if(var_listnode3
== NULL
) {
4762 if(cltype9
>= var_listnode3
->type
->table_size
) {
4765 var8
= var_listnode3
->type
->type_table
[cltype9
] == idtype10
;
4769 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3144);
4772 var11
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction35>*/;
4773 var_listnode4
= var11
;
4774 var_pclassdefnode6
= var_nodearraylist3
;
4775 /* <var_pclassdefnode6:nullable Object> isa nullable AClassdef */
4776 cltype13
= type_nullable_parser_nodes__AClassdef
.color
;
4777 idtype14
= type_nullable_parser_nodes__AClassdef
.id
;
4778 if(var_pclassdefnode6
== NULL
) {
4781 if(cltype13
>= var_pclassdefnode6
->type
->table_size
) {
4784 var12
= var_pclassdefnode6
->type
->type_table
[cltype13
] == idtype14
;
4788 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3147);
4792 if (var_pclassdefnode6
== NULL
) {
4793 var16
= 0; /* is null */
4795 var16
= 1; /* arg is null and recv is not */
4798 ((void (*)(val
*, val
*))(var_listnode7
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode7
, var_pclassdefnode6
) /* add on <var_listnode7:Array[Object]>*/;
4801 var17
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
4802 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var17
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var17
, var_pmoduledeclnode2
, var_listnode4
, var_listnode5
, var_listnode7
) /* init_amodule on <var17:AModule>*/;
4803 CHECK_NEW_parser_nodes__AModule(var17
);
4804 var_pmodulenode1
= var17
;
4805 var_node_list
= var_pmodulenode1
;
4806 var18
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction35> */
4807 var19
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var18
) /* go_to on <var_p:Parser>*/;
4808 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var19
, var_node_list
) /* push on <var_p:Parser>*/;
4811 /* method parser#ReduceAction35#action for (self: Object, Parser) */
4812 void VIRTUAL_parser__ReduceAction35__action(val
* self
, val
* p0
) {
4813 parser__ReduceAction35__action(self
, p0
);
4816 /* method parser#ReduceAction36#action for (self: ReduceAction36, Parser) */
4817 void parser__ReduceAction36__action(val
* self
, val
* p0
) {
4818 val
* var_p
/* var p: Parser */;
4819 val
* var
/* : null */;
4820 val
* var_node_list
/* var node_list: nullable Object */;
4821 val
* var1
/* : nullable Object */;
4822 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4823 val
* var2
/* : nullable Object */;
4824 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4825 val
* var3
/* : Array[Object] */;
4826 val
* var_listnode3
/* var listnode3: Array[Object] */;
4827 val
* var4
/* : Array[Object] */;
4828 val
* var_listnode5
/* var listnode5: Array[Object] */;
4829 val
* var5
/* : Array[Object] */;
4830 val
* var_listnode7
/* var listnode7: Array[Object] */;
4831 val
* var_listnode4
/* var listnode4: nullable Object */;
4832 short int var6
/* : Bool */;
4835 val
* var7
/* : Array[Object] */;
4836 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable Object */;
4837 short int var8
/* : Bool */;
4840 val
* var11
/* : null */;
4841 short int var12
/* : Bool */;
4842 val
* var13
/* : AModule */;
4843 val
* var14
/* : null */;
4844 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
4845 long var15
/* : Int */;
4846 long var16
/* : Int */;
4849 var_node_list
= var
;
4850 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4851 var_nodearraylist2
= var1
;
4852 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4853 var_nodearraylist1
= var2
;
4854 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
4855 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
4856 CHECK_NEW_array__Array(var3
);
4857 var_listnode3
= var3
;
4858 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
4859 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
4860 CHECK_NEW_array__Array(var4
);
4861 var_listnode5
= var4
;
4862 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
4863 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
4864 CHECK_NEW_array__Array(var5
);
4865 var_listnode7
= var5
;
4866 var_listnode4
= var_nodearraylist1
;
4867 /* <var_listnode4:nullable Object> isa Array[Object] */
4868 cltype
= type_array__Arraykernel__Object
.color
;
4869 idtype
= type_array__Arraykernel__Object
.id
;
4870 if(var_listnode4
== NULL
) {
4873 if(cltype
>= var_listnode4
->type
->table_size
) {
4876 var6
= var_listnode4
->type
->type_table
[cltype
] == idtype
;
4880 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3172);
4883 var7
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction36>*/;
4884 var_listnode5
= var7
;
4885 var_pclassdefnode6
= var_nodearraylist2
;
4886 /* <var_pclassdefnode6:nullable Object> isa nullable AClassdef */
4887 cltype9
= type_nullable_parser_nodes__AClassdef
.color
;
4888 idtype10
= type_nullable_parser_nodes__AClassdef
.id
;
4889 if(var_pclassdefnode6
== NULL
) {
4892 if(cltype9
>= var_pclassdefnode6
->type
->table_size
) {
4895 var8
= var_pclassdefnode6
->type
->type_table
[cltype9
] == idtype10
;
4899 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3175);
4903 if (var_pclassdefnode6
== NULL
) {
4904 var12
= 0; /* is null */
4906 var12
= 1; /* arg is null and recv is not */
4909 ((void (*)(val
*, val
*))(var_listnode7
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode7
, var_pclassdefnode6
) /* add on <var_listnode7:Array[Object]>*/;
4912 var13
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
4914 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var13
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var13
, var14
, var_listnode3
, var_listnode5
, var_listnode7
) /* init_amodule on <var13:AModule>*/;
4915 CHECK_NEW_parser_nodes__AModule(var13
);
4916 var_pmodulenode1
= var13
;
4917 var_node_list
= var_pmodulenode1
;
4918 var15
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction36> */
4919 var16
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var15
) /* go_to on <var_p:Parser>*/;
4920 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var16
, var_node_list
) /* push on <var_p:Parser>*/;
4923 /* method parser#ReduceAction36#action for (self: Object, Parser) */
4924 void VIRTUAL_parser__ReduceAction36__action(val
* self
, val
* p0
) {
4925 parser__ReduceAction36__action(self
, p0
);
4928 /* method parser#ReduceAction37#action for (self: ReduceAction37, Parser) */
4929 void parser__ReduceAction37__action(val
* self
, val
* p0
) {
4930 val
* var_p
/* var p: Parser */;
4931 val
* var
/* : null */;
4932 val
* var_node_list
/* var node_list: nullable Object */;
4933 val
* var1
/* : nullable Object */;
4934 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4935 val
* var2
/* : nullable Object */;
4936 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4937 val
* var3
/* : nullable Object */;
4938 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4939 val
* var4
/* : Array[Object] */;
4940 val
* var_listnode3
/* var listnode3: Array[Object] */;
4941 val
* var5
/* : Array[Object] */;
4942 val
* var_listnode5
/* var listnode5: Array[Object] */;
4943 val
* var6
/* : Array[Object] */;
4944 val
* var_listnode7
/* var listnode7: Array[Object] */;
4945 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
4946 short int var7
/* : Bool */;
4949 val
* var_listnode4
/* var listnode4: nullable Object */;
4950 short int var8
/* : Bool */;
4953 val
* var11
/* : Array[Object] */;
4954 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable Object */;
4955 short int var12
/* : Bool */;
4958 val
* var15
/* : null */;
4959 short int var16
/* : Bool */;
4960 val
* var17
/* : AModule */;
4961 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
4962 long var18
/* : Int */;
4963 long var19
/* : Int */;
4966 var_node_list
= var
;
4967 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4968 var_nodearraylist3
= var1
;
4969 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4970 var_nodearraylist2
= var2
;
4971 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4972 var_nodearraylist1
= var3
;
4973 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
4974 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
4975 CHECK_NEW_array__Array(var4
);
4976 var_listnode3
= var4
;
4977 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
4978 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
4979 CHECK_NEW_array__Array(var5
);
4980 var_listnode5
= var5
;
4981 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
4982 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
4983 CHECK_NEW_array__Array(var6
);
4984 var_listnode7
= var6
;
4985 var_pmoduledeclnode2
= var_nodearraylist1
;
4986 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
4987 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
4988 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
4989 if(var_pmoduledeclnode2
== NULL
) {
4992 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
4995 var7
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
4999 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3201);
5002 var_listnode4
= var_nodearraylist2
;
5003 /* <var_listnode4:nullable Object> isa Array[Object] */
5004 cltype9
= type_array__Arraykernel__Object
.color
;
5005 idtype10
= type_array__Arraykernel__Object
.id
;
5006 if(var_listnode4
== NULL
) {
5009 if(cltype9
>= var_listnode4
->type
->table_size
) {
5012 var8
= var_listnode4
->type
->type_table
[cltype9
] == idtype10
;
5016 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3203);
5019 var11
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction37>*/;
5020 var_listnode5
= var11
;
5021 var_pclassdefnode6
= var_nodearraylist3
;
5022 /* <var_pclassdefnode6:nullable Object> isa nullable AClassdef */
5023 cltype13
= type_nullable_parser_nodes__AClassdef
.color
;
5024 idtype14
= type_nullable_parser_nodes__AClassdef
.id
;
5025 if(var_pclassdefnode6
== NULL
) {
5028 if(cltype13
>= var_pclassdefnode6
->type
->table_size
) {
5031 var12
= var_pclassdefnode6
->type
->type_table
[cltype13
] == idtype14
;
5035 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3206);
5039 if (var_pclassdefnode6
== NULL
) {
5040 var16
= 0; /* is null */
5042 var16
= 1; /* arg is null and recv is not */
5045 ((void (*)(val
*, val
*))(var_listnode7
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode7
, var_pclassdefnode6
) /* add on <var_listnode7:Array[Object]>*/;
5048 var17
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
5049 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var17
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var17
, var_pmoduledeclnode2
, var_listnode3
, var_listnode5
, var_listnode7
) /* init_amodule on <var17:AModule>*/;
5050 CHECK_NEW_parser_nodes__AModule(var17
);
5051 var_pmodulenode1
= var17
;
5052 var_node_list
= var_pmodulenode1
;
5053 var18
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction37> */
5054 var19
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var18
) /* go_to on <var_p:Parser>*/;
5055 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var19
, var_node_list
) /* push on <var_p:Parser>*/;
5058 /* method parser#ReduceAction37#action for (self: Object, Parser) */
5059 void VIRTUAL_parser__ReduceAction37__action(val
* self
, val
* p0
) {
5060 parser__ReduceAction37__action(self
, p0
);
5063 /* method parser#ReduceAction38#action for (self: ReduceAction38, Parser) */
5064 void parser__ReduceAction38__action(val
* self
, val
* p0
) {
5065 val
* var_p
/* var p: Parser */;
5066 val
* var
/* : null */;
5067 val
* var_node_list
/* var node_list: nullable Object */;
5068 val
* var1
/* : nullable Object */;
5069 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5070 val
* var2
/* : nullable Object */;
5071 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5072 val
* var3
/* : nullable Object */;
5073 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5074 val
* var4
/* : Array[Object] */;
5075 val
* var_listnode4
/* var listnode4: Array[Object] */;
5076 val
* var5
/* : Array[Object] */;
5077 val
* var_listnode6
/* var listnode6: Array[Object] */;
5078 val
* var6
/* : Array[Object] */;
5079 val
* var_listnode8
/* var listnode8: Array[Object] */;
5080 val
* var_listnode3
/* var listnode3: nullable Object */;
5081 short int var7
/* : Bool */;
5084 val
* var8
/* : Array[Object] */;
5085 val
* var_listnode5
/* var listnode5: nullable Object */;
5086 short int var9
/* : Bool */;
5089 val
* var12
/* : Array[Object] */;
5090 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable Object */;
5091 short int var13
/* : Bool */;
5094 val
* var16
/* : null */;
5095 short int var17
/* : Bool */;
5096 val
* var18
/* : AModule */;
5097 val
* var19
/* : null */;
5098 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
5099 long var20
/* : Int */;
5100 long var21
/* : Int */;
5103 var_node_list
= var
;
5104 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5105 var_nodearraylist3
= var1
;
5106 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5107 var_nodearraylist2
= var2
;
5108 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5109 var_nodearraylist1
= var3
;
5110 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
5111 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
5112 CHECK_NEW_array__Array(var4
);
5113 var_listnode4
= var4
;
5114 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
5115 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
5116 CHECK_NEW_array__Array(var5
);
5117 var_listnode6
= var5
;
5118 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
5119 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
5120 CHECK_NEW_array__Array(var6
);
5121 var_listnode8
= var6
;
5122 var_listnode3
= var_nodearraylist1
;
5123 /* <var_listnode3:nullable Object> isa Array[Object] */
5124 cltype
= type_array__Arraykernel__Object
.color
;
5125 idtype
= type_array__Arraykernel__Object
.id
;
5126 if(var_listnode3
== NULL
) {
5129 if(cltype
>= var_listnode3
->type
->table_size
) {
5132 var7
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
5136 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3232);
5139 var8
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction38>*/;
5140 var_listnode4
= var8
;
5141 var_listnode5
= var_nodearraylist2
;
5142 /* <var_listnode5:nullable Object> isa Array[Object] */
5143 cltype10
= type_array__Arraykernel__Object
.color
;
5144 idtype11
= type_array__Arraykernel__Object
.id
;
5145 if(var_listnode5
== NULL
) {
5148 if(cltype10
>= var_listnode5
->type
->table_size
) {
5151 var9
= var_listnode5
->type
->type_table
[cltype10
] == idtype11
;
5155 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3235);
5158 var12
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction38>*/;
5159 var_listnode6
= var12
;
5160 var_pclassdefnode7
= var_nodearraylist3
;
5161 /* <var_pclassdefnode7:nullable Object> isa nullable AClassdef */
5162 cltype14
= type_nullable_parser_nodes__AClassdef
.color
;
5163 idtype15
= type_nullable_parser_nodes__AClassdef
.id
;
5164 if(var_pclassdefnode7
== NULL
) {
5167 if(cltype14
>= var_pclassdefnode7
->type
->table_size
) {
5170 var13
= var_pclassdefnode7
->type
->type_table
[cltype14
] == idtype15
;
5174 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3238);
5178 if (var_pclassdefnode7
== NULL
) {
5179 var17
= 0; /* is null */
5181 var17
= 1; /* arg is null and recv is not */
5184 ((void (*)(val
*, val
*))(var_listnode8
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode8
, var_pclassdefnode7
) /* add on <var_listnode8:Array[Object]>*/;
5187 var18
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
5189 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var18
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var18
, var19
, var_listnode4
, var_listnode6
, var_listnode8
) /* init_amodule on <var18:AModule>*/;
5190 CHECK_NEW_parser_nodes__AModule(var18
);
5191 var_pmodulenode1
= var18
;
5192 var_node_list
= var_pmodulenode1
;
5193 var20
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction38> */
5194 var21
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var20
) /* go_to on <var_p:Parser>*/;
5195 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var21
, var_node_list
) /* push on <var_p:Parser>*/;
5198 /* method parser#ReduceAction38#action for (self: Object, Parser) */
5199 void VIRTUAL_parser__ReduceAction38__action(val
* self
, val
* p0
) {
5200 parser__ReduceAction38__action(self
, p0
);
5203 /* method parser#ReduceAction39#action for (self: ReduceAction39, Parser) */
5204 void parser__ReduceAction39__action(val
* self
, val
* p0
) {
5205 val
* var_p
/* var p: Parser */;
5206 val
* var
/* : null */;
5207 val
* var_node_list
/* var node_list: nullable Object */;
5208 val
* var1
/* : nullable Object */;
5209 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5210 val
* var2
/* : nullable Object */;
5211 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5212 val
* var3
/* : nullable Object */;
5213 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5214 val
* var4
/* : nullable Object */;
5215 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5216 val
* var5
/* : Array[Object] */;
5217 val
* var_listnode4
/* var listnode4: Array[Object] */;
5218 val
* var6
/* : Array[Object] */;
5219 val
* var_listnode6
/* var listnode6: Array[Object] */;
5220 val
* var7
/* : Array[Object] */;
5221 val
* var_listnode8
/* var listnode8: Array[Object] */;
5222 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
5223 short int var8
/* : Bool */;
5226 val
* var_listnode3
/* var listnode3: nullable Object */;
5227 short int var9
/* : Bool */;
5230 val
* var12
/* : Array[Object] */;
5231 val
* var_listnode5
/* var listnode5: nullable Object */;
5232 short int var13
/* : Bool */;
5235 val
* var16
/* : Array[Object] */;
5236 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable Object */;
5237 short int var17
/* : Bool */;
5240 val
* var20
/* : null */;
5241 short int var21
/* : Bool */;
5242 val
* var22
/* : AModule */;
5243 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
5244 long var23
/* : Int */;
5245 long var24
/* : Int */;
5248 var_node_list
= var
;
5249 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5250 var_nodearraylist4
= var1
;
5251 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5252 var_nodearraylist3
= var2
;
5253 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5254 var_nodearraylist2
= var3
;
5255 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5256 var_nodearraylist1
= var4
;
5257 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
5258 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
5259 CHECK_NEW_array__Array(var5
);
5260 var_listnode4
= var5
;
5261 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
5262 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
5263 CHECK_NEW_array__Array(var6
);
5264 var_listnode6
= var6
;
5265 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
5266 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
5267 CHECK_NEW_array__Array(var7
);
5268 var_listnode8
= var7
;
5269 var_pmoduledeclnode2
= var_nodearraylist1
;
5270 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
5271 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
5272 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
5273 if(var_pmoduledeclnode2
== NULL
) {
5276 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
5279 var8
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
5283 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3265);
5286 var_listnode3
= var_nodearraylist2
;
5287 /* <var_listnode3:nullable Object> isa Array[Object] */
5288 cltype10
= type_array__Arraykernel__Object
.color
;
5289 idtype11
= type_array__Arraykernel__Object
.id
;
5290 if(var_listnode3
== NULL
) {
5293 if(cltype10
>= var_listnode3
->type
->table_size
) {
5296 var9
= var_listnode3
->type
->type_table
[cltype10
] == idtype11
;
5300 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3267);
5303 var12
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction39>*/;
5304 var_listnode4
= var12
;
5305 var_listnode5
= var_nodearraylist3
;
5306 /* <var_listnode5:nullable Object> isa Array[Object] */
5307 cltype14
= type_array__Arraykernel__Object
.color
;
5308 idtype15
= type_array__Arraykernel__Object
.id
;
5309 if(var_listnode5
== NULL
) {
5312 if(cltype14
>= var_listnode5
->type
->table_size
) {
5315 var13
= var_listnode5
->type
->type_table
[cltype14
] == idtype15
;
5319 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3270);
5322 var16
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction39>*/;
5323 var_listnode6
= var16
;
5324 var_pclassdefnode7
= var_nodearraylist4
;
5325 /* <var_pclassdefnode7:nullable Object> isa nullable AClassdef */
5326 cltype18
= type_nullable_parser_nodes__AClassdef
.color
;
5327 idtype19
= type_nullable_parser_nodes__AClassdef
.id
;
5328 if(var_pclassdefnode7
== NULL
) {
5331 if(cltype18
>= var_pclassdefnode7
->type
->table_size
) {
5334 var17
= var_pclassdefnode7
->type
->type_table
[cltype18
] == idtype19
;
5338 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3273);
5342 if (var_pclassdefnode7
== NULL
) {
5343 var21
= 0; /* is null */
5345 var21
= 1; /* arg is null and recv is not */
5348 ((void (*)(val
*, val
*))(var_listnode8
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode8
, var_pclassdefnode7
) /* add on <var_listnode8:Array[Object]>*/;
5351 var22
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
5352 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var22
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var22
, var_pmoduledeclnode2
, var_listnode4
, var_listnode6
, var_listnode8
) /* init_amodule on <var22:AModule>*/;
5353 CHECK_NEW_parser_nodes__AModule(var22
);
5354 var_pmodulenode1
= var22
;
5355 var_node_list
= var_pmodulenode1
;
5356 var23
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction39> */
5357 var24
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var23
) /* go_to on <var_p:Parser>*/;
5358 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var24
, var_node_list
) /* push on <var_p:Parser>*/;
5361 /* method parser#ReduceAction39#action for (self: Object, Parser) */
5362 void VIRTUAL_parser__ReduceAction39__action(val
* self
, val
* p0
) {
5363 parser__ReduceAction39__action(self
, p0
);
5366 /* method parser#ReduceAction40#action for (self: ReduceAction40, Parser) */
5367 void parser__ReduceAction40__action(val
* self
, val
* p0
) {
5368 val
* var_p
/* var p: Parser */;
5369 val
* var
/* : null */;
5370 val
* var_node_list
/* var node_list: nullable Object */;
5371 val
* var1
/* : nullable Object */;
5372 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5373 val
* var2
/* : nullable Object */;
5374 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5375 val
* var3
/* : Array[Object] */;
5376 val
* var_listnode3
/* var listnode3: Array[Object] */;
5377 val
* var4
/* : Array[Object] */;
5378 val
* var_listnode4
/* var listnode4: Array[Object] */;
5379 val
* var5
/* : Array[Object] */;
5380 val
* var_listnode7
/* var listnode7: Array[Object] */;
5381 val
* var_listnode5
/* var listnode5: nullable Object */;
5382 short int var6
/* : Bool */;
5385 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable Object */;
5386 short int var7
/* : Bool */;
5389 val
* var10
/* : Array[Object] */;
5390 val
* var11
/* : null */;
5391 short int var12
/* : Bool */;
5392 val
* var13
/* : AModule */;
5393 val
* var14
/* : null */;
5394 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
5395 long var15
/* : Int */;
5396 long var16
/* : Int */;
5399 var_node_list
= var
;
5400 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5401 var_nodearraylist2
= var1
;
5402 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5403 var_nodearraylist1
= var2
;
5404 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
5405 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
5406 CHECK_NEW_array__Array(var3
);
5407 var_listnode3
= var3
;
5408 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
5409 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
5410 CHECK_NEW_array__Array(var4
);
5411 var_listnode4
= var4
;
5412 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
5413 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
5414 CHECK_NEW_array__Array(var5
);
5415 var_listnode7
= var5
;
5416 var_listnode5
= var_nodearraylist1
;
5417 /* <var_listnode5:nullable Object> isa Array[Object] */
5418 cltype
= type_array__Arraykernel__Object
.color
;
5419 idtype
= type_array__Arraykernel__Object
.id
;
5420 if(var_listnode5
== NULL
) {
5423 if(cltype
>= var_listnode5
->type
->table_size
) {
5426 var6
= var_listnode5
->type
->type_table
[cltype
] == idtype
;
5430 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3298);
5433 var_pclassdefnode6
= var_nodearraylist2
;
5434 /* <var_pclassdefnode6:nullable Object> isa nullable AClassdef */
5435 cltype8
= type_nullable_parser_nodes__AClassdef
.color
;
5436 idtype9
= type_nullable_parser_nodes__AClassdef
.id
;
5437 if(var_pclassdefnode6
== NULL
) {
5440 if(cltype8
>= var_pclassdefnode6
->type
->table_size
) {
5443 var7
= var_pclassdefnode6
->type
->type_table
[cltype8
] == idtype9
;
5447 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3300);
5450 var10
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode7
, var_listnode5
) /* concat on <self:ReduceAction40>*/;
5451 var_listnode7
= var10
;
5453 if (var_pclassdefnode6
== NULL
) {
5454 var12
= 0; /* is null */
5456 var12
= 1; /* arg is null and recv is not */
5459 ((void (*)(val
*, val
*))(var_listnode7
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode7
, var_pclassdefnode6
) /* add on <var_listnode7:Array[Object]>*/;
5462 var13
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
5464 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var13
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var13
, var14
, var_listnode3
, var_listnode4
, var_listnode7
) /* init_amodule on <var13:AModule>*/;
5465 CHECK_NEW_parser_nodes__AModule(var13
);
5466 var_pmodulenode1
= var13
;
5467 var_node_list
= var_pmodulenode1
;
5468 var15
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction40> */
5469 var16
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var15
) /* go_to on <var_p:Parser>*/;
5470 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var16
, var_node_list
) /* push on <var_p:Parser>*/;
5473 /* method parser#ReduceAction40#action for (self: Object, Parser) */
5474 void VIRTUAL_parser__ReduceAction40__action(val
* self
, val
* p0
) {
5475 parser__ReduceAction40__action(self
, p0
);
5478 /* method parser#ReduceAction41#action for (self: ReduceAction41, Parser) */
5479 void parser__ReduceAction41__action(val
* self
, val
* p0
) {
5480 val
* var_p
/* var p: Parser */;
5481 val
* var
/* : null */;
5482 val
* var_node_list
/* var node_list: nullable Object */;
5483 val
* var1
/* : nullable Object */;
5484 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5485 val
* var2
/* : nullable Object */;
5486 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5487 val
* var3
/* : nullable Object */;
5488 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5489 val
* var4
/* : Array[Object] */;
5490 val
* var_listnode3
/* var listnode3: Array[Object] */;
5491 val
* var5
/* : Array[Object] */;
5492 val
* var_listnode4
/* var listnode4: Array[Object] */;
5493 val
* var6
/* : Array[Object] */;
5494 val
* var_listnode7
/* var listnode7: Array[Object] */;
5495 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
5496 short int var7
/* : Bool */;
5499 val
* var_listnode5
/* var listnode5: nullable Object */;
5500 short int var8
/* : Bool */;
5503 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable Object */;
5504 short int var11
/* : Bool */;
5507 val
* var14
/* : Array[Object] */;
5508 val
* var15
/* : null */;
5509 short int var16
/* : Bool */;
5510 val
* var17
/* : AModule */;
5511 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
5512 long var18
/* : Int */;
5513 long var19
/* : Int */;
5516 var_node_list
= var
;
5517 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5518 var_nodearraylist3
= var1
;
5519 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5520 var_nodearraylist2
= var2
;
5521 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5522 var_nodearraylist1
= var3
;
5523 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
5524 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
5525 CHECK_NEW_array__Array(var4
);
5526 var_listnode3
= var4
;
5527 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
5528 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
5529 CHECK_NEW_array__Array(var5
);
5530 var_listnode4
= var5
;
5531 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
5532 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
5533 CHECK_NEW_array__Array(var6
);
5534 var_listnode7
= var6
;
5535 var_pmoduledeclnode2
= var_nodearraylist1
;
5536 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
5537 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
5538 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
5539 if(var_pmoduledeclnode2
== NULL
) {
5542 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
5545 var7
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
5549 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3327);
5552 var_listnode5
= var_nodearraylist2
;
5553 /* <var_listnode5:nullable Object> isa Array[Object] */
5554 cltype9
= type_array__Arraykernel__Object
.color
;
5555 idtype10
= type_array__Arraykernel__Object
.id
;
5556 if(var_listnode5
== NULL
) {
5559 if(cltype9
>= var_listnode5
->type
->table_size
) {
5562 var8
= var_listnode5
->type
->type_table
[cltype9
] == idtype10
;
5566 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3329);
5569 var_pclassdefnode6
= var_nodearraylist3
;
5570 /* <var_pclassdefnode6:nullable Object> isa nullable AClassdef */
5571 cltype12
= type_nullable_parser_nodes__AClassdef
.color
;
5572 idtype13
= type_nullable_parser_nodes__AClassdef
.id
;
5573 if(var_pclassdefnode6
== NULL
) {
5576 if(cltype12
>= var_pclassdefnode6
->type
->table_size
) {
5579 var11
= var_pclassdefnode6
->type
->type_table
[cltype12
] == idtype13
;
5583 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3331);
5586 var14
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode7
, var_listnode5
) /* concat on <self:ReduceAction41>*/;
5587 var_listnode7
= var14
;
5589 if (var_pclassdefnode6
== NULL
) {
5590 var16
= 0; /* is null */
5592 var16
= 1; /* arg is null and recv is not */
5595 ((void (*)(val
*, val
*))(var_listnode7
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode7
, var_pclassdefnode6
) /* add on <var_listnode7:Array[Object]>*/;
5598 var17
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
5599 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var17
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var17
, var_pmoduledeclnode2
, var_listnode3
, var_listnode4
, var_listnode7
) /* init_amodule on <var17:AModule>*/;
5600 CHECK_NEW_parser_nodes__AModule(var17
);
5601 var_pmodulenode1
= var17
;
5602 var_node_list
= var_pmodulenode1
;
5603 var18
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction41> */
5604 var19
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var18
) /* go_to on <var_p:Parser>*/;
5605 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var19
, var_node_list
) /* push on <var_p:Parser>*/;
5608 /* method parser#ReduceAction41#action for (self: Object, Parser) */
5609 void VIRTUAL_parser__ReduceAction41__action(val
* self
, val
* p0
) {
5610 parser__ReduceAction41__action(self
, p0
);
5613 /* method parser#ReduceAction42#action for (self: ReduceAction42, Parser) */
5614 void parser__ReduceAction42__action(val
* self
, val
* p0
) {
5615 val
* var_p
/* var p: Parser */;
5616 val
* var
/* : null */;
5617 val
* var_node_list
/* var node_list: nullable Object */;
5618 val
* var1
/* : nullable Object */;
5619 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5620 val
* var2
/* : nullable Object */;
5621 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5622 val
* var3
/* : nullable Object */;
5623 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5624 val
* var4
/* : Array[Object] */;
5625 val
* var_listnode4
/* var listnode4: Array[Object] */;
5626 val
* var5
/* : Array[Object] */;
5627 val
* var_listnode5
/* var listnode5: Array[Object] */;
5628 val
* var6
/* : Array[Object] */;
5629 val
* var_listnode8
/* var listnode8: Array[Object] */;
5630 val
* var_listnode3
/* var listnode3: nullable Object */;
5631 short int var7
/* : Bool */;
5634 val
* var8
/* : Array[Object] */;
5635 val
* var_listnode6
/* var listnode6: nullable Object */;
5636 short int var9
/* : Bool */;
5639 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable Object */;
5640 short int var12
/* : Bool */;
5643 val
* var15
/* : Array[Object] */;
5644 val
* var16
/* : null */;
5645 short int var17
/* : Bool */;
5646 val
* var18
/* : AModule */;
5647 val
* var19
/* : null */;
5648 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
5649 long var20
/* : Int */;
5650 long var21
/* : Int */;
5653 var_node_list
= var
;
5654 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5655 var_nodearraylist3
= var1
;
5656 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5657 var_nodearraylist2
= var2
;
5658 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5659 var_nodearraylist1
= var3
;
5660 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
5661 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
5662 CHECK_NEW_array__Array(var4
);
5663 var_listnode4
= var4
;
5664 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
5665 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
5666 CHECK_NEW_array__Array(var5
);
5667 var_listnode5
= var5
;
5668 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
5669 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
5670 CHECK_NEW_array__Array(var6
);
5671 var_listnode8
= var6
;
5672 var_listnode3
= var_nodearraylist1
;
5673 /* <var_listnode3:nullable Object> isa Array[Object] */
5674 cltype
= type_array__Arraykernel__Object
.color
;
5675 idtype
= type_array__Arraykernel__Object
.id
;
5676 if(var_listnode3
== NULL
) {
5679 if(cltype
>= var_listnode3
->type
->table_size
) {
5682 var7
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
5686 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3358);
5689 var8
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction42>*/;
5690 var_listnode4
= var8
;
5691 var_listnode6
= var_nodearraylist2
;
5692 /* <var_listnode6:nullable Object> isa Array[Object] */
5693 cltype10
= type_array__Arraykernel__Object
.color
;
5694 idtype11
= type_array__Arraykernel__Object
.id
;
5695 if(var_listnode6
== NULL
) {
5698 if(cltype10
>= var_listnode6
->type
->table_size
) {
5701 var9
= var_listnode6
->type
->type_table
[cltype10
] == idtype11
;
5705 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3361);
5708 var_pclassdefnode7
= var_nodearraylist3
;
5709 /* <var_pclassdefnode7:nullable Object> isa nullable AClassdef */
5710 cltype13
= type_nullable_parser_nodes__AClassdef
.color
;
5711 idtype14
= type_nullable_parser_nodes__AClassdef
.id
;
5712 if(var_pclassdefnode7
== NULL
) {
5715 if(cltype13
>= var_pclassdefnode7
->type
->table_size
) {
5718 var12
= var_pclassdefnode7
->type
->type_table
[cltype13
] == idtype14
;
5722 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3363);
5725 var15
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode6
) /* concat on <self:ReduceAction42>*/;
5726 var_listnode8
= var15
;
5728 if (var_pclassdefnode7
== NULL
) {
5729 var17
= 0; /* is null */
5731 var17
= 1; /* arg is null and recv is not */
5734 ((void (*)(val
*, val
*))(var_listnode8
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode8
, var_pclassdefnode7
) /* add on <var_listnode8:Array[Object]>*/;
5737 var18
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
5739 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var18
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var18
, var19
, var_listnode4
, var_listnode5
, var_listnode8
) /* init_amodule on <var18:AModule>*/;
5740 CHECK_NEW_parser_nodes__AModule(var18
);
5741 var_pmodulenode1
= var18
;
5742 var_node_list
= var_pmodulenode1
;
5743 var20
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction42> */
5744 var21
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var20
) /* go_to on <var_p:Parser>*/;
5745 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var21
, var_node_list
) /* push on <var_p:Parser>*/;
5748 /* method parser#ReduceAction42#action for (self: Object, Parser) */
5749 void VIRTUAL_parser__ReduceAction42__action(val
* self
, val
* p0
) {
5750 parser__ReduceAction42__action(self
, p0
);
5753 /* method parser#ReduceAction43#action for (self: ReduceAction43, Parser) */
5754 void parser__ReduceAction43__action(val
* self
, val
* p0
) {
5755 val
* var_p
/* var p: Parser */;
5756 val
* var
/* : null */;
5757 val
* var_node_list
/* var node_list: nullable Object */;
5758 val
* var1
/* : nullable Object */;
5759 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5760 val
* var2
/* : nullable Object */;
5761 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5762 val
* var3
/* : nullable Object */;
5763 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5764 val
* var4
/* : nullable Object */;
5765 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5766 val
* var5
/* : Array[Object] */;
5767 val
* var_listnode4
/* var listnode4: Array[Object] */;
5768 val
* var6
/* : Array[Object] */;
5769 val
* var_listnode5
/* var listnode5: Array[Object] */;
5770 val
* var7
/* : Array[Object] */;
5771 val
* var_listnode8
/* var listnode8: Array[Object] */;
5772 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
5773 short int var8
/* : Bool */;
5776 val
* var_listnode3
/* var listnode3: nullable Object */;
5777 short int var9
/* : Bool */;
5780 val
* var12
/* : Array[Object] */;
5781 val
* var_listnode6
/* var listnode6: nullable Object */;
5782 short int var13
/* : Bool */;
5785 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable Object */;
5786 short int var16
/* : Bool */;
5789 val
* var19
/* : Array[Object] */;
5790 val
* var20
/* : null */;
5791 short int var21
/* : Bool */;
5792 val
* var22
/* : AModule */;
5793 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
5794 long var23
/* : Int */;
5795 long var24
/* : Int */;
5798 var_node_list
= var
;
5799 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5800 var_nodearraylist4
= var1
;
5801 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5802 var_nodearraylist3
= var2
;
5803 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5804 var_nodearraylist2
= var3
;
5805 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5806 var_nodearraylist1
= var4
;
5807 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
5808 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
5809 CHECK_NEW_array__Array(var5
);
5810 var_listnode4
= var5
;
5811 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
5812 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
5813 CHECK_NEW_array__Array(var6
);
5814 var_listnode5
= var6
;
5815 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
5816 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
5817 CHECK_NEW_array__Array(var7
);
5818 var_listnode8
= var7
;
5819 var_pmoduledeclnode2
= var_nodearraylist1
;
5820 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
5821 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
5822 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
5823 if(var_pmoduledeclnode2
== NULL
) {
5826 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
5829 var8
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
5833 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3391);
5836 var_listnode3
= var_nodearraylist2
;
5837 /* <var_listnode3:nullable Object> isa Array[Object] */
5838 cltype10
= type_array__Arraykernel__Object
.color
;
5839 idtype11
= type_array__Arraykernel__Object
.id
;
5840 if(var_listnode3
== NULL
) {
5843 if(cltype10
>= var_listnode3
->type
->table_size
) {
5846 var9
= var_listnode3
->type
->type_table
[cltype10
] == idtype11
;
5850 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3393);
5853 var12
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction43>*/;
5854 var_listnode4
= var12
;
5855 var_listnode6
= var_nodearraylist3
;
5856 /* <var_listnode6:nullable Object> isa Array[Object] */
5857 cltype14
= type_array__Arraykernel__Object
.color
;
5858 idtype15
= type_array__Arraykernel__Object
.id
;
5859 if(var_listnode6
== NULL
) {
5862 if(cltype14
>= var_listnode6
->type
->table_size
) {
5865 var13
= var_listnode6
->type
->type_table
[cltype14
] == idtype15
;
5869 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3396);
5872 var_pclassdefnode7
= var_nodearraylist4
;
5873 /* <var_pclassdefnode7:nullable Object> isa nullable AClassdef */
5874 cltype17
= type_nullable_parser_nodes__AClassdef
.color
;
5875 idtype18
= type_nullable_parser_nodes__AClassdef
.id
;
5876 if(var_pclassdefnode7
== NULL
) {
5879 if(cltype17
>= var_pclassdefnode7
->type
->table_size
) {
5882 var16
= var_pclassdefnode7
->type
->type_table
[cltype17
] == idtype18
;
5886 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3398);
5889 var19
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode6
) /* concat on <self:ReduceAction43>*/;
5890 var_listnode8
= var19
;
5892 if (var_pclassdefnode7
== NULL
) {
5893 var21
= 0; /* is null */
5895 var21
= 1; /* arg is null and recv is not */
5898 ((void (*)(val
*, val
*))(var_listnode8
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode8
, var_pclassdefnode7
) /* add on <var_listnode8:Array[Object]>*/;
5901 var22
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
5902 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var22
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var22
, var_pmoduledeclnode2
, var_listnode4
, var_listnode5
, var_listnode8
) /* init_amodule on <var22:AModule>*/;
5903 CHECK_NEW_parser_nodes__AModule(var22
);
5904 var_pmodulenode1
= var22
;
5905 var_node_list
= var_pmodulenode1
;
5906 var23
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction43> */
5907 var24
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var23
) /* go_to on <var_p:Parser>*/;
5908 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var24
, var_node_list
) /* push on <var_p:Parser>*/;
5911 /* method parser#ReduceAction43#action for (self: Object, Parser) */
5912 void VIRTUAL_parser__ReduceAction43__action(val
* self
, val
* p0
) {
5913 parser__ReduceAction43__action(self
, p0
);
5916 /* method parser#ReduceAction44#action for (self: ReduceAction44, Parser) */
5917 void parser__ReduceAction44__action(val
* self
, val
* p0
) {
5918 val
* var_p
/* var p: Parser */;
5919 val
* var
/* : null */;
5920 val
* var_node_list
/* var node_list: nullable Object */;
5921 val
* var1
/* : nullable Object */;
5922 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5923 val
* var2
/* : nullable Object */;
5924 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5925 val
* var3
/* : nullable Object */;
5926 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5927 val
* var4
/* : Array[Object] */;
5928 val
* var_listnode3
/* var listnode3: Array[Object] */;
5929 val
* var5
/* : Array[Object] */;
5930 val
* var_listnode5
/* var listnode5: Array[Object] */;
5931 val
* var6
/* : Array[Object] */;
5932 val
* var_listnode8
/* var listnode8: Array[Object] */;
5933 val
* var_listnode4
/* var listnode4: nullable Object */;
5934 short int var7
/* : Bool */;
5937 val
* var8
/* : Array[Object] */;
5938 val
* var_listnode6
/* var listnode6: nullable Object */;
5939 short int var9
/* : Bool */;
5942 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable Object */;
5943 short int var12
/* : Bool */;
5946 val
* var15
/* : Array[Object] */;
5947 val
* var16
/* : null */;
5948 short int var17
/* : Bool */;
5949 val
* var18
/* : AModule */;
5950 val
* var19
/* : null */;
5951 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
5952 long var20
/* : Int */;
5953 long var21
/* : Int */;
5956 var_node_list
= var
;
5957 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5958 var_nodearraylist3
= var1
;
5959 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5960 var_nodearraylist2
= var2
;
5961 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5962 var_nodearraylist1
= var3
;
5963 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
5964 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
5965 CHECK_NEW_array__Array(var4
);
5966 var_listnode3
= var4
;
5967 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
5968 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
5969 CHECK_NEW_array__Array(var5
);
5970 var_listnode5
= var5
;
5971 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
5972 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
5973 CHECK_NEW_array__Array(var6
);
5974 var_listnode8
= var6
;
5975 var_listnode4
= var_nodearraylist1
;
5976 /* <var_listnode4:nullable Object> isa Array[Object] */
5977 cltype
= type_array__Arraykernel__Object
.color
;
5978 idtype
= type_array__Arraykernel__Object
.id
;
5979 if(var_listnode4
== NULL
) {
5982 if(cltype
>= var_listnode4
->type
->table_size
) {
5985 var7
= var_listnode4
->type
->type_table
[cltype
] == idtype
;
5989 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3425);
5992 var8
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction44>*/;
5993 var_listnode5
= var8
;
5994 var_listnode6
= var_nodearraylist2
;
5995 /* <var_listnode6:nullable Object> isa Array[Object] */
5996 cltype10
= type_array__Arraykernel__Object
.color
;
5997 idtype11
= type_array__Arraykernel__Object
.id
;
5998 if(var_listnode6
== NULL
) {
6001 if(cltype10
>= var_listnode6
->type
->table_size
) {
6004 var9
= var_listnode6
->type
->type_table
[cltype10
] == idtype11
;
6008 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3428);
6011 var_pclassdefnode7
= var_nodearraylist3
;
6012 /* <var_pclassdefnode7:nullable Object> isa nullable AClassdef */
6013 cltype13
= type_nullable_parser_nodes__AClassdef
.color
;
6014 idtype14
= type_nullable_parser_nodes__AClassdef
.id
;
6015 if(var_pclassdefnode7
== NULL
) {
6018 if(cltype13
>= var_pclassdefnode7
->type
->table_size
) {
6021 var12
= var_pclassdefnode7
->type
->type_table
[cltype13
] == idtype14
;
6025 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3430);
6028 var15
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode6
) /* concat on <self:ReduceAction44>*/;
6029 var_listnode8
= var15
;
6031 if (var_pclassdefnode7
== NULL
) {
6032 var17
= 0; /* is null */
6034 var17
= 1; /* arg is null and recv is not */
6037 ((void (*)(val
*, val
*))(var_listnode8
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode8
, var_pclassdefnode7
) /* add on <var_listnode8:Array[Object]>*/;
6040 var18
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
6042 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var18
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var18
, var19
, var_listnode3
, var_listnode5
, var_listnode8
) /* init_amodule on <var18:AModule>*/;
6043 CHECK_NEW_parser_nodes__AModule(var18
);
6044 var_pmodulenode1
= var18
;
6045 var_node_list
= var_pmodulenode1
;
6046 var20
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction44> */
6047 var21
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var20
) /* go_to on <var_p:Parser>*/;
6048 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var21
, var_node_list
) /* push on <var_p:Parser>*/;
6051 /* method parser#ReduceAction44#action for (self: Object, Parser) */
6052 void VIRTUAL_parser__ReduceAction44__action(val
* self
, val
* p0
) {
6053 parser__ReduceAction44__action(self
, p0
);
6056 /* method parser#ReduceAction45#action for (self: ReduceAction45, Parser) */
6057 void parser__ReduceAction45__action(val
* self
, val
* p0
) {
6058 val
* var_p
/* var p: Parser */;
6059 val
* var
/* : null */;
6060 val
* var_node_list
/* var node_list: nullable Object */;
6061 val
* var1
/* : nullable Object */;
6062 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6063 val
* var2
/* : nullable Object */;
6064 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6065 val
* var3
/* : nullable Object */;
6066 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6067 val
* var4
/* : nullable Object */;
6068 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6069 val
* var5
/* : Array[Object] */;
6070 val
* var_listnode3
/* var listnode3: Array[Object] */;
6071 val
* var6
/* : Array[Object] */;
6072 val
* var_listnode5
/* var listnode5: Array[Object] */;
6073 val
* var7
/* : Array[Object] */;
6074 val
* var_listnode8
/* var listnode8: Array[Object] */;
6075 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
6076 short int var8
/* : Bool */;
6079 val
* var_listnode4
/* var listnode4: nullable Object */;
6080 short int var9
/* : Bool */;
6083 val
* var12
/* : Array[Object] */;
6084 val
* var_listnode6
/* var listnode6: nullable Object */;
6085 short int var13
/* : Bool */;
6088 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable Object */;
6089 short int var16
/* : Bool */;
6092 val
* var19
/* : Array[Object] */;
6093 val
* var20
/* : null */;
6094 short int var21
/* : Bool */;
6095 val
* var22
/* : AModule */;
6096 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
6097 long var23
/* : Int */;
6098 long var24
/* : Int */;
6101 var_node_list
= var
;
6102 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6103 var_nodearraylist4
= var1
;
6104 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6105 var_nodearraylist3
= var2
;
6106 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6107 var_nodearraylist2
= var3
;
6108 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6109 var_nodearraylist1
= var4
;
6110 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
6111 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
6112 CHECK_NEW_array__Array(var5
);
6113 var_listnode3
= var5
;
6114 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
6115 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
6116 CHECK_NEW_array__Array(var6
);
6117 var_listnode5
= var6
;
6118 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
6119 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
6120 CHECK_NEW_array__Array(var7
);
6121 var_listnode8
= var7
;
6122 var_pmoduledeclnode2
= var_nodearraylist1
;
6123 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
6124 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
6125 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
6126 if(var_pmoduledeclnode2
== NULL
) {
6129 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
6132 var8
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
6136 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3458);
6139 var_listnode4
= var_nodearraylist2
;
6140 /* <var_listnode4:nullable Object> isa Array[Object] */
6141 cltype10
= type_array__Arraykernel__Object
.color
;
6142 idtype11
= type_array__Arraykernel__Object
.id
;
6143 if(var_listnode4
== NULL
) {
6146 if(cltype10
>= var_listnode4
->type
->table_size
) {
6149 var9
= var_listnode4
->type
->type_table
[cltype10
] == idtype11
;
6153 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3460);
6156 var12
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction45>*/;
6157 var_listnode5
= var12
;
6158 var_listnode6
= var_nodearraylist3
;
6159 /* <var_listnode6:nullable Object> isa Array[Object] */
6160 cltype14
= type_array__Arraykernel__Object
.color
;
6161 idtype15
= type_array__Arraykernel__Object
.id
;
6162 if(var_listnode6
== NULL
) {
6165 if(cltype14
>= var_listnode6
->type
->table_size
) {
6168 var13
= var_listnode6
->type
->type_table
[cltype14
] == idtype15
;
6172 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3463);
6175 var_pclassdefnode7
= var_nodearraylist4
;
6176 /* <var_pclassdefnode7:nullable Object> isa nullable AClassdef */
6177 cltype17
= type_nullable_parser_nodes__AClassdef
.color
;
6178 idtype18
= type_nullable_parser_nodes__AClassdef
.id
;
6179 if(var_pclassdefnode7
== NULL
) {
6182 if(cltype17
>= var_pclassdefnode7
->type
->table_size
) {
6185 var16
= var_pclassdefnode7
->type
->type_table
[cltype17
] == idtype18
;
6189 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3465);
6192 var19
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode6
) /* concat on <self:ReduceAction45>*/;
6193 var_listnode8
= var19
;
6195 if (var_pclassdefnode7
== NULL
) {
6196 var21
= 0; /* is null */
6198 var21
= 1; /* arg is null and recv is not */
6201 ((void (*)(val
*, val
*))(var_listnode8
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode8
, var_pclassdefnode7
) /* add on <var_listnode8:Array[Object]>*/;
6204 var22
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
6205 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var22
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var22
, var_pmoduledeclnode2
, var_listnode3
, var_listnode5
, var_listnode8
) /* init_amodule on <var22:AModule>*/;
6206 CHECK_NEW_parser_nodes__AModule(var22
);
6207 var_pmodulenode1
= var22
;
6208 var_node_list
= var_pmodulenode1
;
6209 var23
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction45> */
6210 var24
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var23
) /* go_to on <var_p:Parser>*/;
6211 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var24
, var_node_list
) /* push on <var_p:Parser>*/;
6214 /* method parser#ReduceAction45#action for (self: Object, Parser) */
6215 void VIRTUAL_parser__ReduceAction45__action(val
* self
, val
* p0
) {
6216 parser__ReduceAction45__action(self
, p0
);
6219 /* method parser#ReduceAction46#action for (self: ReduceAction46, Parser) */
6220 void parser__ReduceAction46__action(val
* self
, val
* p0
) {
6221 val
* var_p
/* var p: Parser */;
6222 val
* var
/* : null */;
6223 val
* var_node_list
/* var node_list: nullable Object */;
6224 val
* var1
/* : nullable Object */;
6225 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6226 val
* var2
/* : nullable Object */;
6227 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6228 val
* var3
/* : nullable Object */;
6229 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6230 val
* var4
/* : nullable Object */;
6231 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6232 val
* var5
/* : Array[Object] */;
6233 val
* var_listnode4
/* var listnode4: Array[Object] */;
6234 val
* var6
/* : Array[Object] */;
6235 val
* var_listnode6
/* var listnode6: Array[Object] */;
6236 val
* var7
/* : Array[Object] */;
6237 val
* var_listnode9
/* var listnode9: Array[Object] */;
6238 val
* var_listnode3
/* var listnode3: nullable Object */;
6239 short int var8
/* : Bool */;
6242 val
* var9
/* : Array[Object] */;
6243 val
* var_listnode5
/* var listnode5: nullable Object */;
6244 short int var10
/* : Bool */;
6247 val
* var13
/* : Array[Object] */;
6248 val
* var_listnode7
/* var listnode7: nullable Object */;
6249 short int var14
/* : Bool */;
6252 val
* var_pclassdefnode8
/* var pclassdefnode8: nullable Object */;
6253 short int var17
/* : Bool */;
6256 val
* var20
/* : Array[Object] */;
6257 val
* var21
/* : null */;
6258 short int var22
/* : Bool */;
6259 val
* var23
/* : AModule */;
6260 val
* var24
/* : null */;
6261 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
6262 long var25
/* : Int */;
6263 long var26
/* : Int */;
6266 var_node_list
= var
;
6267 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6268 var_nodearraylist4
= var1
;
6269 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6270 var_nodearraylist3
= var2
;
6271 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6272 var_nodearraylist2
= var3
;
6273 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6274 var_nodearraylist1
= var4
;
6275 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
6276 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
6277 CHECK_NEW_array__Array(var5
);
6278 var_listnode4
= var5
;
6279 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
6280 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
6281 CHECK_NEW_array__Array(var6
);
6282 var_listnode6
= var6
;
6283 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
6284 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
6285 CHECK_NEW_array__Array(var7
);
6286 var_listnode9
= var7
;
6287 var_listnode3
= var_nodearraylist1
;
6288 /* <var_listnode3:nullable Object> isa Array[Object] */
6289 cltype
= type_array__Arraykernel__Object
.color
;
6290 idtype
= type_array__Arraykernel__Object
.id
;
6291 if(var_listnode3
== NULL
) {
6294 if(cltype
>= var_listnode3
->type
->table_size
) {
6297 var8
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
6301 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3493);
6304 var9
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction46>*/;
6305 var_listnode4
= var9
;
6306 var_listnode5
= var_nodearraylist2
;
6307 /* <var_listnode5:nullable Object> isa Array[Object] */
6308 cltype11
= type_array__Arraykernel__Object
.color
;
6309 idtype12
= type_array__Arraykernel__Object
.id
;
6310 if(var_listnode5
== NULL
) {
6313 if(cltype11
>= var_listnode5
->type
->table_size
) {
6316 var10
= var_listnode5
->type
->type_table
[cltype11
] == idtype12
;
6320 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3496);
6323 var13
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction46>*/;
6324 var_listnode6
= var13
;
6325 var_listnode7
= var_nodearraylist3
;
6326 /* <var_listnode7:nullable Object> isa Array[Object] */
6327 cltype15
= type_array__Arraykernel__Object
.color
;
6328 idtype16
= type_array__Arraykernel__Object
.id
;
6329 if(var_listnode7
== NULL
) {
6332 if(cltype15
>= var_listnode7
->type
->table_size
) {
6335 var14
= var_listnode7
->type
->type_table
[cltype15
] == idtype16
;
6339 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3499);
6342 var_pclassdefnode8
= var_nodearraylist4
;
6343 /* <var_pclassdefnode8:nullable Object> isa nullable AClassdef */
6344 cltype18
= type_nullable_parser_nodes__AClassdef
.color
;
6345 idtype19
= type_nullable_parser_nodes__AClassdef
.id
;
6346 if(var_pclassdefnode8
== NULL
) {
6349 if(cltype18
>= var_pclassdefnode8
->type
->table_size
) {
6352 var17
= var_pclassdefnode8
->type
->type_table
[cltype18
] == idtype19
;
6356 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3501);
6359 var20
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode9
, var_listnode7
) /* concat on <self:ReduceAction46>*/;
6360 var_listnode9
= var20
;
6362 if (var_pclassdefnode8
== NULL
) {
6363 var22
= 0; /* is null */
6365 var22
= 1; /* arg is null and recv is not */
6368 ((void (*)(val
*, val
*))(var_listnode9
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode9
, var_pclassdefnode8
) /* add on <var_listnode9:Array[Object]>*/;
6371 var23
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
6373 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var23
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var23
, var24
, var_listnode4
, var_listnode6
, var_listnode9
) /* init_amodule on <var23:AModule>*/;
6374 CHECK_NEW_parser_nodes__AModule(var23
);
6375 var_pmodulenode1
= var23
;
6376 var_node_list
= var_pmodulenode1
;
6377 var25
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction46> */
6378 var26
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var25
) /* go_to on <var_p:Parser>*/;
6379 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var26
, var_node_list
) /* push on <var_p:Parser>*/;
6382 /* method parser#ReduceAction46#action for (self: Object, Parser) */
6383 void VIRTUAL_parser__ReduceAction46__action(val
* self
, val
* p0
) {
6384 parser__ReduceAction46__action(self
, p0
);
6387 /* method parser#ReduceAction47#action for (self: ReduceAction47, Parser) */
6388 void parser__ReduceAction47__action(val
* self
, val
* p0
) {
6389 val
* var_p
/* var p: Parser */;
6390 val
* var
/* : null */;
6391 val
* var_node_list
/* var node_list: nullable Object */;
6392 val
* var1
/* : nullable Object */;
6393 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6394 val
* var2
/* : nullable Object */;
6395 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6396 val
* var3
/* : nullable Object */;
6397 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6398 val
* var4
/* : nullable Object */;
6399 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6400 val
* var5
/* : nullable Object */;
6401 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6402 val
* var6
/* : Array[Object] */;
6403 val
* var_listnode4
/* var listnode4: Array[Object] */;
6404 val
* var7
/* : Array[Object] */;
6405 val
* var_listnode6
/* var listnode6: Array[Object] */;
6406 val
* var8
/* : Array[Object] */;
6407 val
* var_listnode9
/* var listnode9: Array[Object] */;
6408 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
6409 short int var9
/* : Bool */;
6412 val
* var_listnode3
/* var listnode3: nullable Object */;
6413 short int var10
/* : Bool */;
6416 val
* var13
/* : Array[Object] */;
6417 val
* var_listnode5
/* var listnode5: nullable Object */;
6418 short int var14
/* : Bool */;
6421 val
* var17
/* : Array[Object] */;
6422 val
* var_listnode7
/* var listnode7: nullable Object */;
6423 short int var18
/* : Bool */;
6426 val
* var_pclassdefnode8
/* var pclassdefnode8: nullable Object */;
6427 short int var21
/* : Bool */;
6430 val
* var24
/* : Array[Object] */;
6431 val
* var25
/* : null */;
6432 short int var26
/* : Bool */;
6433 val
* var27
/* : AModule */;
6434 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
6435 long var28
/* : Int */;
6436 long var29
/* : Int */;
6439 var_node_list
= var
;
6440 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6441 var_nodearraylist5
= var1
;
6442 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6443 var_nodearraylist4
= var2
;
6444 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6445 var_nodearraylist3
= var3
;
6446 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6447 var_nodearraylist2
= var4
;
6448 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6449 var_nodearraylist1
= var5
;
6450 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
6451 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
6452 CHECK_NEW_array__Array(var6
);
6453 var_listnode4
= var6
;
6454 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
6455 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
6456 CHECK_NEW_array__Array(var7
);
6457 var_listnode6
= var7
;
6458 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
6459 ((void (*)(val
*))(var8
->class->vft
[COLOR_array__Array__init
]))(var8
) /* init on <var8:Array[Object]>*/;
6460 CHECK_NEW_array__Array(var8
);
6461 var_listnode9
= var8
;
6462 var_pmoduledeclnode2
= var_nodearraylist1
;
6463 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
6464 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
6465 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
6466 if(var_pmoduledeclnode2
== NULL
) {
6469 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
6472 var9
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
6476 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3530);
6479 var_listnode3
= var_nodearraylist2
;
6480 /* <var_listnode3:nullable Object> isa Array[Object] */
6481 cltype11
= type_array__Arraykernel__Object
.color
;
6482 idtype12
= type_array__Arraykernel__Object
.id
;
6483 if(var_listnode3
== NULL
) {
6486 if(cltype11
>= var_listnode3
->type
->table_size
) {
6489 var10
= var_listnode3
->type
->type_table
[cltype11
] == idtype12
;
6493 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3532);
6496 var13
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction47>*/;
6497 var_listnode4
= var13
;
6498 var_listnode5
= var_nodearraylist3
;
6499 /* <var_listnode5:nullable Object> isa Array[Object] */
6500 cltype15
= type_array__Arraykernel__Object
.color
;
6501 idtype16
= type_array__Arraykernel__Object
.id
;
6502 if(var_listnode5
== NULL
) {
6505 if(cltype15
>= var_listnode5
->type
->table_size
) {
6508 var14
= var_listnode5
->type
->type_table
[cltype15
] == idtype16
;
6512 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3535);
6515 var17
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction47>*/;
6516 var_listnode6
= var17
;
6517 var_listnode7
= var_nodearraylist4
;
6518 /* <var_listnode7:nullable Object> isa Array[Object] */
6519 cltype19
= type_array__Arraykernel__Object
.color
;
6520 idtype20
= type_array__Arraykernel__Object
.id
;
6521 if(var_listnode7
== NULL
) {
6524 if(cltype19
>= var_listnode7
->type
->table_size
) {
6527 var18
= var_listnode7
->type
->type_table
[cltype19
] == idtype20
;
6531 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3538);
6534 var_pclassdefnode8
= var_nodearraylist5
;
6535 /* <var_pclassdefnode8:nullable Object> isa nullable AClassdef */
6536 cltype22
= type_nullable_parser_nodes__AClassdef
.color
;
6537 idtype23
= type_nullable_parser_nodes__AClassdef
.id
;
6538 if(var_pclassdefnode8
== NULL
) {
6541 if(cltype22
>= var_pclassdefnode8
->type
->table_size
) {
6544 var21
= var_pclassdefnode8
->type
->type_table
[cltype22
] == idtype23
;
6548 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3540);
6551 var24
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode9
, var_listnode7
) /* concat on <self:ReduceAction47>*/;
6552 var_listnode9
= var24
;
6554 if (var_pclassdefnode8
== NULL
) {
6555 var26
= 0; /* is null */
6557 var26
= 1; /* arg is null and recv is not */
6560 ((void (*)(val
*, val
*))(var_listnode9
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode9
, var_pclassdefnode8
) /* add on <var_listnode9:Array[Object]>*/;
6563 var27
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
6564 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var27
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var27
, var_pmoduledeclnode2
, var_listnode4
, var_listnode6
, var_listnode9
) /* init_amodule on <var27:AModule>*/;
6565 CHECK_NEW_parser_nodes__AModule(var27
);
6566 var_pmodulenode1
= var27
;
6567 var_node_list
= var_pmodulenode1
;
6568 var28
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction47> */
6569 var29
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var28
) /* go_to on <var_p:Parser>*/;
6570 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var29
, var_node_list
) /* push on <var_p:Parser>*/;
6573 /* method parser#ReduceAction47#action for (self: Object, Parser) */
6574 void VIRTUAL_parser__ReduceAction47__action(val
* self
, val
* p0
) {
6575 parser__ReduceAction47__action(self
, p0
);
6578 /* method parser#ReduceAction48#action for (self: ReduceAction48, Parser) */
6579 void parser__ReduceAction48__action(val
* self
, val
* p0
) {
6580 val
* var_p
/* var p: Parser */;
6581 val
* var
/* : null */;
6582 val
* var_node_list
/* var node_list: nullable Object */;
6583 val
* var1
/* : nullable Object */;
6584 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6585 val
* var2
/* : nullable Object */;
6586 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6587 val
* var3
/* : Array[Object] */;
6588 val
* var_listnode3
/* var listnode3: Array[Object] */;
6589 val
* var4
/* : Array[Object] */;
6590 val
* var_listnode4
/* var listnode4: Array[Object] */;
6591 val
* var5
/* : Array[Object] */;
6592 val
* var_listnode9
/* var listnode9: Array[Object] */;
6593 val
* var6
/* : Array[Object] */;
6594 val
* var_listnode7
/* var listnode7: Array[Object] */;
6595 val
* var_listnode6
/* var listnode6: nullable Object */;
6596 short int var7
/* : Bool */;
6599 val
* var8
/* : Array[Object] */;
6600 val
* var9
/* : ATopClassdef */;
6601 val
* var_pclassdefnode5
/* var pclassdefnode5: nullable ATopClassdef */;
6602 val
* var_pclassdefnode8
/* var pclassdefnode8: nullable Object */;
6603 short int var10
/* : Bool */;
6606 val
* var13
/* : null */;
6607 short int var14
/* : Bool */;
6608 val
* var15
/* : null */;
6609 short int var16
/* : Bool */;
6610 val
* var17
/* : AModule */;
6611 val
* var18
/* : null */;
6612 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
6613 long var19
/* : Int */;
6614 long var20
/* : Int */;
6617 var_node_list
= var
;
6618 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6619 var_nodearraylist2
= var1
;
6620 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6621 var_nodearraylist1
= var2
;
6622 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
6623 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
6624 CHECK_NEW_array__Array(var3
);
6625 var_listnode3
= var3
;
6626 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
6627 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
6628 CHECK_NEW_array__Array(var4
);
6629 var_listnode4
= var4
;
6630 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
6631 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
6632 CHECK_NEW_array__Array(var5
);
6633 var_listnode9
= var5
;
6634 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
6635 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
6636 CHECK_NEW_array__Array(var6
);
6637 var_listnode7
= var6
;
6638 var_listnode6
= var_nodearraylist1
;
6639 /* <var_listnode6:nullable Object> isa Array[Object] */
6640 cltype
= type_array__Arraykernel__Object
.color
;
6641 idtype
= type_array__Arraykernel__Object
.id
;
6642 if(var_listnode6
== NULL
) {
6645 if(cltype
>= var_listnode6
->type
->table_size
) {
6648 var7
= var_listnode6
->type
->type_table
[cltype
] == idtype
;
6652 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3567);
6655 var8
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode7
, var_listnode6
) /* concat on <self:ReduceAction48>*/;
6656 var_listnode7
= var8
;
6657 var9
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
6658 ((void (*)(val
*, val
*))(var9
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var9
, var_listnode7
) /* init_atopclassdef on <var9:ATopClassdef>*/;
6659 CHECK_NEW_parser_nodes__ATopClassdef(var9
);
6660 var_pclassdefnode5
= var9
;
6661 var_pclassdefnode8
= var_nodearraylist2
;
6662 /* <var_pclassdefnode8:nullable Object> isa nullable AClassdef */
6663 cltype11
= type_nullable_parser_nodes__AClassdef
.color
;
6664 idtype12
= type_nullable_parser_nodes__AClassdef
.id
;
6665 if(var_pclassdefnode8
== NULL
) {
6668 if(cltype11
>= var_pclassdefnode8
->type
->table_size
) {
6671 var10
= var_pclassdefnode8
->type
->type_table
[cltype11
] == idtype12
;
6675 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3573);
6679 if (var_pclassdefnode5
== NULL
) {
6680 var14
= 0; /* is null */
6682 var14
= 1; /* arg is null and recv is not */
6685 ((void (*)(val
*, val
*))(var_listnode9
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode9
, var_pclassdefnode5
) /* add on <var_listnode9:Array[Object]>*/;
6689 if (var_pclassdefnode8
== NULL
) {
6690 var16
= 0; /* is null */
6692 var16
= 1; /* arg is null and recv is not */
6695 ((void (*)(val
*, val
*))(var_listnode9
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode9
, var_pclassdefnode8
) /* add on <var_listnode9:Array[Object]>*/;
6698 var17
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
6700 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var17
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var17
, var18
, var_listnode3
, var_listnode4
, var_listnode9
) /* init_amodule on <var17:AModule>*/;
6701 CHECK_NEW_parser_nodes__AModule(var17
);
6702 var_pmodulenode1
= var17
;
6703 var_node_list
= var_pmodulenode1
;
6704 var19
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction48> */
6705 var20
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var19
) /* go_to on <var_p:Parser>*/;
6706 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var20
, var_node_list
) /* push on <var_p:Parser>*/;
6709 /* method parser#ReduceAction48#action for (self: Object, Parser) */
6710 void VIRTUAL_parser__ReduceAction48__action(val
* self
, val
* p0
) {
6711 parser__ReduceAction48__action(self
, p0
);
6714 /* method parser#ReduceAction49#action for (self: ReduceAction49, Parser) */
6715 void parser__ReduceAction49__action(val
* self
, val
* p0
) {
6716 val
* var_p
/* var p: Parser */;
6717 val
* var
/* : null */;
6718 val
* var_node_list
/* var node_list: nullable Object */;
6719 val
* var1
/* : nullable Object */;
6720 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6721 val
* var2
/* : nullable Object */;
6722 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6723 val
* var3
/* : nullable Object */;
6724 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6725 val
* var4
/* : Array[Object] */;
6726 val
* var_listnode3
/* var listnode3: Array[Object] */;
6727 val
* var5
/* : Array[Object] */;
6728 val
* var_listnode4
/* var listnode4: Array[Object] */;
6729 val
* var6
/* : Array[Object] */;
6730 val
* var_listnode9
/* var listnode9: Array[Object] */;
6731 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
6732 short int var7
/* : Bool */;
6735 val
* var8
/* : Array[Object] */;
6736 val
* var_listnode7
/* var listnode7: Array[Object] */;
6737 val
* var_listnode6
/* var listnode6: nullable Object */;
6738 short int var9
/* : Bool */;
6741 val
* var12
/* : Array[Object] */;
6742 val
* var13
/* : ATopClassdef */;
6743 val
* var_pclassdefnode5
/* var pclassdefnode5: nullable ATopClassdef */;
6744 val
* var_pclassdefnode8
/* var pclassdefnode8: nullable Object */;
6745 short int var14
/* : Bool */;
6748 val
* var17
/* : null */;
6749 short int var18
/* : Bool */;
6750 val
* var19
/* : null */;
6751 short int var20
/* : Bool */;
6752 val
* var21
/* : AModule */;
6753 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
6754 long var22
/* : Int */;
6755 long var23
/* : Int */;
6758 var_node_list
= var
;
6759 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6760 var_nodearraylist3
= var1
;
6761 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6762 var_nodearraylist2
= var2
;
6763 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6764 var_nodearraylist1
= var3
;
6765 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
6766 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
6767 CHECK_NEW_array__Array(var4
);
6768 var_listnode3
= var4
;
6769 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
6770 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
6771 CHECK_NEW_array__Array(var5
);
6772 var_listnode4
= var5
;
6773 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
6774 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
6775 CHECK_NEW_array__Array(var6
);
6776 var_listnode9
= var6
;
6777 var_pmoduledeclnode2
= var_nodearraylist1
;
6778 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
6779 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
6780 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
6781 if(var_pmoduledeclnode2
== NULL
) {
6784 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
6787 var7
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
6791 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3602);
6794 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
6795 ((void (*)(val
*))(var8
->class->vft
[COLOR_array__Array__init
]))(var8
) /* init on <var8:Array[Object]>*/;
6796 CHECK_NEW_array__Array(var8
);
6797 var_listnode7
= var8
;
6798 var_listnode6
= var_nodearraylist2
;
6799 /* <var_listnode6:nullable Object> isa Array[Object] */
6800 cltype10
= type_array__Arraykernel__Object
.color
;
6801 idtype11
= type_array__Arraykernel__Object
.id
;
6802 if(var_listnode6
== NULL
) {
6805 if(cltype10
>= var_listnode6
->type
->table_size
) {
6808 var9
= var_listnode6
->type
->type_table
[cltype10
] == idtype11
;
6812 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3605);
6815 var12
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode7
, var_listnode6
) /* concat on <self:ReduceAction49>*/;
6816 var_listnode7
= var12
;
6817 var13
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
6818 ((void (*)(val
*, val
*))(var13
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var13
, var_listnode7
) /* init_atopclassdef on <var13:ATopClassdef>*/;
6819 CHECK_NEW_parser_nodes__ATopClassdef(var13
);
6820 var_pclassdefnode5
= var13
;
6821 var_pclassdefnode8
= var_nodearraylist3
;
6822 /* <var_pclassdefnode8:nullable Object> isa nullable AClassdef */
6823 cltype15
= type_nullable_parser_nodes__AClassdef
.color
;
6824 idtype16
= type_nullable_parser_nodes__AClassdef
.id
;
6825 if(var_pclassdefnode8
== NULL
) {
6828 if(cltype15
>= var_pclassdefnode8
->type
->table_size
) {
6831 var14
= var_pclassdefnode8
->type
->type_table
[cltype15
] == idtype16
;
6835 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3611);
6839 if (var_pclassdefnode5
== NULL
) {
6840 var18
= 0; /* is null */
6842 var18
= 1; /* arg is null and recv is not */
6845 ((void (*)(val
*, val
*))(var_listnode9
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode9
, var_pclassdefnode5
) /* add on <var_listnode9:Array[Object]>*/;
6849 if (var_pclassdefnode8
== NULL
) {
6850 var20
= 0; /* is null */
6852 var20
= 1; /* arg is null and recv is not */
6855 ((void (*)(val
*, val
*))(var_listnode9
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode9
, var_pclassdefnode8
) /* add on <var_listnode9:Array[Object]>*/;
6858 var21
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
6859 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var21
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var21
, var_pmoduledeclnode2
, var_listnode3
, var_listnode4
, var_listnode9
) /* init_amodule on <var21:AModule>*/;
6860 CHECK_NEW_parser_nodes__AModule(var21
);
6861 var_pmodulenode1
= var21
;
6862 var_node_list
= var_pmodulenode1
;
6863 var22
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction49> */
6864 var23
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var22
) /* go_to on <var_p:Parser>*/;
6865 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var23
, var_node_list
) /* push on <var_p:Parser>*/;
6868 /* method parser#ReduceAction49#action for (self: Object, Parser) */
6869 void VIRTUAL_parser__ReduceAction49__action(val
* self
, val
* p0
) {
6870 parser__ReduceAction49__action(self
, p0
);
6873 /* method parser#ReduceAction50#action for (self: ReduceAction50, Parser) */
6874 void parser__ReduceAction50__action(val
* self
, val
* p0
) {
6875 val
* var_p
/* var p: Parser */;
6876 val
* var
/* : null */;
6877 val
* var_node_list
/* var node_list: nullable Object */;
6878 val
* var1
/* : nullable Object */;
6879 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6880 val
* var2
/* : nullable Object */;
6881 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6882 val
* var3
/* : nullable Object */;
6883 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6884 val
* var4
/* : Array[Object] */;
6885 val
* var_listnode4
/* var listnode4: Array[Object] */;
6886 val
* var5
/* : Array[Object] */;
6887 val
* var_listnode5
/* var listnode5: Array[Object] */;
6888 val
* var6
/* : Array[Object] */;
6889 val
* var_listnode10
/* var listnode10: Array[Object] */;
6890 val
* var_listnode3
/* var listnode3: nullable Object */;
6891 short int var7
/* : Bool */;
6894 val
* var8
/* : Array[Object] */;
6895 val
* var9
/* : Array[Object] */;
6896 val
* var_listnode8
/* var listnode8: Array[Object] */;
6897 val
* var_listnode7
/* var listnode7: nullable Object */;
6898 short int var10
/* : Bool */;
6901 val
* var13
/* : Array[Object] */;
6902 val
* var14
/* : ATopClassdef */;
6903 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable ATopClassdef */;
6904 val
* var_pclassdefnode9
/* var pclassdefnode9: nullable Object */;
6905 short int var15
/* : Bool */;
6908 val
* var18
/* : null */;
6909 short int var19
/* : Bool */;
6910 val
* var20
/* : null */;
6911 short int var21
/* : Bool */;
6912 val
* var22
/* : AModule */;
6913 val
* var23
/* : null */;
6914 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
6915 long var24
/* : Int */;
6916 long var25
/* : Int */;
6919 var_node_list
= var
;
6920 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6921 var_nodearraylist3
= var1
;
6922 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6923 var_nodearraylist2
= var2
;
6924 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6925 var_nodearraylist1
= var3
;
6926 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
6927 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
6928 CHECK_NEW_array__Array(var4
);
6929 var_listnode4
= var4
;
6930 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
6931 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
6932 CHECK_NEW_array__Array(var5
);
6933 var_listnode5
= var5
;
6934 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
6935 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
6936 CHECK_NEW_array__Array(var6
);
6937 var_listnode10
= var6
;
6938 var_listnode3
= var_nodearraylist1
;
6939 /* <var_listnode3:nullable Object> isa Array[Object] */
6940 cltype
= type_array__Arraykernel__Object
.color
;
6941 idtype
= type_array__Arraykernel__Object
.id
;
6942 if(var_listnode3
== NULL
) {
6945 if(cltype
>= var_listnode3
->type
->table_size
) {
6948 var7
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
6952 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3640);
6955 var8
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction50>*/;
6956 var_listnode4
= var8
;
6957 var9
= NEW_array__Array(&type_array__Arraykernel__Object
);
6958 ((void (*)(val
*))(var9
->class->vft
[COLOR_array__Array__init
]))(var9
) /* init on <var9:Array[Object]>*/;
6959 CHECK_NEW_array__Array(var9
);
6960 var_listnode8
= var9
;
6961 var_listnode7
= var_nodearraylist2
;
6962 /* <var_listnode7:nullable Object> isa Array[Object] */
6963 cltype11
= type_array__Arraykernel__Object
.color
;
6964 idtype12
= type_array__Arraykernel__Object
.id
;
6965 if(var_listnode7
== NULL
) {
6968 if(cltype11
>= var_listnode7
->type
->table_size
) {
6971 var10
= var_listnode7
->type
->type_table
[cltype11
] == idtype12
;
6975 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3644);
6978 var13
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode7
) /* concat on <self:ReduceAction50>*/;
6979 var_listnode8
= var13
;
6980 var14
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
6981 ((void (*)(val
*, val
*))(var14
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var14
, var_listnode8
) /* init_atopclassdef on <var14:ATopClassdef>*/;
6982 CHECK_NEW_parser_nodes__ATopClassdef(var14
);
6983 var_pclassdefnode6
= var14
;
6984 var_pclassdefnode9
= var_nodearraylist3
;
6985 /* <var_pclassdefnode9:nullable Object> isa nullable AClassdef */
6986 cltype16
= type_nullable_parser_nodes__AClassdef
.color
;
6987 idtype17
= type_nullable_parser_nodes__AClassdef
.id
;
6988 if(var_pclassdefnode9
== NULL
) {
6991 if(cltype16
>= var_pclassdefnode9
->type
->table_size
) {
6994 var15
= var_pclassdefnode9
->type
->type_table
[cltype16
] == idtype17
;
6998 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3650);
7002 if (var_pclassdefnode6
== NULL
) {
7003 var19
= 0; /* is null */
7005 var19
= 1; /* arg is null and recv is not */
7008 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode6
) /* add on <var_listnode10:Array[Object]>*/;
7012 if (var_pclassdefnode9
== NULL
) {
7013 var21
= 0; /* is null */
7015 var21
= 1; /* arg is null and recv is not */
7018 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode9
) /* add on <var_listnode10:Array[Object]>*/;
7021 var22
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
7023 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var22
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var22
, var23
, var_listnode4
, var_listnode5
, var_listnode10
) /* init_amodule on <var22:AModule>*/;
7024 CHECK_NEW_parser_nodes__AModule(var22
);
7025 var_pmodulenode1
= var22
;
7026 var_node_list
= var_pmodulenode1
;
7027 var24
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction50> */
7028 var25
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var24
) /* go_to on <var_p:Parser>*/;
7029 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var25
, var_node_list
) /* push on <var_p:Parser>*/;
7032 /* method parser#ReduceAction50#action for (self: Object, Parser) */
7033 void VIRTUAL_parser__ReduceAction50__action(val
* self
, val
* p0
) {
7034 parser__ReduceAction50__action(self
, p0
);
7037 /* method parser#ReduceAction51#action for (self: ReduceAction51, Parser) */
7038 void parser__ReduceAction51__action(val
* self
, val
* p0
) {
7039 val
* var_p
/* var p: Parser */;
7040 val
* var
/* : null */;
7041 val
* var_node_list
/* var node_list: nullable Object */;
7042 val
* var1
/* : nullable Object */;
7043 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7044 val
* var2
/* : nullable Object */;
7045 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7046 val
* var3
/* : nullable Object */;
7047 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7048 val
* var4
/* : nullable Object */;
7049 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7050 val
* var5
/* : Array[Object] */;
7051 val
* var_listnode4
/* var listnode4: Array[Object] */;
7052 val
* var6
/* : Array[Object] */;
7053 val
* var_listnode5
/* var listnode5: Array[Object] */;
7054 val
* var7
/* : Array[Object] */;
7055 val
* var_listnode10
/* var listnode10: Array[Object] */;
7056 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
7057 short int var8
/* : Bool */;
7060 val
* var_listnode3
/* var listnode3: nullable Object */;
7061 short int var9
/* : Bool */;
7064 val
* var12
/* : Array[Object] */;
7065 val
* var13
/* : Array[Object] */;
7066 val
* var_listnode8
/* var listnode8: Array[Object] */;
7067 val
* var_listnode7
/* var listnode7: nullable Object */;
7068 short int var14
/* : Bool */;
7071 val
* var17
/* : Array[Object] */;
7072 val
* var18
/* : ATopClassdef */;
7073 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable ATopClassdef */;
7074 val
* var_pclassdefnode9
/* var pclassdefnode9: nullable Object */;
7075 short int var19
/* : Bool */;
7078 val
* var22
/* : null */;
7079 short int var23
/* : Bool */;
7080 val
* var24
/* : null */;
7081 short int var25
/* : Bool */;
7082 val
* var26
/* : AModule */;
7083 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
7084 long var27
/* : Int */;
7085 long var28
/* : Int */;
7088 var_node_list
= var
;
7089 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7090 var_nodearraylist4
= var1
;
7091 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7092 var_nodearraylist3
= var2
;
7093 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7094 var_nodearraylist2
= var3
;
7095 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7096 var_nodearraylist1
= var4
;
7097 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
7098 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
7099 CHECK_NEW_array__Array(var5
);
7100 var_listnode4
= var5
;
7101 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
7102 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
7103 CHECK_NEW_array__Array(var6
);
7104 var_listnode5
= var6
;
7105 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
7106 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
7107 CHECK_NEW_array__Array(var7
);
7108 var_listnode10
= var7
;
7109 var_pmoduledeclnode2
= var_nodearraylist1
;
7110 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
7111 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
7112 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
7113 if(var_pmoduledeclnode2
== NULL
) {
7116 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
7119 var8
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
7123 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3680);
7126 var_listnode3
= var_nodearraylist2
;
7127 /* <var_listnode3:nullable Object> isa Array[Object] */
7128 cltype10
= type_array__Arraykernel__Object
.color
;
7129 idtype11
= type_array__Arraykernel__Object
.id
;
7130 if(var_listnode3
== NULL
) {
7133 if(cltype10
>= var_listnode3
->type
->table_size
) {
7136 var9
= var_listnode3
->type
->type_table
[cltype10
] == idtype11
;
7140 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3682);
7143 var12
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction51>*/;
7144 var_listnode4
= var12
;
7145 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
7146 ((void (*)(val
*))(var13
->class->vft
[COLOR_array__Array__init
]))(var13
) /* init on <var13:Array[Object]>*/;
7147 CHECK_NEW_array__Array(var13
);
7148 var_listnode8
= var13
;
7149 var_listnode7
= var_nodearraylist3
;
7150 /* <var_listnode7:nullable Object> isa Array[Object] */
7151 cltype15
= type_array__Arraykernel__Object
.color
;
7152 idtype16
= type_array__Arraykernel__Object
.id
;
7153 if(var_listnode7
== NULL
) {
7156 if(cltype15
>= var_listnode7
->type
->table_size
) {
7159 var14
= var_listnode7
->type
->type_table
[cltype15
] == idtype16
;
7163 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3686);
7166 var17
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode7
) /* concat on <self:ReduceAction51>*/;
7167 var_listnode8
= var17
;
7168 var18
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
7169 ((void (*)(val
*, val
*))(var18
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var18
, var_listnode8
) /* init_atopclassdef on <var18:ATopClassdef>*/;
7170 CHECK_NEW_parser_nodes__ATopClassdef(var18
);
7171 var_pclassdefnode6
= var18
;
7172 var_pclassdefnode9
= var_nodearraylist4
;
7173 /* <var_pclassdefnode9:nullable Object> isa nullable AClassdef */
7174 cltype20
= type_nullable_parser_nodes__AClassdef
.color
;
7175 idtype21
= type_nullable_parser_nodes__AClassdef
.id
;
7176 if(var_pclassdefnode9
== NULL
) {
7179 if(cltype20
>= var_pclassdefnode9
->type
->table_size
) {
7182 var19
= var_pclassdefnode9
->type
->type_table
[cltype20
] == idtype21
;
7186 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3692);
7190 if (var_pclassdefnode6
== NULL
) {
7191 var23
= 0; /* is null */
7193 var23
= 1; /* arg is null and recv is not */
7196 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode6
) /* add on <var_listnode10:Array[Object]>*/;
7200 if (var_pclassdefnode9
== NULL
) {
7201 var25
= 0; /* is null */
7203 var25
= 1; /* arg is null and recv is not */
7206 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode9
) /* add on <var_listnode10:Array[Object]>*/;
7209 var26
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
7210 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var26
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var26
, var_pmoduledeclnode2
, var_listnode4
, var_listnode5
, var_listnode10
) /* init_amodule on <var26:AModule>*/;
7211 CHECK_NEW_parser_nodes__AModule(var26
);
7212 var_pmodulenode1
= var26
;
7213 var_node_list
= var_pmodulenode1
;
7214 var27
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction51> */
7215 var28
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var27
) /* go_to on <var_p:Parser>*/;
7216 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var28
, var_node_list
) /* push on <var_p:Parser>*/;
7219 /* method parser#ReduceAction51#action for (self: Object, Parser) */
7220 void VIRTUAL_parser__ReduceAction51__action(val
* self
, val
* p0
) {
7221 parser__ReduceAction51__action(self
, p0
);
7224 /* method parser#ReduceAction52#action for (self: ReduceAction52, Parser) */
7225 void parser__ReduceAction52__action(val
* self
, val
* p0
) {
7226 val
* var_p
/* var p: Parser */;
7227 val
* var
/* : null */;
7228 val
* var_node_list
/* var node_list: nullable Object */;
7229 val
* var1
/* : nullable Object */;
7230 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7231 val
* var2
/* : nullable Object */;
7232 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7233 val
* var3
/* : nullable Object */;
7234 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7235 val
* var4
/* : Array[Object] */;
7236 val
* var_listnode3
/* var listnode3: Array[Object] */;
7237 val
* var5
/* : Array[Object] */;
7238 val
* var_listnode5
/* var listnode5: Array[Object] */;
7239 val
* var6
/* : Array[Object] */;
7240 val
* var_listnode10
/* var listnode10: Array[Object] */;
7241 val
* var_listnode4
/* var listnode4: nullable Object */;
7242 short int var7
/* : Bool */;
7245 val
* var8
/* : Array[Object] */;
7246 val
* var9
/* : Array[Object] */;
7247 val
* var_listnode8
/* var listnode8: Array[Object] */;
7248 val
* var_listnode7
/* var listnode7: nullable Object */;
7249 short int var10
/* : Bool */;
7252 val
* var13
/* : Array[Object] */;
7253 val
* var14
/* : ATopClassdef */;
7254 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable ATopClassdef */;
7255 val
* var_pclassdefnode9
/* var pclassdefnode9: nullable Object */;
7256 short int var15
/* : Bool */;
7259 val
* var18
/* : null */;
7260 short int var19
/* : Bool */;
7261 val
* var20
/* : null */;
7262 short int var21
/* : Bool */;
7263 val
* var22
/* : AModule */;
7264 val
* var23
/* : null */;
7265 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
7266 long var24
/* : Int */;
7267 long var25
/* : Int */;
7270 var_node_list
= var
;
7271 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7272 var_nodearraylist3
= var1
;
7273 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7274 var_nodearraylist2
= var2
;
7275 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7276 var_nodearraylist1
= var3
;
7277 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
7278 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
7279 CHECK_NEW_array__Array(var4
);
7280 var_listnode3
= var4
;
7281 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
7282 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
7283 CHECK_NEW_array__Array(var5
);
7284 var_listnode5
= var5
;
7285 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
7286 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
7287 CHECK_NEW_array__Array(var6
);
7288 var_listnode10
= var6
;
7289 var_listnode4
= var_nodearraylist1
;
7290 /* <var_listnode4:nullable Object> isa Array[Object] */
7291 cltype
= type_array__Arraykernel__Object
.color
;
7292 idtype
= type_array__Arraykernel__Object
.id
;
7293 if(var_listnode4
== NULL
) {
7296 if(cltype
>= var_listnode4
->type
->table_size
) {
7299 var7
= var_listnode4
->type
->type_table
[cltype
] == idtype
;
7303 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3721);
7306 var8
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction52>*/;
7307 var_listnode5
= var8
;
7308 var9
= NEW_array__Array(&type_array__Arraykernel__Object
);
7309 ((void (*)(val
*))(var9
->class->vft
[COLOR_array__Array__init
]))(var9
) /* init on <var9:Array[Object]>*/;
7310 CHECK_NEW_array__Array(var9
);
7311 var_listnode8
= var9
;
7312 var_listnode7
= var_nodearraylist2
;
7313 /* <var_listnode7:nullable Object> isa Array[Object] */
7314 cltype11
= type_array__Arraykernel__Object
.color
;
7315 idtype12
= type_array__Arraykernel__Object
.id
;
7316 if(var_listnode7
== NULL
) {
7319 if(cltype11
>= var_listnode7
->type
->table_size
) {
7322 var10
= var_listnode7
->type
->type_table
[cltype11
] == idtype12
;
7326 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3725);
7329 var13
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode7
) /* concat on <self:ReduceAction52>*/;
7330 var_listnode8
= var13
;
7331 var14
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
7332 ((void (*)(val
*, val
*))(var14
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var14
, var_listnode8
) /* init_atopclassdef on <var14:ATopClassdef>*/;
7333 CHECK_NEW_parser_nodes__ATopClassdef(var14
);
7334 var_pclassdefnode6
= var14
;
7335 var_pclassdefnode9
= var_nodearraylist3
;
7336 /* <var_pclassdefnode9:nullable Object> isa nullable AClassdef */
7337 cltype16
= type_nullable_parser_nodes__AClassdef
.color
;
7338 idtype17
= type_nullable_parser_nodes__AClassdef
.id
;
7339 if(var_pclassdefnode9
== NULL
) {
7342 if(cltype16
>= var_pclassdefnode9
->type
->table_size
) {
7345 var15
= var_pclassdefnode9
->type
->type_table
[cltype16
] == idtype17
;
7349 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3731);
7353 if (var_pclassdefnode6
== NULL
) {
7354 var19
= 0; /* is null */
7356 var19
= 1; /* arg is null and recv is not */
7359 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode6
) /* add on <var_listnode10:Array[Object]>*/;
7363 if (var_pclassdefnode9
== NULL
) {
7364 var21
= 0; /* is null */
7366 var21
= 1; /* arg is null and recv is not */
7369 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode9
) /* add on <var_listnode10:Array[Object]>*/;
7372 var22
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
7374 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var22
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var22
, var23
, var_listnode3
, var_listnode5
, var_listnode10
) /* init_amodule on <var22:AModule>*/;
7375 CHECK_NEW_parser_nodes__AModule(var22
);
7376 var_pmodulenode1
= var22
;
7377 var_node_list
= var_pmodulenode1
;
7378 var24
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction52> */
7379 var25
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var24
) /* go_to on <var_p:Parser>*/;
7380 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var25
, var_node_list
) /* push on <var_p:Parser>*/;
7383 /* method parser#ReduceAction52#action for (self: Object, Parser) */
7384 void VIRTUAL_parser__ReduceAction52__action(val
* self
, val
* p0
) {
7385 parser__ReduceAction52__action(self
, p0
);
7388 /* method parser#ReduceAction53#action for (self: ReduceAction53, Parser) */
7389 void parser__ReduceAction53__action(val
* self
, val
* p0
) {
7390 val
* var_p
/* var p: Parser */;
7391 val
* var
/* : null */;
7392 val
* var_node_list
/* var node_list: nullable Object */;
7393 val
* var1
/* : nullable Object */;
7394 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7395 val
* var2
/* : nullable Object */;
7396 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7397 val
* var3
/* : nullable Object */;
7398 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7399 val
* var4
/* : nullable Object */;
7400 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7401 val
* var5
/* : Array[Object] */;
7402 val
* var_listnode3
/* var listnode3: Array[Object] */;
7403 val
* var6
/* : Array[Object] */;
7404 val
* var_listnode5
/* var listnode5: Array[Object] */;
7405 val
* var7
/* : Array[Object] */;
7406 val
* var_listnode10
/* var listnode10: Array[Object] */;
7407 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
7408 short int var8
/* : Bool */;
7411 val
* var_listnode4
/* var listnode4: nullable Object */;
7412 short int var9
/* : Bool */;
7415 val
* var12
/* : Array[Object] */;
7416 val
* var13
/* : Array[Object] */;
7417 val
* var_listnode8
/* var listnode8: Array[Object] */;
7418 val
* var_listnode7
/* var listnode7: nullable Object */;
7419 short int var14
/* : Bool */;
7422 val
* var17
/* : Array[Object] */;
7423 val
* var18
/* : ATopClassdef */;
7424 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable ATopClassdef */;
7425 val
* var_pclassdefnode9
/* var pclassdefnode9: nullable Object */;
7426 short int var19
/* : Bool */;
7429 val
* var22
/* : null */;
7430 short int var23
/* : Bool */;
7431 val
* var24
/* : null */;
7432 short int var25
/* : Bool */;
7433 val
* var26
/* : AModule */;
7434 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
7435 long var27
/* : Int */;
7436 long var28
/* : Int */;
7439 var_node_list
= var
;
7440 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7441 var_nodearraylist4
= var1
;
7442 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7443 var_nodearraylist3
= var2
;
7444 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7445 var_nodearraylist2
= var3
;
7446 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7447 var_nodearraylist1
= var4
;
7448 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
7449 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
7450 CHECK_NEW_array__Array(var5
);
7451 var_listnode3
= var5
;
7452 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
7453 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
7454 CHECK_NEW_array__Array(var6
);
7455 var_listnode5
= var6
;
7456 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
7457 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
7458 CHECK_NEW_array__Array(var7
);
7459 var_listnode10
= var7
;
7460 var_pmoduledeclnode2
= var_nodearraylist1
;
7461 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
7462 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
7463 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
7464 if(var_pmoduledeclnode2
== NULL
) {
7467 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
7470 var8
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
7474 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3761);
7477 var_listnode4
= var_nodearraylist2
;
7478 /* <var_listnode4:nullable Object> isa Array[Object] */
7479 cltype10
= type_array__Arraykernel__Object
.color
;
7480 idtype11
= type_array__Arraykernel__Object
.id
;
7481 if(var_listnode4
== NULL
) {
7484 if(cltype10
>= var_listnode4
->type
->table_size
) {
7487 var9
= var_listnode4
->type
->type_table
[cltype10
] == idtype11
;
7491 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3763);
7494 var12
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction53>*/;
7495 var_listnode5
= var12
;
7496 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
7497 ((void (*)(val
*))(var13
->class->vft
[COLOR_array__Array__init
]))(var13
) /* init on <var13:Array[Object]>*/;
7498 CHECK_NEW_array__Array(var13
);
7499 var_listnode8
= var13
;
7500 var_listnode7
= var_nodearraylist3
;
7501 /* <var_listnode7:nullable Object> isa Array[Object] */
7502 cltype15
= type_array__Arraykernel__Object
.color
;
7503 idtype16
= type_array__Arraykernel__Object
.id
;
7504 if(var_listnode7
== NULL
) {
7507 if(cltype15
>= var_listnode7
->type
->table_size
) {
7510 var14
= var_listnode7
->type
->type_table
[cltype15
] == idtype16
;
7514 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3767);
7517 var17
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode7
) /* concat on <self:ReduceAction53>*/;
7518 var_listnode8
= var17
;
7519 var18
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
7520 ((void (*)(val
*, val
*))(var18
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var18
, var_listnode8
) /* init_atopclassdef on <var18:ATopClassdef>*/;
7521 CHECK_NEW_parser_nodes__ATopClassdef(var18
);
7522 var_pclassdefnode6
= var18
;
7523 var_pclassdefnode9
= var_nodearraylist4
;
7524 /* <var_pclassdefnode9:nullable Object> isa nullable AClassdef */
7525 cltype20
= type_nullable_parser_nodes__AClassdef
.color
;
7526 idtype21
= type_nullable_parser_nodes__AClassdef
.id
;
7527 if(var_pclassdefnode9
== NULL
) {
7530 if(cltype20
>= var_pclassdefnode9
->type
->table_size
) {
7533 var19
= var_pclassdefnode9
->type
->type_table
[cltype20
] == idtype21
;
7537 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3773);
7541 if (var_pclassdefnode6
== NULL
) {
7542 var23
= 0; /* is null */
7544 var23
= 1; /* arg is null and recv is not */
7547 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode6
) /* add on <var_listnode10:Array[Object]>*/;
7551 if (var_pclassdefnode9
== NULL
) {
7552 var25
= 0; /* is null */
7554 var25
= 1; /* arg is null and recv is not */
7557 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode9
) /* add on <var_listnode10:Array[Object]>*/;
7560 var26
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
7561 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var26
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var26
, var_pmoduledeclnode2
, var_listnode3
, var_listnode5
, var_listnode10
) /* init_amodule on <var26:AModule>*/;
7562 CHECK_NEW_parser_nodes__AModule(var26
);
7563 var_pmodulenode1
= var26
;
7564 var_node_list
= var_pmodulenode1
;
7565 var27
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction53> */
7566 var28
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var27
) /* go_to on <var_p:Parser>*/;
7567 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var28
, var_node_list
) /* push on <var_p:Parser>*/;
7570 /* method parser#ReduceAction53#action for (self: Object, Parser) */
7571 void VIRTUAL_parser__ReduceAction53__action(val
* self
, val
* p0
) {
7572 parser__ReduceAction53__action(self
, p0
);
7575 /* method parser#ReduceAction54#action for (self: ReduceAction54, Parser) */
7576 void parser__ReduceAction54__action(val
* self
, val
* p0
) {
7577 val
* var_p
/* var p: Parser */;
7578 val
* var
/* : null */;
7579 val
* var_node_list
/* var node_list: nullable Object */;
7580 val
* var1
/* : nullable Object */;
7581 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7582 val
* var2
/* : nullable Object */;
7583 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7584 val
* var3
/* : nullable Object */;
7585 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7586 val
* var4
/* : nullable Object */;
7587 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7588 val
* var5
/* : Array[Object] */;
7589 val
* var_listnode4
/* var listnode4: Array[Object] */;
7590 val
* var6
/* : Array[Object] */;
7591 val
* var_listnode6
/* var listnode6: Array[Object] */;
7592 val
* var7
/* : Array[Object] */;
7593 val
* var_listnode11
/* var listnode11: Array[Object] */;
7594 val
* var_listnode3
/* var listnode3: nullable Object */;
7595 short int var8
/* : Bool */;
7598 val
* var9
/* : Array[Object] */;
7599 val
* var_listnode5
/* var listnode5: nullable Object */;
7600 short int var10
/* : Bool */;
7603 val
* var13
/* : Array[Object] */;
7604 val
* var14
/* : Array[Object] */;
7605 val
* var_listnode9
/* var listnode9: Array[Object] */;
7606 val
* var_listnode8
/* var listnode8: nullable Object */;
7607 short int var15
/* : Bool */;
7610 val
* var18
/* : Array[Object] */;
7611 val
* var19
/* : ATopClassdef */;
7612 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable ATopClassdef */;
7613 val
* var_pclassdefnode10
/* var pclassdefnode10: nullable Object */;
7614 short int var20
/* : Bool */;
7617 val
* var23
/* : null */;
7618 short int var24
/* : Bool */;
7619 val
* var25
/* : null */;
7620 short int var26
/* : Bool */;
7621 val
* var27
/* : AModule */;
7622 val
* var28
/* : null */;
7623 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
7624 long var29
/* : Int */;
7625 long var30
/* : Int */;
7628 var_node_list
= var
;
7629 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7630 var_nodearraylist4
= var1
;
7631 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7632 var_nodearraylist3
= var2
;
7633 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7634 var_nodearraylist2
= var3
;
7635 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7636 var_nodearraylist1
= var4
;
7637 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
7638 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
7639 CHECK_NEW_array__Array(var5
);
7640 var_listnode4
= var5
;
7641 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
7642 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
7643 CHECK_NEW_array__Array(var6
);
7644 var_listnode6
= var6
;
7645 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
7646 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
7647 CHECK_NEW_array__Array(var7
);
7648 var_listnode11
= var7
;
7649 var_listnode3
= var_nodearraylist1
;
7650 /* <var_listnode3:nullable Object> isa Array[Object] */
7651 cltype
= type_array__Arraykernel__Object
.color
;
7652 idtype
= type_array__Arraykernel__Object
.id
;
7653 if(var_listnode3
== NULL
) {
7656 if(cltype
>= var_listnode3
->type
->table_size
) {
7659 var8
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
7663 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3803);
7666 var9
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction54>*/;
7667 var_listnode4
= var9
;
7668 var_listnode5
= var_nodearraylist2
;
7669 /* <var_listnode5:nullable Object> isa Array[Object] */
7670 cltype11
= type_array__Arraykernel__Object
.color
;
7671 idtype12
= type_array__Arraykernel__Object
.id
;
7672 if(var_listnode5
== NULL
) {
7675 if(cltype11
>= var_listnode5
->type
->table_size
) {
7678 var10
= var_listnode5
->type
->type_table
[cltype11
] == idtype12
;
7682 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3806);
7685 var13
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction54>*/;
7686 var_listnode6
= var13
;
7687 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
7688 ((void (*)(val
*))(var14
->class->vft
[COLOR_array__Array__init
]))(var14
) /* init on <var14:Array[Object]>*/;
7689 CHECK_NEW_array__Array(var14
);
7690 var_listnode9
= var14
;
7691 var_listnode8
= var_nodearraylist3
;
7692 /* <var_listnode8:nullable Object> isa Array[Object] */
7693 cltype16
= type_array__Arraykernel__Object
.color
;
7694 idtype17
= type_array__Arraykernel__Object
.id
;
7695 if(var_listnode8
== NULL
) {
7698 if(cltype16
>= var_listnode8
->type
->table_size
) {
7701 var15
= var_listnode8
->type
->type_table
[cltype16
] == idtype17
;
7705 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3810);
7708 var18
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode9
, var_listnode8
) /* concat on <self:ReduceAction54>*/;
7709 var_listnode9
= var18
;
7710 var19
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
7711 ((void (*)(val
*, val
*))(var19
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var19
, var_listnode9
) /* init_atopclassdef on <var19:ATopClassdef>*/;
7712 CHECK_NEW_parser_nodes__ATopClassdef(var19
);
7713 var_pclassdefnode7
= var19
;
7714 var_pclassdefnode10
= var_nodearraylist4
;
7715 /* <var_pclassdefnode10:nullable Object> isa nullable AClassdef */
7716 cltype21
= type_nullable_parser_nodes__AClassdef
.color
;
7717 idtype22
= type_nullable_parser_nodes__AClassdef
.id
;
7718 if(var_pclassdefnode10
== NULL
) {
7721 if(cltype21
>= var_pclassdefnode10
->type
->table_size
) {
7724 var20
= var_pclassdefnode10
->type
->type_table
[cltype21
] == idtype22
;
7728 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3816);
7732 if (var_pclassdefnode7
== NULL
) {
7733 var24
= 0; /* is null */
7735 var24
= 1; /* arg is null and recv is not */
7738 ((void (*)(val
*, val
*))(var_listnode11
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode11
, var_pclassdefnode7
) /* add on <var_listnode11:Array[Object]>*/;
7742 if (var_pclassdefnode10
== NULL
) {
7743 var26
= 0; /* is null */
7745 var26
= 1; /* arg is null and recv is not */
7748 ((void (*)(val
*, val
*))(var_listnode11
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode11
, var_pclassdefnode10
) /* add on <var_listnode11:Array[Object]>*/;
7751 var27
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
7753 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var27
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var27
, var28
, var_listnode4
, var_listnode6
, var_listnode11
) /* init_amodule on <var27:AModule>*/;
7754 CHECK_NEW_parser_nodes__AModule(var27
);
7755 var_pmodulenode1
= var27
;
7756 var_node_list
= var_pmodulenode1
;
7757 var29
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction54> */
7758 var30
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var29
) /* go_to on <var_p:Parser>*/;
7759 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var30
, var_node_list
) /* push on <var_p:Parser>*/;
7762 /* method parser#ReduceAction54#action for (self: Object, Parser) */
7763 void VIRTUAL_parser__ReduceAction54__action(val
* self
, val
* p0
) {
7764 parser__ReduceAction54__action(self
, p0
);
7767 /* method parser#ReduceAction55#action for (self: ReduceAction55, Parser) */
7768 void parser__ReduceAction55__action(val
* self
, val
* p0
) {
7769 val
* var_p
/* var p: Parser */;
7770 val
* var
/* : null */;
7771 val
* var_node_list
/* var node_list: nullable Object */;
7772 val
* var1
/* : nullable Object */;
7773 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7774 val
* var2
/* : nullable Object */;
7775 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7776 val
* var3
/* : nullable Object */;
7777 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7778 val
* var4
/* : nullable Object */;
7779 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7780 val
* var5
/* : nullable Object */;
7781 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7782 val
* var6
/* : Array[Object] */;
7783 val
* var_listnode4
/* var listnode4: Array[Object] */;
7784 val
* var7
/* : Array[Object] */;
7785 val
* var_listnode6
/* var listnode6: Array[Object] */;
7786 val
* var8
/* : Array[Object] */;
7787 val
* var_listnode11
/* var listnode11: Array[Object] */;
7788 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
7789 short int var9
/* : Bool */;
7792 val
* var_listnode3
/* var listnode3: nullable Object */;
7793 short int var10
/* : Bool */;
7796 val
* var13
/* : Array[Object] */;
7797 val
* var_listnode5
/* var listnode5: nullable Object */;
7798 short int var14
/* : Bool */;
7801 val
* var17
/* : Array[Object] */;
7802 val
* var18
/* : Array[Object] */;
7803 val
* var_listnode9
/* var listnode9: Array[Object] */;
7804 val
* var_listnode8
/* var listnode8: nullable Object */;
7805 short int var19
/* : Bool */;
7808 val
* var22
/* : Array[Object] */;
7809 val
* var23
/* : ATopClassdef */;
7810 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable ATopClassdef */;
7811 val
* var_pclassdefnode10
/* var pclassdefnode10: nullable Object */;
7812 short int var24
/* : Bool */;
7815 val
* var27
/* : null */;
7816 short int var28
/* : Bool */;
7817 val
* var29
/* : null */;
7818 short int var30
/* : Bool */;
7819 val
* var31
/* : AModule */;
7820 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
7821 long var32
/* : Int */;
7822 long var33
/* : Int */;
7825 var_node_list
= var
;
7826 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7827 var_nodearraylist5
= var1
;
7828 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7829 var_nodearraylist4
= var2
;
7830 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7831 var_nodearraylist3
= var3
;
7832 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7833 var_nodearraylist2
= var4
;
7834 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7835 var_nodearraylist1
= var5
;
7836 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
7837 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
7838 CHECK_NEW_array__Array(var6
);
7839 var_listnode4
= var6
;
7840 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
7841 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
7842 CHECK_NEW_array__Array(var7
);
7843 var_listnode6
= var7
;
7844 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
7845 ((void (*)(val
*))(var8
->class->vft
[COLOR_array__Array__init
]))(var8
) /* init on <var8:Array[Object]>*/;
7846 CHECK_NEW_array__Array(var8
);
7847 var_listnode11
= var8
;
7848 var_pmoduledeclnode2
= var_nodearraylist1
;
7849 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
7850 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
7851 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
7852 if(var_pmoduledeclnode2
== NULL
) {
7855 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
7858 var9
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
7862 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3847);
7865 var_listnode3
= var_nodearraylist2
;
7866 /* <var_listnode3:nullable Object> isa Array[Object] */
7867 cltype11
= type_array__Arraykernel__Object
.color
;
7868 idtype12
= type_array__Arraykernel__Object
.id
;
7869 if(var_listnode3
== NULL
) {
7872 if(cltype11
>= var_listnode3
->type
->table_size
) {
7875 var10
= var_listnode3
->type
->type_table
[cltype11
] == idtype12
;
7879 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3849);
7882 var13
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction55>*/;
7883 var_listnode4
= var13
;
7884 var_listnode5
= var_nodearraylist3
;
7885 /* <var_listnode5:nullable Object> isa Array[Object] */
7886 cltype15
= type_array__Arraykernel__Object
.color
;
7887 idtype16
= type_array__Arraykernel__Object
.id
;
7888 if(var_listnode5
== NULL
) {
7891 if(cltype15
>= var_listnode5
->type
->table_size
) {
7894 var14
= var_listnode5
->type
->type_table
[cltype15
] == idtype16
;
7898 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3852);
7901 var17
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction55>*/;
7902 var_listnode6
= var17
;
7903 var18
= NEW_array__Array(&type_array__Arraykernel__Object
);
7904 ((void (*)(val
*))(var18
->class->vft
[COLOR_array__Array__init
]))(var18
) /* init on <var18:Array[Object]>*/;
7905 CHECK_NEW_array__Array(var18
);
7906 var_listnode9
= var18
;
7907 var_listnode8
= var_nodearraylist4
;
7908 /* <var_listnode8:nullable Object> isa Array[Object] */
7909 cltype20
= type_array__Arraykernel__Object
.color
;
7910 idtype21
= type_array__Arraykernel__Object
.id
;
7911 if(var_listnode8
== NULL
) {
7914 if(cltype20
>= var_listnode8
->type
->table_size
) {
7917 var19
= var_listnode8
->type
->type_table
[cltype20
] == idtype21
;
7921 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3856);
7924 var22
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode9
, var_listnode8
) /* concat on <self:ReduceAction55>*/;
7925 var_listnode9
= var22
;
7926 var23
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
7927 ((void (*)(val
*, val
*))(var23
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var23
, var_listnode9
) /* init_atopclassdef on <var23:ATopClassdef>*/;
7928 CHECK_NEW_parser_nodes__ATopClassdef(var23
);
7929 var_pclassdefnode7
= var23
;
7930 var_pclassdefnode10
= var_nodearraylist5
;
7931 /* <var_pclassdefnode10:nullable Object> isa nullable AClassdef */
7932 cltype25
= type_nullable_parser_nodes__AClassdef
.color
;
7933 idtype26
= type_nullable_parser_nodes__AClassdef
.id
;
7934 if(var_pclassdefnode10
== NULL
) {
7937 if(cltype25
>= var_pclassdefnode10
->type
->table_size
) {
7940 var24
= var_pclassdefnode10
->type
->type_table
[cltype25
] == idtype26
;
7944 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3862);
7948 if (var_pclassdefnode7
== NULL
) {
7949 var28
= 0; /* is null */
7951 var28
= 1; /* arg is null and recv is not */
7954 ((void (*)(val
*, val
*))(var_listnode11
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode11
, var_pclassdefnode7
) /* add on <var_listnode11:Array[Object]>*/;
7958 if (var_pclassdefnode10
== NULL
) {
7959 var30
= 0; /* is null */
7961 var30
= 1; /* arg is null and recv is not */
7964 ((void (*)(val
*, val
*))(var_listnode11
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode11
, var_pclassdefnode10
) /* add on <var_listnode11:Array[Object]>*/;
7967 var31
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
7968 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var31
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var31
, var_pmoduledeclnode2
, var_listnode4
, var_listnode6
, var_listnode11
) /* init_amodule on <var31:AModule>*/;
7969 CHECK_NEW_parser_nodes__AModule(var31
);
7970 var_pmodulenode1
= var31
;
7971 var_node_list
= var_pmodulenode1
;
7972 var32
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction55> */
7973 var33
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var32
) /* go_to on <var_p:Parser>*/;
7974 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var33
, var_node_list
) /* push on <var_p:Parser>*/;
7977 /* method parser#ReduceAction55#action for (self: Object, Parser) */
7978 void VIRTUAL_parser__ReduceAction55__action(val
* self
, val
* p0
) {
7979 parser__ReduceAction55__action(self
, p0
);
7982 /* method parser#ReduceAction56#action for (self: ReduceAction56, Parser) */
7983 void parser__ReduceAction56__action(val
* self
, val
* p0
) {
7984 val
* var_p
/* var p: Parser */;
7985 val
* var
/* : null */;
7986 val
* var_node_list
/* var node_list: nullable Object */;
7987 val
* var1
/* : nullable Object */;
7988 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7989 val
* var2
/* : nullable Object */;
7990 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7991 val
* var3
/* : nullable Object */;
7992 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7993 val
* var4
/* : Array[Object] */;
7994 val
* var_listnode3
/* var listnode3: Array[Object] */;
7995 val
* var5
/* : Array[Object] */;
7996 val
* var_listnode4
/* var listnode4: Array[Object] */;
7997 val
* var6
/* : Array[Object] */;
7998 val
* var_listnode10
/* var listnode10: Array[Object] */;
7999 val
* var_listnode5
/* var listnode5: nullable Object */;
8000 short int var7
/* : Bool */;
8003 val
* var8
/* : Array[Object] */;
8004 val
* var_listnode8
/* var listnode8: Array[Object] */;
8005 val
* var_listnode7
/* var listnode7: nullable Object */;
8006 short int var9
/* : Bool */;
8009 val
* var12
/* : Array[Object] */;
8010 val
* var13
/* : ATopClassdef */;
8011 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable ATopClassdef */;
8012 val
* var_pclassdefnode9
/* var pclassdefnode9: nullable Object */;
8013 short int var14
/* : Bool */;
8016 val
* var17
/* : Array[Object] */;
8017 val
* var18
/* : null */;
8018 short int var19
/* : Bool */;
8019 val
* var20
/* : null */;
8020 short int var21
/* : Bool */;
8021 val
* var22
/* : AModule */;
8022 val
* var23
/* : null */;
8023 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
8024 long var24
/* : Int */;
8025 long var25
/* : Int */;
8028 var_node_list
= var
;
8029 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8030 var_nodearraylist3
= var1
;
8031 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8032 var_nodearraylist2
= var2
;
8033 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8034 var_nodearraylist1
= var3
;
8035 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
8036 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
8037 CHECK_NEW_array__Array(var4
);
8038 var_listnode3
= var4
;
8039 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
8040 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
8041 CHECK_NEW_array__Array(var5
);
8042 var_listnode4
= var5
;
8043 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
8044 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
8045 CHECK_NEW_array__Array(var6
);
8046 var_listnode10
= var6
;
8047 var_listnode5
= var_nodearraylist1
;
8048 /* <var_listnode5:nullable Object> isa Array[Object] */
8049 cltype
= type_array__Arraykernel__Object
.color
;
8050 idtype
= type_array__Arraykernel__Object
.id
;
8051 if(var_listnode5
== NULL
) {
8054 if(cltype
>= var_listnode5
->type
->table_size
) {
8057 var7
= var_listnode5
->type
->type_table
[cltype
] == idtype
;
8061 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3891);
8064 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
8065 ((void (*)(val
*))(var8
->class->vft
[COLOR_array__Array__init
]))(var8
) /* init on <var8:Array[Object]>*/;
8066 CHECK_NEW_array__Array(var8
);
8067 var_listnode8
= var8
;
8068 var_listnode7
= var_nodearraylist2
;
8069 /* <var_listnode7:nullable Object> isa Array[Object] */
8070 cltype10
= type_array__Arraykernel__Object
.color
;
8071 idtype11
= type_array__Arraykernel__Object
.id
;
8072 if(var_listnode7
== NULL
) {
8075 if(cltype10
>= var_listnode7
->type
->table_size
) {
8078 var9
= var_listnode7
->type
->type_table
[cltype10
] == idtype11
;
8082 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3894);
8085 var12
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode7
) /* concat on <self:ReduceAction56>*/;
8086 var_listnode8
= var12
;
8087 var13
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
8088 ((void (*)(val
*, val
*))(var13
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var13
, var_listnode8
) /* init_atopclassdef on <var13:ATopClassdef>*/;
8089 CHECK_NEW_parser_nodes__ATopClassdef(var13
);
8090 var_pclassdefnode6
= var13
;
8091 var_pclassdefnode9
= var_nodearraylist3
;
8092 /* <var_pclassdefnode9:nullable Object> isa nullable AClassdef */
8093 cltype15
= type_nullable_parser_nodes__AClassdef
.color
;
8094 idtype16
= type_nullable_parser_nodes__AClassdef
.id
;
8095 if(var_pclassdefnode9
== NULL
) {
8098 if(cltype15
>= var_pclassdefnode9
->type
->table_size
) {
8101 var14
= var_pclassdefnode9
->type
->type_table
[cltype15
] == idtype16
;
8105 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3900);
8108 var17
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode10
, var_listnode5
) /* concat on <self:ReduceAction56>*/;
8109 var_listnode10
= var17
;
8111 if (var_pclassdefnode6
== NULL
) {
8112 var19
= 0; /* is null */
8114 var19
= 1; /* arg is null and recv is not */
8117 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode6
) /* add on <var_listnode10:Array[Object]>*/;
8121 if (var_pclassdefnode9
== NULL
) {
8122 var21
= 0; /* is null */
8124 var21
= 1; /* arg is null and recv is not */
8127 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode9
) /* add on <var_listnode10:Array[Object]>*/;
8130 var22
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
8132 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var22
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var22
, var23
, var_listnode3
, var_listnode4
, var_listnode10
) /* init_amodule on <var22:AModule>*/;
8133 CHECK_NEW_parser_nodes__AModule(var22
);
8134 var_pmodulenode1
= var22
;
8135 var_node_list
= var_pmodulenode1
;
8136 var24
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction56> */
8137 var25
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var24
) /* go_to on <var_p:Parser>*/;
8138 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var25
, var_node_list
) /* push on <var_p:Parser>*/;
8141 /* method parser#ReduceAction56#action for (self: Object, Parser) */
8142 void VIRTUAL_parser__ReduceAction56__action(val
* self
, val
* p0
) {
8143 parser__ReduceAction56__action(self
, p0
);
8146 /* method parser#ReduceAction57#action for (self: ReduceAction57, Parser) */
8147 void parser__ReduceAction57__action(val
* self
, val
* p0
) {
8148 val
* var_p
/* var p: Parser */;
8149 val
* var
/* : null */;
8150 val
* var_node_list
/* var node_list: nullable Object */;
8151 val
* var1
/* : nullable Object */;
8152 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8153 val
* var2
/* : nullable Object */;
8154 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8155 val
* var3
/* : nullable Object */;
8156 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8157 val
* var4
/* : nullable Object */;
8158 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8159 val
* var5
/* : Array[Object] */;
8160 val
* var_listnode3
/* var listnode3: Array[Object] */;
8161 val
* var6
/* : Array[Object] */;
8162 val
* var_listnode4
/* var listnode4: Array[Object] */;
8163 val
* var7
/* : Array[Object] */;
8164 val
* var_listnode10
/* var listnode10: Array[Object] */;
8165 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
8166 short int var8
/* : Bool */;
8169 val
* var_listnode5
/* var listnode5: nullable Object */;
8170 short int var9
/* : Bool */;
8173 val
* var12
/* : Array[Object] */;
8174 val
* var_listnode8
/* var listnode8: Array[Object] */;
8175 val
* var_listnode7
/* var listnode7: nullable Object */;
8176 short int var13
/* : Bool */;
8179 val
* var16
/* : Array[Object] */;
8180 val
* var17
/* : ATopClassdef */;
8181 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable ATopClassdef */;
8182 val
* var_pclassdefnode9
/* var pclassdefnode9: nullable Object */;
8183 short int var18
/* : Bool */;
8186 val
* var21
/* : Array[Object] */;
8187 val
* var22
/* : null */;
8188 short int var23
/* : Bool */;
8189 val
* var24
/* : null */;
8190 short int var25
/* : Bool */;
8191 val
* var26
/* : AModule */;
8192 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
8193 long var27
/* : Int */;
8194 long var28
/* : Int */;
8197 var_node_list
= var
;
8198 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8199 var_nodearraylist4
= var1
;
8200 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8201 var_nodearraylist3
= var2
;
8202 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8203 var_nodearraylist2
= var3
;
8204 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8205 var_nodearraylist1
= var4
;
8206 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
8207 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
8208 CHECK_NEW_array__Array(var5
);
8209 var_listnode3
= var5
;
8210 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
8211 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
8212 CHECK_NEW_array__Array(var6
);
8213 var_listnode4
= var6
;
8214 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
8215 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
8216 CHECK_NEW_array__Array(var7
);
8217 var_listnode10
= var7
;
8218 var_pmoduledeclnode2
= var_nodearraylist1
;
8219 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
8220 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
8221 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
8222 if(var_pmoduledeclnode2
== NULL
) {
8225 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
8228 var8
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
8232 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3931);
8235 var_listnode5
= var_nodearraylist2
;
8236 /* <var_listnode5:nullable Object> isa Array[Object] */
8237 cltype10
= type_array__Arraykernel__Object
.color
;
8238 idtype11
= type_array__Arraykernel__Object
.id
;
8239 if(var_listnode5
== NULL
) {
8242 if(cltype10
>= var_listnode5
->type
->table_size
) {
8245 var9
= var_listnode5
->type
->type_table
[cltype10
] == idtype11
;
8249 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3933);
8252 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
8253 ((void (*)(val
*))(var12
->class->vft
[COLOR_array__Array__init
]))(var12
) /* init on <var12:Array[Object]>*/;
8254 CHECK_NEW_array__Array(var12
);
8255 var_listnode8
= var12
;
8256 var_listnode7
= var_nodearraylist3
;
8257 /* <var_listnode7:nullable Object> isa Array[Object] */
8258 cltype14
= type_array__Arraykernel__Object
.color
;
8259 idtype15
= type_array__Arraykernel__Object
.id
;
8260 if(var_listnode7
== NULL
) {
8263 if(cltype14
>= var_listnode7
->type
->table_size
) {
8266 var13
= var_listnode7
->type
->type_table
[cltype14
] == idtype15
;
8270 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3936);
8273 var16
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode7
) /* concat on <self:ReduceAction57>*/;
8274 var_listnode8
= var16
;
8275 var17
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
8276 ((void (*)(val
*, val
*))(var17
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var17
, var_listnode8
) /* init_atopclassdef on <var17:ATopClassdef>*/;
8277 CHECK_NEW_parser_nodes__ATopClassdef(var17
);
8278 var_pclassdefnode6
= var17
;
8279 var_pclassdefnode9
= var_nodearraylist4
;
8280 /* <var_pclassdefnode9:nullable Object> isa nullable AClassdef */
8281 cltype19
= type_nullable_parser_nodes__AClassdef
.color
;
8282 idtype20
= type_nullable_parser_nodes__AClassdef
.id
;
8283 if(var_pclassdefnode9
== NULL
) {
8286 if(cltype19
>= var_pclassdefnode9
->type
->table_size
) {
8289 var18
= var_pclassdefnode9
->type
->type_table
[cltype19
] == idtype20
;
8293 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3942);
8296 var21
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode10
, var_listnode5
) /* concat on <self:ReduceAction57>*/;
8297 var_listnode10
= var21
;
8299 if (var_pclassdefnode6
== NULL
) {
8300 var23
= 0; /* is null */
8302 var23
= 1; /* arg is null and recv is not */
8305 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode6
) /* add on <var_listnode10:Array[Object]>*/;
8309 if (var_pclassdefnode9
== NULL
) {
8310 var25
= 0; /* is null */
8312 var25
= 1; /* arg is null and recv is not */
8315 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode9
) /* add on <var_listnode10:Array[Object]>*/;
8318 var26
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
8319 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var26
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var26
, var_pmoduledeclnode2
, var_listnode3
, var_listnode4
, var_listnode10
) /* init_amodule on <var26:AModule>*/;
8320 CHECK_NEW_parser_nodes__AModule(var26
);
8321 var_pmodulenode1
= var26
;
8322 var_node_list
= var_pmodulenode1
;
8323 var27
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction57> */
8324 var28
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var27
) /* go_to on <var_p:Parser>*/;
8325 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var28
, var_node_list
) /* push on <var_p:Parser>*/;
8328 /* method parser#ReduceAction57#action for (self: Object, Parser) */
8329 void VIRTUAL_parser__ReduceAction57__action(val
* self
, val
* p0
) {
8330 parser__ReduceAction57__action(self
, p0
);
8333 /* method parser#ReduceAction58#action for (self: ReduceAction58, Parser) */
8334 void parser__ReduceAction58__action(val
* self
, val
* p0
) {
8335 val
* var_p
/* var p: Parser */;
8336 val
* var
/* : null */;
8337 val
* var_node_list
/* var node_list: nullable Object */;
8338 val
* var1
/* : nullable Object */;
8339 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8340 val
* var2
/* : nullable Object */;
8341 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8342 val
* var3
/* : nullable Object */;
8343 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8344 val
* var4
/* : nullable Object */;
8345 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8346 val
* var5
/* : Array[Object] */;
8347 val
* var_listnode4
/* var listnode4: Array[Object] */;
8348 val
* var6
/* : Array[Object] */;
8349 val
* var_listnode5
/* var listnode5: Array[Object] */;
8350 val
* var7
/* : Array[Object] */;
8351 val
* var_listnode11
/* var listnode11: Array[Object] */;
8352 val
* var_listnode3
/* var listnode3: nullable Object */;
8353 short int var8
/* : Bool */;
8356 val
* var9
/* : Array[Object] */;
8357 val
* var_listnode6
/* var listnode6: nullable Object */;
8358 short int var10
/* : Bool */;
8361 val
* var13
/* : Array[Object] */;
8362 val
* var_listnode9
/* var listnode9: Array[Object] */;
8363 val
* var_listnode8
/* var listnode8: nullable Object */;
8364 short int var14
/* : Bool */;
8367 val
* var17
/* : Array[Object] */;
8368 val
* var18
/* : ATopClassdef */;
8369 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable ATopClassdef */;
8370 val
* var_pclassdefnode10
/* var pclassdefnode10: nullable Object */;
8371 short int var19
/* : Bool */;
8374 val
* var22
/* : Array[Object] */;
8375 val
* var23
/* : null */;
8376 short int var24
/* : Bool */;
8377 val
* var25
/* : null */;
8378 short int var26
/* : Bool */;
8379 val
* var27
/* : AModule */;
8380 val
* var28
/* : null */;
8381 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
8382 long var29
/* : Int */;
8383 long var30
/* : Int */;
8386 var_node_list
= var
;
8387 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8388 var_nodearraylist4
= var1
;
8389 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8390 var_nodearraylist3
= var2
;
8391 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8392 var_nodearraylist2
= var3
;
8393 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8394 var_nodearraylist1
= var4
;
8395 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
8396 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
8397 CHECK_NEW_array__Array(var5
);
8398 var_listnode4
= var5
;
8399 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
8400 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
8401 CHECK_NEW_array__Array(var6
);
8402 var_listnode5
= var6
;
8403 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
8404 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
8405 CHECK_NEW_array__Array(var7
);
8406 var_listnode11
= var7
;
8407 var_listnode3
= var_nodearraylist1
;
8408 /* <var_listnode3:nullable Object> isa Array[Object] */
8409 cltype
= type_array__Arraykernel__Object
.color
;
8410 idtype
= type_array__Arraykernel__Object
.id
;
8411 if(var_listnode3
== NULL
) {
8414 if(cltype
>= var_listnode3
->type
->table_size
) {
8417 var8
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
8421 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3973);
8424 var9
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction58>*/;
8425 var_listnode4
= var9
;
8426 var_listnode6
= var_nodearraylist2
;
8427 /* <var_listnode6:nullable Object> isa Array[Object] */
8428 cltype11
= type_array__Arraykernel__Object
.color
;
8429 idtype12
= type_array__Arraykernel__Object
.id
;
8430 if(var_listnode6
== NULL
) {
8433 if(cltype11
>= var_listnode6
->type
->table_size
) {
8436 var10
= var_listnode6
->type
->type_table
[cltype11
] == idtype12
;
8440 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3976);
8443 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
8444 ((void (*)(val
*))(var13
->class->vft
[COLOR_array__Array__init
]))(var13
) /* init on <var13:Array[Object]>*/;
8445 CHECK_NEW_array__Array(var13
);
8446 var_listnode9
= var13
;
8447 var_listnode8
= var_nodearraylist3
;
8448 /* <var_listnode8:nullable Object> isa Array[Object] */
8449 cltype15
= type_array__Arraykernel__Object
.color
;
8450 idtype16
= type_array__Arraykernel__Object
.id
;
8451 if(var_listnode8
== NULL
) {
8454 if(cltype15
>= var_listnode8
->type
->table_size
) {
8457 var14
= var_listnode8
->type
->type_table
[cltype15
] == idtype16
;
8461 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3979);
8464 var17
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode9
, var_listnode8
) /* concat on <self:ReduceAction58>*/;
8465 var_listnode9
= var17
;
8466 var18
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
8467 ((void (*)(val
*, val
*))(var18
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var18
, var_listnode9
) /* init_atopclassdef on <var18:ATopClassdef>*/;
8468 CHECK_NEW_parser_nodes__ATopClassdef(var18
);
8469 var_pclassdefnode7
= var18
;
8470 var_pclassdefnode10
= var_nodearraylist4
;
8471 /* <var_pclassdefnode10:nullable Object> isa nullable AClassdef */
8472 cltype20
= type_nullable_parser_nodes__AClassdef
.color
;
8473 idtype21
= type_nullable_parser_nodes__AClassdef
.id
;
8474 if(var_pclassdefnode10
== NULL
) {
8477 if(cltype20
>= var_pclassdefnode10
->type
->table_size
) {
8480 var19
= var_pclassdefnode10
->type
->type_table
[cltype20
] == idtype21
;
8484 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 3985);
8487 var22
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode11
, var_listnode6
) /* concat on <self:ReduceAction58>*/;
8488 var_listnode11
= var22
;
8490 if (var_pclassdefnode7
== NULL
) {
8491 var24
= 0; /* is null */
8493 var24
= 1; /* arg is null and recv is not */
8496 ((void (*)(val
*, val
*))(var_listnode11
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode11
, var_pclassdefnode7
) /* add on <var_listnode11:Array[Object]>*/;
8500 if (var_pclassdefnode10
== NULL
) {
8501 var26
= 0; /* is null */
8503 var26
= 1; /* arg is null and recv is not */
8506 ((void (*)(val
*, val
*))(var_listnode11
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode11
, var_pclassdefnode10
) /* add on <var_listnode11:Array[Object]>*/;
8509 var27
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
8511 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var27
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var27
, var28
, var_listnode4
, var_listnode5
, var_listnode11
) /* init_amodule on <var27:AModule>*/;
8512 CHECK_NEW_parser_nodes__AModule(var27
);
8513 var_pmodulenode1
= var27
;
8514 var_node_list
= var_pmodulenode1
;
8515 var29
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction58> */
8516 var30
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var29
) /* go_to on <var_p:Parser>*/;
8517 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var30
, var_node_list
) /* push on <var_p:Parser>*/;
8520 /* method parser#ReduceAction58#action for (self: Object, Parser) */
8521 void VIRTUAL_parser__ReduceAction58__action(val
* self
, val
* p0
) {
8522 parser__ReduceAction58__action(self
, p0
);
8525 /* method parser#ReduceAction59#action for (self: ReduceAction59, Parser) */
8526 void parser__ReduceAction59__action(val
* self
, val
* p0
) {
8527 val
* var_p
/* var p: Parser */;
8528 val
* var
/* : null */;
8529 val
* var_node_list
/* var node_list: nullable Object */;
8530 val
* var1
/* : nullable Object */;
8531 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
8532 val
* var2
/* : nullable Object */;
8533 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8534 val
* var3
/* : nullable Object */;
8535 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8536 val
* var4
/* : nullable Object */;
8537 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8538 val
* var5
/* : nullable Object */;
8539 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8540 val
* var6
/* : Array[Object] */;
8541 val
* var_listnode4
/* var listnode4: Array[Object] */;
8542 val
* var7
/* : Array[Object] */;
8543 val
* var_listnode5
/* var listnode5: Array[Object] */;
8544 val
* var8
/* : Array[Object] */;
8545 val
* var_listnode11
/* var listnode11: Array[Object] */;
8546 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
8547 short int var9
/* : Bool */;
8550 val
* var_listnode3
/* var listnode3: nullable Object */;
8551 short int var10
/* : Bool */;
8554 val
* var13
/* : Array[Object] */;
8555 val
* var_listnode6
/* var listnode6: nullable Object */;
8556 short int var14
/* : Bool */;
8559 val
* var17
/* : Array[Object] */;
8560 val
* var_listnode9
/* var listnode9: Array[Object] */;
8561 val
* var_listnode8
/* var listnode8: nullable Object */;
8562 short int var18
/* : Bool */;
8565 val
* var21
/* : Array[Object] */;
8566 val
* var22
/* : ATopClassdef */;
8567 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable ATopClassdef */;
8568 val
* var_pclassdefnode10
/* var pclassdefnode10: nullable Object */;
8569 short int var23
/* : Bool */;
8572 val
* var26
/* : Array[Object] */;
8573 val
* var27
/* : null */;
8574 short int var28
/* : Bool */;
8575 val
* var29
/* : null */;
8576 short int var30
/* : Bool */;
8577 val
* var31
/* : AModule */;
8578 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
8579 long var32
/* : Int */;
8580 long var33
/* : Int */;
8583 var_node_list
= var
;
8584 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8585 var_nodearraylist5
= var1
;
8586 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8587 var_nodearraylist4
= var2
;
8588 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8589 var_nodearraylist3
= var3
;
8590 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8591 var_nodearraylist2
= var4
;
8592 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8593 var_nodearraylist1
= var5
;
8594 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
8595 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
8596 CHECK_NEW_array__Array(var6
);
8597 var_listnode4
= var6
;
8598 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
8599 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
8600 CHECK_NEW_array__Array(var7
);
8601 var_listnode5
= var7
;
8602 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
8603 ((void (*)(val
*))(var8
->class->vft
[COLOR_array__Array__init
]))(var8
) /* init on <var8:Array[Object]>*/;
8604 CHECK_NEW_array__Array(var8
);
8605 var_listnode11
= var8
;
8606 var_pmoduledeclnode2
= var_nodearraylist1
;
8607 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
8608 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
8609 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
8610 if(var_pmoduledeclnode2
== NULL
) {
8613 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
8616 var9
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
8620 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4017);
8623 var_listnode3
= var_nodearraylist2
;
8624 /* <var_listnode3:nullable Object> isa Array[Object] */
8625 cltype11
= type_array__Arraykernel__Object
.color
;
8626 idtype12
= type_array__Arraykernel__Object
.id
;
8627 if(var_listnode3
== NULL
) {
8630 if(cltype11
>= var_listnode3
->type
->table_size
) {
8633 var10
= var_listnode3
->type
->type_table
[cltype11
] == idtype12
;
8637 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4019);
8640 var13
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction59>*/;
8641 var_listnode4
= var13
;
8642 var_listnode6
= var_nodearraylist3
;
8643 /* <var_listnode6:nullable Object> isa Array[Object] */
8644 cltype15
= type_array__Arraykernel__Object
.color
;
8645 idtype16
= type_array__Arraykernel__Object
.id
;
8646 if(var_listnode6
== NULL
) {
8649 if(cltype15
>= var_listnode6
->type
->table_size
) {
8652 var14
= var_listnode6
->type
->type_table
[cltype15
] == idtype16
;
8656 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4022);
8659 var17
= NEW_array__Array(&type_array__Arraykernel__Object
);
8660 ((void (*)(val
*))(var17
->class->vft
[COLOR_array__Array__init
]))(var17
) /* init on <var17:Array[Object]>*/;
8661 CHECK_NEW_array__Array(var17
);
8662 var_listnode9
= var17
;
8663 var_listnode8
= var_nodearraylist4
;
8664 /* <var_listnode8:nullable Object> isa Array[Object] */
8665 cltype19
= type_array__Arraykernel__Object
.color
;
8666 idtype20
= type_array__Arraykernel__Object
.id
;
8667 if(var_listnode8
== NULL
) {
8670 if(cltype19
>= var_listnode8
->type
->table_size
) {
8673 var18
= var_listnode8
->type
->type_table
[cltype19
] == idtype20
;
8677 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4025);
8680 var21
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode9
, var_listnode8
) /* concat on <self:ReduceAction59>*/;
8681 var_listnode9
= var21
;
8682 var22
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
8683 ((void (*)(val
*, val
*))(var22
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var22
, var_listnode9
) /* init_atopclassdef on <var22:ATopClassdef>*/;
8684 CHECK_NEW_parser_nodes__ATopClassdef(var22
);
8685 var_pclassdefnode7
= var22
;
8686 var_pclassdefnode10
= var_nodearraylist5
;
8687 /* <var_pclassdefnode10:nullable Object> isa nullable AClassdef */
8688 cltype24
= type_nullable_parser_nodes__AClassdef
.color
;
8689 idtype25
= type_nullable_parser_nodes__AClassdef
.id
;
8690 if(var_pclassdefnode10
== NULL
) {
8693 if(cltype24
>= var_pclassdefnode10
->type
->table_size
) {
8696 var23
= var_pclassdefnode10
->type
->type_table
[cltype24
] == idtype25
;
8700 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4031);
8703 var26
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode11
, var_listnode6
) /* concat on <self:ReduceAction59>*/;
8704 var_listnode11
= var26
;
8706 if (var_pclassdefnode7
== NULL
) {
8707 var28
= 0; /* is null */
8709 var28
= 1; /* arg is null and recv is not */
8712 ((void (*)(val
*, val
*))(var_listnode11
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode11
, var_pclassdefnode7
) /* add on <var_listnode11:Array[Object]>*/;
8716 if (var_pclassdefnode10
== NULL
) {
8717 var30
= 0; /* is null */
8719 var30
= 1; /* arg is null and recv is not */
8722 ((void (*)(val
*, val
*))(var_listnode11
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode11
, var_pclassdefnode10
) /* add on <var_listnode11:Array[Object]>*/;
8725 var31
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
8726 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var31
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var31
, var_pmoduledeclnode2
, var_listnode4
, var_listnode5
, var_listnode11
) /* init_amodule on <var31:AModule>*/;
8727 CHECK_NEW_parser_nodes__AModule(var31
);
8728 var_pmodulenode1
= var31
;
8729 var_node_list
= var_pmodulenode1
;
8730 var32
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction59> */
8731 var33
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var32
) /* go_to on <var_p:Parser>*/;
8732 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var33
, var_node_list
) /* push on <var_p:Parser>*/;
8735 /* method parser#ReduceAction59#action for (self: Object, Parser) */
8736 void VIRTUAL_parser__ReduceAction59__action(val
* self
, val
* p0
) {
8737 parser__ReduceAction59__action(self
, p0
);
8740 /* method parser#ReduceAction60#action for (self: ReduceAction60, Parser) */
8741 void parser__ReduceAction60__action(val
* self
, val
* p0
) {
8742 val
* var_p
/* var p: Parser */;
8743 val
* var
/* : null */;
8744 val
* var_node_list
/* var node_list: nullable Object */;
8745 val
* var1
/* : nullable Object */;
8746 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8747 val
* var2
/* : nullable Object */;
8748 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8749 val
* var3
/* : nullable Object */;
8750 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8751 val
* var4
/* : nullable Object */;
8752 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8753 val
* var5
/* : Array[Object] */;
8754 val
* var_listnode3
/* var listnode3: Array[Object] */;
8755 val
* var6
/* : Array[Object] */;
8756 val
* var_listnode5
/* var listnode5: Array[Object] */;
8757 val
* var7
/* : Array[Object] */;
8758 val
* var_listnode11
/* var listnode11: Array[Object] */;
8759 val
* var_listnode4
/* var listnode4: nullable Object */;
8760 short int var8
/* : Bool */;
8763 val
* var9
/* : Array[Object] */;
8764 val
* var_listnode6
/* var listnode6: nullable Object */;
8765 short int var10
/* : Bool */;
8768 val
* var13
/* : Array[Object] */;
8769 val
* var_listnode9
/* var listnode9: Array[Object] */;
8770 val
* var_listnode8
/* var listnode8: nullable Object */;
8771 short int var14
/* : Bool */;
8774 val
* var17
/* : Array[Object] */;
8775 val
* var18
/* : ATopClassdef */;
8776 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable ATopClassdef */;
8777 val
* var_pclassdefnode10
/* var pclassdefnode10: nullable Object */;
8778 short int var19
/* : Bool */;
8781 val
* var22
/* : Array[Object] */;
8782 val
* var23
/* : null */;
8783 short int var24
/* : Bool */;
8784 val
* var25
/* : null */;
8785 short int var26
/* : Bool */;
8786 val
* var27
/* : AModule */;
8787 val
* var28
/* : null */;
8788 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
8789 long var29
/* : Int */;
8790 long var30
/* : Int */;
8793 var_node_list
= var
;
8794 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8795 var_nodearraylist4
= var1
;
8796 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8797 var_nodearraylist3
= var2
;
8798 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8799 var_nodearraylist2
= var3
;
8800 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8801 var_nodearraylist1
= var4
;
8802 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
8803 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
8804 CHECK_NEW_array__Array(var5
);
8805 var_listnode3
= var5
;
8806 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
8807 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
8808 CHECK_NEW_array__Array(var6
);
8809 var_listnode5
= var6
;
8810 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
8811 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
8812 CHECK_NEW_array__Array(var7
);
8813 var_listnode11
= var7
;
8814 var_listnode4
= var_nodearraylist1
;
8815 /* <var_listnode4:nullable Object> isa Array[Object] */
8816 cltype
= type_array__Arraykernel__Object
.color
;
8817 idtype
= type_array__Arraykernel__Object
.id
;
8818 if(var_listnode4
== NULL
) {
8821 if(cltype
>= var_listnode4
->type
->table_size
) {
8824 var8
= var_listnode4
->type
->type_table
[cltype
] == idtype
;
8828 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4062);
8831 var9
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction60>*/;
8832 var_listnode5
= var9
;
8833 var_listnode6
= var_nodearraylist2
;
8834 /* <var_listnode6:nullable Object> isa Array[Object] */
8835 cltype11
= type_array__Arraykernel__Object
.color
;
8836 idtype12
= type_array__Arraykernel__Object
.id
;
8837 if(var_listnode6
== NULL
) {
8840 if(cltype11
>= var_listnode6
->type
->table_size
) {
8843 var10
= var_listnode6
->type
->type_table
[cltype11
] == idtype12
;
8847 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4065);
8850 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
8851 ((void (*)(val
*))(var13
->class->vft
[COLOR_array__Array__init
]))(var13
) /* init on <var13:Array[Object]>*/;
8852 CHECK_NEW_array__Array(var13
);
8853 var_listnode9
= var13
;
8854 var_listnode8
= var_nodearraylist3
;
8855 /* <var_listnode8:nullable Object> isa Array[Object] */
8856 cltype15
= type_array__Arraykernel__Object
.color
;
8857 idtype16
= type_array__Arraykernel__Object
.id
;
8858 if(var_listnode8
== NULL
) {
8861 if(cltype15
>= var_listnode8
->type
->table_size
) {
8864 var14
= var_listnode8
->type
->type_table
[cltype15
] == idtype16
;
8868 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4068);
8871 var17
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode9
, var_listnode8
) /* concat on <self:ReduceAction60>*/;
8872 var_listnode9
= var17
;
8873 var18
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
8874 ((void (*)(val
*, val
*))(var18
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var18
, var_listnode9
) /* init_atopclassdef on <var18:ATopClassdef>*/;
8875 CHECK_NEW_parser_nodes__ATopClassdef(var18
);
8876 var_pclassdefnode7
= var18
;
8877 var_pclassdefnode10
= var_nodearraylist4
;
8878 /* <var_pclassdefnode10:nullable Object> isa nullable AClassdef */
8879 cltype20
= type_nullable_parser_nodes__AClassdef
.color
;
8880 idtype21
= type_nullable_parser_nodes__AClassdef
.id
;
8881 if(var_pclassdefnode10
== NULL
) {
8884 if(cltype20
>= var_pclassdefnode10
->type
->table_size
) {
8887 var19
= var_pclassdefnode10
->type
->type_table
[cltype20
] == idtype21
;
8891 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4074);
8894 var22
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode11
, var_listnode6
) /* concat on <self:ReduceAction60>*/;
8895 var_listnode11
= var22
;
8897 if (var_pclassdefnode7
== NULL
) {
8898 var24
= 0; /* is null */
8900 var24
= 1; /* arg is null and recv is not */
8903 ((void (*)(val
*, val
*))(var_listnode11
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode11
, var_pclassdefnode7
) /* add on <var_listnode11:Array[Object]>*/;
8907 if (var_pclassdefnode10
== NULL
) {
8908 var26
= 0; /* is null */
8910 var26
= 1; /* arg is null and recv is not */
8913 ((void (*)(val
*, val
*))(var_listnode11
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode11
, var_pclassdefnode10
) /* add on <var_listnode11:Array[Object]>*/;
8916 var27
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
8918 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var27
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var27
, var28
, var_listnode3
, var_listnode5
, var_listnode11
) /* init_amodule on <var27:AModule>*/;
8919 CHECK_NEW_parser_nodes__AModule(var27
);
8920 var_pmodulenode1
= var27
;
8921 var_node_list
= var_pmodulenode1
;
8922 var29
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction60> */
8923 var30
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var29
) /* go_to on <var_p:Parser>*/;
8924 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var30
, var_node_list
) /* push on <var_p:Parser>*/;
8927 /* method parser#ReduceAction60#action for (self: Object, Parser) */
8928 void VIRTUAL_parser__ReduceAction60__action(val
* self
, val
* p0
) {
8929 parser__ReduceAction60__action(self
, p0
);
8932 /* method parser#ReduceAction61#action for (self: ReduceAction61, Parser) */
8933 void parser__ReduceAction61__action(val
* self
, val
* p0
) {
8934 val
* var_p
/* var p: Parser */;
8935 val
* var
/* : null */;
8936 val
* var_node_list
/* var node_list: nullable Object */;
8937 val
* var1
/* : nullable Object */;
8938 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
8939 val
* var2
/* : nullable Object */;
8940 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8941 val
* var3
/* : nullable Object */;
8942 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8943 val
* var4
/* : nullable Object */;
8944 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8945 val
* var5
/* : nullable Object */;
8946 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8947 val
* var6
/* : Array[Object] */;
8948 val
* var_listnode3
/* var listnode3: Array[Object] */;
8949 val
* var7
/* : Array[Object] */;
8950 val
* var_listnode5
/* var listnode5: Array[Object] */;
8951 val
* var8
/* : Array[Object] */;
8952 val
* var_listnode11
/* var listnode11: Array[Object] */;
8953 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
8954 short int var9
/* : Bool */;
8957 val
* var_listnode4
/* var listnode4: nullable Object */;
8958 short int var10
/* : Bool */;
8961 val
* var13
/* : Array[Object] */;
8962 val
* var_listnode6
/* var listnode6: nullable Object */;
8963 short int var14
/* : Bool */;
8966 val
* var17
/* : Array[Object] */;
8967 val
* var_listnode9
/* var listnode9: Array[Object] */;
8968 val
* var_listnode8
/* var listnode8: nullable Object */;
8969 short int var18
/* : Bool */;
8972 val
* var21
/* : Array[Object] */;
8973 val
* var22
/* : ATopClassdef */;
8974 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable ATopClassdef */;
8975 val
* var_pclassdefnode10
/* var pclassdefnode10: nullable Object */;
8976 short int var23
/* : Bool */;
8979 val
* var26
/* : Array[Object] */;
8980 val
* var27
/* : null */;
8981 short int var28
/* : Bool */;
8982 val
* var29
/* : null */;
8983 short int var30
/* : Bool */;
8984 val
* var31
/* : AModule */;
8985 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
8986 long var32
/* : Int */;
8987 long var33
/* : Int */;
8990 var_node_list
= var
;
8991 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8992 var_nodearraylist5
= var1
;
8993 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8994 var_nodearraylist4
= var2
;
8995 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8996 var_nodearraylist3
= var3
;
8997 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8998 var_nodearraylist2
= var4
;
8999 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9000 var_nodearraylist1
= var5
;
9001 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
9002 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
9003 CHECK_NEW_array__Array(var6
);
9004 var_listnode3
= var6
;
9005 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
9006 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
9007 CHECK_NEW_array__Array(var7
);
9008 var_listnode5
= var7
;
9009 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
9010 ((void (*)(val
*))(var8
->class->vft
[COLOR_array__Array__init
]))(var8
) /* init on <var8:Array[Object]>*/;
9011 CHECK_NEW_array__Array(var8
);
9012 var_listnode11
= var8
;
9013 var_pmoduledeclnode2
= var_nodearraylist1
;
9014 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
9015 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
9016 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
9017 if(var_pmoduledeclnode2
== NULL
) {
9020 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
9023 var9
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
9027 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4106);
9030 var_listnode4
= var_nodearraylist2
;
9031 /* <var_listnode4:nullable Object> isa Array[Object] */
9032 cltype11
= type_array__Arraykernel__Object
.color
;
9033 idtype12
= type_array__Arraykernel__Object
.id
;
9034 if(var_listnode4
== NULL
) {
9037 if(cltype11
>= var_listnode4
->type
->table_size
) {
9040 var10
= var_listnode4
->type
->type_table
[cltype11
] == idtype12
;
9044 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4108);
9047 var13
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction61>*/;
9048 var_listnode5
= var13
;
9049 var_listnode6
= var_nodearraylist3
;
9050 /* <var_listnode6:nullable Object> isa Array[Object] */
9051 cltype15
= type_array__Arraykernel__Object
.color
;
9052 idtype16
= type_array__Arraykernel__Object
.id
;
9053 if(var_listnode6
== NULL
) {
9056 if(cltype15
>= var_listnode6
->type
->table_size
) {
9059 var14
= var_listnode6
->type
->type_table
[cltype15
] == idtype16
;
9063 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4111);
9066 var17
= NEW_array__Array(&type_array__Arraykernel__Object
);
9067 ((void (*)(val
*))(var17
->class->vft
[COLOR_array__Array__init
]))(var17
) /* init on <var17:Array[Object]>*/;
9068 CHECK_NEW_array__Array(var17
);
9069 var_listnode9
= var17
;
9070 var_listnode8
= var_nodearraylist4
;
9071 /* <var_listnode8:nullable Object> isa Array[Object] */
9072 cltype19
= type_array__Arraykernel__Object
.color
;
9073 idtype20
= type_array__Arraykernel__Object
.id
;
9074 if(var_listnode8
== NULL
) {
9077 if(cltype19
>= var_listnode8
->type
->table_size
) {
9080 var18
= var_listnode8
->type
->type_table
[cltype19
] == idtype20
;
9084 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4114);
9087 var21
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode9
, var_listnode8
) /* concat on <self:ReduceAction61>*/;
9088 var_listnode9
= var21
;
9089 var22
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
9090 ((void (*)(val
*, val
*))(var22
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var22
, var_listnode9
) /* init_atopclassdef on <var22:ATopClassdef>*/;
9091 CHECK_NEW_parser_nodes__ATopClassdef(var22
);
9092 var_pclassdefnode7
= var22
;
9093 var_pclassdefnode10
= var_nodearraylist5
;
9094 /* <var_pclassdefnode10:nullable Object> isa nullable AClassdef */
9095 cltype24
= type_nullable_parser_nodes__AClassdef
.color
;
9096 idtype25
= type_nullable_parser_nodes__AClassdef
.id
;
9097 if(var_pclassdefnode10
== NULL
) {
9100 if(cltype24
>= var_pclassdefnode10
->type
->table_size
) {
9103 var23
= var_pclassdefnode10
->type
->type_table
[cltype24
] == idtype25
;
9107 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4120);
9110 var26
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode11
, var_listnode6
) /* concat on <self:ReduceAction61>*/;
9111 var_listnode11
= var26
;
9113 if (var_pclassdefnode7
== NULL
) {
9114 var28
= 0; /* is null */
9116 var28
= 1; /* arg is null and recv is not */
9119 ((void (*)(val
*, val
*))(var_listnode11
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode11
, var_pclassdefnode7
) /* add on <var_listnode11:Array[Object]>*/;
9123 if (var_pclassdefnode10
== NULL
) {
9124 var30
= 0; /* is null */
9126 var30
= 1; /* arg is null and recv is not */
9129 ((void (*)(val
*, val
*))(var_listnode11
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode11
, var_pclassdefnode10
) /* add on <var_listnode11:Array[Object]>*/;
9132 var31
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
9133 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var31
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var31
, var_pmoduledeclnode2
, var_listnode3
, var_listnode5
, var_listnode11
) /* init_amodule on <var31:AModule>*/;
9134 CHECK_NEW_parser_nodes__AModule(var31
);
9135 var_pmodulenode1
= var31
;
9136 var_node_list
= var_pmodulenode1
;
9137 var32
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction61> */
9138 var33
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var32
) /* go_to on <var_p:Parser>*/;
9139 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var33
, var_node_list
) /* push on <var_p:Parser>*/;
9142 /* method parser#ReduceAction61#action for (self: Object, Parser) */
9143 void VIRTUAL_parser__ReduceAction61__action(val
* self
, val
* p0
) {
9144 parser__ReduceAction61__action(self
, p0
);
9147 /* method parser#ReduceAction62#action for (self: ReduceAction62, Parser) */
9148 void parser__ReduceAction62__action(val
* self
, val
* p0
) {
9149 val
* var_p
/* var p: Parser */;
9150 val
* var
/* : null */;
9151 val
* var_node_list
/* var node_list: nullable Object */;
9152 val
* var1
/* : nullable Object */;
9153 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9154 val
* var2
/* : nullable Object */;
9155 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9156 val
* var3
/* : nullable Object */;
9157 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9158 val
* var4
/* : nullable Object */;
9159 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9160 val
* var5
/* : nullable Object */;
9161 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9162 val
* var6
/* : Array[Object] */;
9163 val
* var_listnode4
/* var listnode4: Array[Object] */;
9164 val
* var7
/* : Array[Object] */;
9165 val
* var_listnode6
/* var listnode6: Array[Object] */;
9166 val
* var8
/* : Array[Object] */;
9167 val
* var_listnode12
/* var listnode12: Array[Object] */;
9168 val
* var_listnode3
/* var listnode3: nullable Object */;
9169 short int var9
/* : Bool */;
9172 val
* var10
/* : Array[Object] */;
9173 val
* var_listnode5
/* var listnode5: nullable Object */;
9174 short int var11
/* : Bool */;
9177 val
* var14
/* : Array[Object] */;
9178 val
* var_listnode7
/* var listnode7: nullable Object */;
9179 short int var15
/* : Bool */;
9182 val
* var18
/* : Array[Object] */;
9183 val
* var_listnode10
/* var listnode10: Array[Object] */;
9184 val
* var_listnode9
/* var listnode9: nullable Object */;
9185 short int var19
/* : Bool */;
9188 val
* var22
/* : Array[Object] */;
9189 val
* var23
/* : ATopClassdef */;
9190 val
* var_pclassdefnode8
/* var pclassdefnode8: nullable ATopClassdef */;
9191 val
* var_pclassdefnode11
/* var pclassdefnode11: nullable Object */;
9192 short int var24
/* : Bool */;
9195 val
* var27
/* : Array[Object] */;
9196 val
* var28
/* : null */;
9197 short int var29
/* : Bool */;
9198 val
* var30
/* : null */;
9199 short int var31
/* : Bool */;
9200 val
* var32
/* : AModule */;
9201 val
* var33
/* : null */;
9202 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
9203 long var34
/* : Int */;
9204 long var35
/* : Int */;
9207 var_node_list
= var
;
9208 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9209 var_nodearraylist5
= var1
;
9210 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9211 var_nodearraylist4
= var2
;
9212 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9213 var_nodearraylist3
= var3
;
9214 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9215 var_nodearraylist2
= var4
;
9216 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9217 var_nodearraylist1
= var5
;
9218 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
9219 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
9220 CHECK_NEW_array__Array(var6
);
9221 var_listnode4
= var6
;
9222 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
9223 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
9224 CHECK_NEW_array__Array(var7
);
9225 var_listnode6
= var7
;
9226 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
9227 ((void (*)(val
*))(var8
->class->vft
[COLOR_array__Array__init
]))(var8
) /* init on <var8:Array[Object]>*/;
9228 CHECK_NEW_array__Array(var8
);
9229 var_listnode12
= var8
;
9230 var_listnode3
= var_nodearraylist1
;
9231 /* <var_listnode3:nullable Object> isa Array[Object] */
9232 cltype
= type_array__Arraykernel__Object
.color
;
9233 idtype
= type_array__Arraykernel__Object
.id
;
9234 if(var_listnode3
== NULL
) {
9237 if(cltype
>= var_listnode3
->type
->table_size
) {
9240 var9
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
9244 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4152);
9247 var10
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction62>*/;
9248 var_listnode4
= var10
;
9249 var_listnode5
= var_nodearraylist2
;
9250 /* <var_listnode5:nullable Object> isa Array[Object] */
9251 cltype12
= type_array__Arraykernel__Object
.color
;
9252 idtype13
= type_array__Arraykernel__Object
.id
;
9253 if(var_listnode5
== NULL
) {
9256 if(cltype12
>= var_listnode5
->type
->table_size
) {
9259 var11
= var_listnode5
->type
->type_table
[cltype12
] == idtype13
;
9263 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4155);
9266 var14
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction62>*/;
9267 var_listnode6
= var14
;
9268 var_listnode7
= var_nodearraylist3
;
9269 /* <var_listnode7:nullable Object> isa Array[Object] */
9270 cltype16
= type_array__Arraykernel__Object
.color
;
9271 idtype17
= type_array__Arraykernel__Object
.id
;
9272 if(var_listnode7
== NULL
) {
9275 if(cltype16
>= var_listnode7
->type
->table_size
) {
9278 var15
= var_listnode7
->type
->type_table
[cltype16
] == idtype17
;
9282 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4158);
9285 var18
= NEW_array__Array(&type_array__Arraykernel__Object
);
9286 ((void (*)(val
*))(var18
->class->vft
[COLOR_array__Array__init
]))(var18
) /* init on <var18:Array[Object]>*/;
9287 CHECK_NEW_array__Array(var18
);
9288 var_listnode10
= var18
;
9289 var_listnode9
= var_nodearraylist4
;
9290 /* <var_listnode9:nullable Object> isa Array[Object] */
9291 cltype20
= type_array__Arraykernel__Object
.color
;
9292 idtype21
= type_array__Arraykernel__Object
.id
;
9293 if(var_listnode9
== NULL
) {
9296 if(cltype20
>= var_listnode9
->type
->table_size
) {
9299 var19
= var_listnode9
->type
->type_table
[cltype20
] == idtype21
;
9303 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4161);
9306 var22
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode10
, var_listnode9
) /* concat on <self:ReduceAction62>*/;
9307 var_listnode10
= var22
;
9308 var23
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
9309 ((void (*)(val
*, val
*))(var23
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var23
, var_listnode10
) /* init_atopclassdef on <var23:ATopClassdef>*/;
9310 CHECK_NEW_parser_nodes__ATopClassdef(var23
);
9311 var_pclassdefnode8
= var23
;
9312 var_pclassdefnode11
= var_nodearraylist5
;
9313 /* <var_pclassdefnode11:nullable Object> isa nullable AClassdef */
9314 cltype25
= type_nullable_parser_nodes__AClassdef
.color
;
9315 idtype26
= type_nullable_parser_nodes__AClassdef
.id
;
9316 if(var_pclassdefnode11
== NULL
) {
9319 if(cltype25
>= var_pclassdefnode11
->type
->table_size
) {
9322 var24
= var_pclassdefnode11
->type
->type_table
[cltype25
] == idtype26
;
9326 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4167);
9329 var27
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode12
, var_listnode7
) /* concat on <self:ReduceAction62>*/;
9330 var_listnode12
= var27
;
9332 if (var_pclassdefnode8
== NULL
) {
9333 var29
= 0; /* is null */
9335 var29
= 1; /* arg is null and recv is not */
9338 ((void (*)(val
*, val
*))(var_listnode12
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode12
, var_pclassdefnode8
) /* add on <var_listnode12:Array[Object]>*/;
9342 if (var_pclassdefnode11
== NULL
) {
9343 var31
= 0; /* is null */
9345 var31
= 1; /* arg is null and recv is not */
9348 ((void (*)(val
*, val
*))(var_listnode12
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode12
, var_pclassdefnode11
) /* add on <var_listnode12:Array[Object]>*/;
9351 var32
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
9353 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var32
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var32
, var33
, var_listnode4
, var_listnode6
, var_listnode12
) /* init_amodule on <var32:AModule>*/;
9354 CHECK_NEW_parser_nodes__AModule(var32
);
9355 var_pmodulenode1
= var32
;
9356 var_node_list
= var_pmodulenode1
;
9357 var34
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction62> */
9358 var35
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var34
) /* go_to on <var_p:Parser>*/;
9359 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var35
, var_node_list
) /* push on <var_p:Parser>*/;
9362 /* method parser#ReduceAction62#action for (self: Object, Parser) */
9363 void VIRTUAL_parser__ReduceAction62__action(val
* self
, val
* p0
) {
9364 parser__ReduceAction62__action(self
, p0
);
9367 /* method parser#ReduceAction63#action for (self: ReduceAction63, Parser) */
9368 void parser__ReduceAction63__action(val
* self
, val
* p0
) {
9369 val
* var_p
/* var p: Parser */;
9370 val
* var
/* : null */;
9371 val
* var_node_list
/* var node_list: nullable Object */;
9372 val
* var1
/* : nullable Object */;
9373 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
9374 val
* var2
/* : nullable Object */;
9375 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9376 val
* var3
/* : nullable Object */;
9377 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9378 val
* var4
/* : nullable Object */;
9379 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9380 val
* var5
/* : nullable Object */;
9381 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9382 val
* var6
/* : nullable Object */;
9383 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9384 val
* var7
/* : Array[Object] */;
9385 val
* var_listnode4
/* var listnode4: Array[Object] */;
9386 val
* var8
/* : Array[Object] */;
9387 val
* var_listnode6
/* var listnode6: Array[Object] */;
9388 val
* var9
/* : Array[Object] */;
9389 val
* var_listnode12
/* var listnode12: Array[Object] */;
9390 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
9391 short int var10
/* : Bool */;
9394 val
* var_listnode3
/* var listnode3: nullable Object */;
9395 short int var11
/* : Bool */;
9398 val
* var14
/* : Array[Object] */;
9399 val
* var_listnode5
/* var listnode5: nullable Object */;
9400 short int var15
/* : Bool */;
9403 val
* var18
/* : Array[Object] */;
9404 val
* var_listnode7
/* var listnode7: nullable Object */;
9405 short int var19
/* : Bool */;
9408 val
* var22
/* : Array[Object] */;
9409 val
* var_listnode10
/* var listnode10: Array[Object] */;
9410 val
* var_listnode9
/* var listnode9: nullable Object */;
9411 short int var23
/* : Bool */;
9414 val
* var26
/* : Array[Object] */;
9415 val
* var27
/* : ATopClassdef */;
9416 val
* var_pclassdefnode8
/* var pclassdefnode8: nullable ATopClassdef */;
9417 val
* var_pclassdefnode11
/* var pclassdefnode11: nullable Object */;
9418 short int var28
/* : Bool */;
9421 val
* var31
/* : Array[Object] */;
9422 val
* var32
/* : null */;
9423 short int var33
/* : Bool */;
9424 val
* var34
/* : null */;
9425 short int var35
/* : Bool */;
9426 val
* var36
/* : AModule */;
9427 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
9428 long var37
/* : Int */;
9429 long var38
/* : Int */;
9432 var_node_list
= var
;
9433 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9434 var_nodearraylist6
= var1
;
9435 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9436 var_nodearraylist5
= var2
;
9437 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9438 var_nodearraylist4
= var3
;
9439 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9440 var_nodearraylist3
= var4
;
9441 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9442 var_nodearraylist2
= var5
;
9443 var6
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9444 var_nodearraylist1
= var6
;
9445 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
9446 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
9447 CHECK_NEW_array__Array(var7
);
9448 var_listnode4
= var7
;
9449 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
9450 ((void (*)(val
*))(var8
->class->vft
[COLOR_array__Array__init
]))(var8
) /* init on <var8:Array[Object]>*/;
9451 CHECK_NEW_array__Array(var8
);
9452 var_listnode6
= var8
;
9453 var9
= NEW_array__Array(&type_array__Arraykernel__Object
);
9454 ((void (*)(val
*))(var9
->class->vft
[COLOR_array__Array__init
]))(var9
) /* init on <var9:Array[Object]>*/;
9455 CHECK_NEW_array__Array(var9
);
9456 var_listnode12
= var9
;
9457 var_pmoduledeclnode2
= var_nodearraylist1
;
9458 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
9459 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
9460 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
9461 if(var_pmoduledeclnode2
== NULL
) {
9464 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
9467 var10
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
9471 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4200);
9474 var_listnode3
= var_nodearraylist2
;
9475 /* <var_listnode3:nullable Object> isa Array[Object] */
9476 cltype12
= type_array__Arraykernel__Object
.color
;
9477 idtype13
= type_array__Arraykernel__Object
.id
;
9478 if(var_listnode3
== NULL
) {
9481 if(cltype12
>= var_listnode3
->type
->table_size
) {
9484 var11
= var_listnode3
->type
->type_table
[cltype12
] == idtype13
;
9488 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4202);
9491 var14
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction63>*/;
9492 var_listnode4
= var14
;
9493 var_listnode5
= var_nodearraylist3
;
9494 /* <var_listnode5:nullable Object> isa Array[Object] */
9495 cltype16
= type_array__Arraykernel__Object
.color
;
9496 idtype17
= type_array__Arraykernel__Object
.id
;
9497 if(var_listnode5
== NULL
) {
9500 if(cltype16
>= var_listnode5
->type
->table_size
) {
9503 var15
= var_listnode5
->type
->type_table
[cltype16
] == idtype17
;
9507 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4205);
9510 var18
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction63>*/;
9511 var_listnode6
= var18
;
9512 var_listnode7
= var_nodearraylist4
;
9513 /* <var_listnode7:nullable Object> isa Array[Object] */
9514 cltype20
= type_array__Arraykernel__Object
.color
;
9515 idtype21
= type_array__Arraykernel__Object
.id
;
9516 if(var_listnode7
== NULL
) {
9519 if(cltype20
>= var_listnode7
->type
->table_size
) {
9522 var19
= var_listnode7
->type
->type_table
[cltype20
] == idtype21
;
9526 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4208);
9529 var22
= NEW_array__Array(&type_array__Arraykernel__Object
);
9530 ((void (*)(val
*))(var22
->class->vft
[COLOR_array__Array__init
]))(var22
) /* init on <var22:Array[Object]>*/;
9531 CHECK_NEW_array__Array(var22
);
9532 var_listnode10
= var22
;
9533 var_listnode9
= var_nodearraylist5
;
9534 /* <var_listnode9:nullable Object> isa Array[Object] */
9535 cltype24
= type_array__Arraykernel__Object
.color
;
9536 idtype25
= type_array__Arraykernel__Object
.id
;
9537 if(var_listnode9
== NULL
) {
9540 if(cltype24
>= var_listnode9
->type
->table_size
) {
9543 var23
= var_listnode9
->type
->type_table
[cltype24
] == idtype25
;
9547 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4211);
9550 var26
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode10
, var_listnode9
) /* concat on <self:ReduceAction63>*/;
9551 var_listnode10
= var26
;
9552 var27
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
9553 ((void (*)(val
*, val
*))(var27
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var27
, var_listnode10
) /* init_atopclassdef on <var27:ATopClassdef>*/;
9554 CHECK_NEW_parser_nodes__ATopClassdef(var27
);
9555 var_pclassdefnode8
= var27
;
9556 var_pclassdefnode11
= var_nodearraylist6
;
9557 /* <var_pclassdefnode11:nullable Object> isa nullable AClassdef */
9558 cltype29
= type_nullable_parser_nodes__AClassdef
.color
;
9559 idtype30
= type_nullable_parser_nodes__AClassdef
.id
;
9560 if(var_pclassdefnode11
== NULL
) {
9563 if(cltype29
>= var_pclassdefnode11
->type
->table_size
) {
9566 var28
= var_pclassdefnode11
->type
->type_table
[cltype29
] == idtype30
;
9570 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4217);
9573 var31
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode12
, var_listnode7
) /* concat on <self:ReduceAction63>*/;
9574 var_listnode12
= var31
;
9576 if (var_pclassdefnode8
== NULL
) {
9577 var33
= 0; /* is null */
9579 var33
= 1; /* arg is null and recv is not */
9582 ((void (*)(val
*, val
*))(var_listnode12
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode12
, var_pclassdefnode8
) /* add on <var_listnode12:Array[Object]>*/;
9586 if (var_pclassdefnode11
== NULL
) {
9587 var35
= 0; /* is null */
9589 var35
= 1; /* arg is null and recv is not */
9592 ((void (*)(val
*, val
*))(var_listnode12
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode12
, var_pclassdefnode11
) /* add on <var_listnode12:Array[Object]>*/;
9595 var36
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
9596 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var36
->class->vft
[COLOR_parser_prod__AModule__init_amodule
]))(var36
, var_pmoduledeclnode2
, var_listnode4
, var_listnode6
, var_listnode12
) /* init_amodule on <var36:AModule>*/;
9597 CHECK_NEW_parser_nodes__AModule(var36
);
9598 var_pmodulenode1
= var36
;
9599 var_node_list
= var_pmodulenode1
;
9600 var37
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction63> */
9601 var38
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var37
) /* go_to on <var_p:Parser>*/;
9602 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var38
, var_node_list
) /* push on <var_p:Parser>*/;
9605 /* method parser#ReduceAction63#action for (self: Object, Parser) */
9606 void VIRTUAL_parser__ReduceAction63__action(val
* self
, val
* p0
) {
9607 parser__ReduceAction63__action(self
, p0
);
9610 /* method parser#ReduceAction64#action for (self: ReduceAction64, Parser) */
9611 void parser__ReduceAction64__action(val
* self
, val
* p0
) {
9612 val
* var_p
/* var p: Parser */;
9613 val
* var
/* : null */;
9614 val
* var_node_list
/* var node_list: nullable Object */;
9615 val
* var1
/* : nullable Object */;
9616 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9617 val
* var2
/* : nullable Object */;
9618 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9619 val
* var3
/* : nullable Object */;
9620 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9621 val
* var4
/* : nullable Object */;
9622 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9623 val
* var5
/* : nullable Object */;
9624 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9625 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
9626 short int var6
/* : Bool */;
9629 val
* var_tkwmodulenode3
/* var tkwmodulenode3: nullable Object */;
9630 short int var7
/* : Bool */;
9633 val
* var_pmodulenamenode4
/* var pmodulenamenode4: nullable Object */;
9634 short int var10
/* : Bool */;
9637 val
* var13
/* : AModuledecl */;
9638 val
* var14
/* : null */;
9639 val
* var_pmoduledeclnode1
/* var pmoduledeclnode1: nullable AModuledecl */;
9640 long var15
/* : Int */;
9641 long var16
/* : Int */;
9644 var_node_list
= var
;
9645 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9646 var_nodearraylist5
= var1
;
9647 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9648 var_nodearraylist4
= var2
;
9649 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9650 var_nodearraylist3
= var3
;
9651 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9652 var_nodearraylist2
= var4
;
9653 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9654 var_nodearraylist1
= var5
;
9655 var_pdocnode2
= var_nodearraylist1
;
9656 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9657 cltype
= type_nullable_parser_nodes__ADoc
.color
;
9658 idtype
= type_nullable_parser_nodes__ADoc
.id
;
9659 if(var_pdocnode2
== NULL
) {
9662 if(cltype
>= var_pdocnode2
->type
->table_size
) {
9665 var6
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
9669 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4246);
9672 var_tkwmodulenode3
= var_nodearraylist2
;
9673 /* <var_tkwmodulenode3:nullable Object> isa nullable TKwmodule */
9674 cltype8
= type_nullable_parser_nodes__TKwmodule
.color
;
9675 idtype9
= type_nullable_parser_nodes__TKwmodule
.id
;
9676 if(var_tkwmodulenode3
== NULL
) {
9679 if(cltype8
>= var_tkwmodulenode3
->type
->table_size
) {
9682 var7
= var_tkwmodulenode3
->type
->type_table
[cltype8
] == idtype9
;
9686 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4248);
9689 var_pmodulenamenode4
= var_nodearraylist4
;
9690 /* <var_pmodulenamenode4:nullable Object> isa nullable AModuleName */
9691 cltype11
= type_nullable_parser_nodes__AModuleName
.color
;
9692 idtype12
= type_nullable_parser_nodes__AModuleName
.id
;
9693 if(var_pmodulenamenode4
== NULL
) {
9696 if(cltype11
>= var_pmodulenamenode4
->type
->table_size
) {
9699 var10
= var_pmodulenamenode4
->type
->type_table
[cltype11
] == idtype12
;
9703 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4250);
9706 var13
= NEW_parser_nodes__AModuledecl(&type_parser_nodes__AModuledecl
);
9708 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var13
->class->vft
[COLOR_parser_prod__AModuledecl__init_amoduledecl
]))(var13
, var_pdocnode2
, var_tkwmodulenode3
, var_pmodulenamenode4
, var14
) /* init_amoduledecl on <var13:AModuledecl>*/;
9709 CHECK_NEW_parser_nodes__AModuledecl(var13
);
9710 var_pmoduledeclnode1
= var13
;
9711 var_node_list
= var_pmoduledeclnode1
;
9712 var15
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction64> */
9713 var16
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var15
) /* go_to on <var_p:Parser>*/;
9714 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var16
, var_node_list
) /* push on <var_p:Parser>*/;
9717 /* method parser#ReduceAction64#action for (self: Object, Parser) */
9718 void VIRTUAL_parser__ReduceAction64__action(val
* self
, val
* p0
) {
9719 parser__ReduceAction64__action(self
, p0
);
9722 /* method parser#ReduceAction65#action for (self: ReduceAction65, Parser) */
9723 void parser__ReduceAction65__action(val
* self
, val
* p0
) {
9724 val
* var_p
/* var p: Parser */;
9725 val
* var
/* : null */;
9726 val
* var_node_list
/* var node_list: nullable Object */;
9727 val
* var1
/* : nullable Object */;
9728 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
9729 val
* var2
/* : nullable Object */;
9730 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9731 val
* var3
/* : nullable Object */;
9732 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9733 val
* var4
/* : nullable Object */;
9734 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9735 val
* var5
/* : nullable Object */;
9736 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9737 val
* var6
/* : nullable Object */;
9738 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9739 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
9740 short int var7
/* : Bool */;
9743 val
* var_tkwmodulenode3
/* var tkwmodulenode3: nullable Object */;
9744 short int var8
/* : Bool */;
9747 val
* var_pmodulenamenode4
/* var pmodulenamenode4: nullable Object */;
9748 short int var11
/* : Bool */;
9751 val
* var_pannotationsnode5
/* var pannotationsnode5: nullable Object */;
9752 short int var14
/* : Bool */;
9755 val
* var17
/* : AModuledecl */;
9756 val
* var_pmoduledeclnode1
/* var pmoduledeclnode1: nullable AModuledecl */;
9757 long var18
/* : Int */;
9758 long var19
/* : Int */;
9761 var_node_list
= var
;
9762 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9763 var_nodearraylist6
= var1
;
9764 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9765 var_nodearraylist5
= var2
;
9766 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9767 var_nodearraylist4
= var3
;
9768 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9769 var_nodearraylist3
= var4
;
9770 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9771 var_nodearraylist2
= var5
;
9772 var6
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9773 var_nodearraylist1
= var6
;
9774 var_pdocnode2
= var_nodearraylist1
;
9775 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9776 cltype
= type_nullable_parser_nodes__ADoc
.color
;
9777 idtype
= type_nullable_parser_nodes__ADoc
.id
;
9778 if(var_pdocnode2
== NULL
) {
9781 if(cltype
>= var_pdocnode2
->type
->table_size
) {
9784 var7
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
9788 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4273);
9791 var_tkwmodulenode3
= var_nodearraylist2
;
9792 /* <var_tkwmodulenode3:nullable Object> isa nullable TKwmodule */
9793 cltype9
= type_nullable_parser_nodes__TKwmodule
.color
;
9794 idtype10
= type_nullable_parser_nodes__TKwmodule
.id
;
9795 if(var_tkwmodulenode3
== NULL
) {
9798 if(cltype9
>= var_tkwmodulenode3
->type
->table_size
) {
9801 var8
= var_tkwmodulenode3
->type
->type_table
[cltype9
] == idtype10
;
9805 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4275);
9808 var_pmodulenamenode4
= var_nodearraylist4
;
9809 /* <var_pmodulenamenode4:nullable Object> isa nullable AModuleName */
9810 cltype12
= type_nullable_parser_nodes__AModuleName
.color
;
9811 idtype13
= type_nullable_parser_nodes__AModuleName
.id
;
9812 if(var_pmodulenamenode4
== NULL
) {
9815 if(cltype12
>= var_pmodulenamenode4
->type
->table_size
) {
9818 var11
= var_pmodulenamenode4
->type
->type_table
[cltype12
] == idtype13
;
9822 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4277);
9825 var_pannotationsnode5
= var_nodearraylist5
;
9826 /* <var_pannotationsnode5:nullable Object> isa nullable AAnnotations */
9827 cltype15
= type_nullable_parser_nodes__AAnnotations
.color
;
9828 idtype16
= type_nullable_parser_nodes__AAnnotations
.id
;
9829 if(var_pannotationsnode5
== NULL
) {
9832 if(cltype15
>= var_pannotationsnode5
->type
->table_size
) {
9835 var14
= var_pannotationsnode5
->type
->type_table
[cltype15
] == idtype16
;
9839 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4279);
9842 var17
= NEW_parser_nodes__AModuledecl(&type_parser_nodes__AModuledecl
);
9843 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var17
->class->vft
[COLOR_parser_prod__AModuledecl__init_amoduledecl
]))(var17
, var_pdocnode2
, var_tkwmodulenode3
, var_pmodulenamenode4
, var_pannotationsnode5
) /* init_amoduledecl on <var17:AModuledecl>*/;
9844 CHECK_NEW_parser_nodes__AModuledecl(var17
);
9845 var_pmoduledeclnode1
= var17
;
9846 var_node_list
= var_pmoduledeclnode1
;
9847 var18
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction65> */
9848 var19
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var18
) /* go_to on <var_p:Parser>*/;
9849 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var19
, var_node_list
) /* push on <var_p:Parser>*/;
9852 /* method parser#ReduceAction65#action for (self: Object, Parser) */
9853 void VIRTUAL_parser__ReduceAction65__action(val
* self
, val
* p0
) {
9854 parser__ReduceAction65__action(self
, p0
);
9857 /* method parser#ReduceAction66#action for (self: ReduceAction66, Parser) */
9858 void parser__ReduceAction66__action(val
* self
, val
* p0
) {
9859 val
* var_p
/* var p: Parser */;
9860 val
* var
/* : null */;
9861 val
* var_node_list
/* var node_list: nullable Object */;
9862 val
* var1
/* : nullable Object */;
9863 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
9864 val
* var2
/* : nullable Object */;
9865 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9866 val
* var3
/* : nullable Object */;
9867 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9868 val
* var4
/* : nullable Object */;
9869 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9870 val
* var5
/* : nullable Object */;
9871 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9872 val
* var6
/* : nullable Object */;
9873 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9874 val
* var_pvisibilitynode2
/* var pvisibilitynode2: nullable Object */;
9875 short int var7
/* : Bool */;
9878 val
* var_tkwimportnode3
/* var tkwimportnode3: nullable Object */;
9879 short int var8
/* : Bool */;
9882 val
* var_pmodulenamenode4
/* var pmodulenamenode4: nullable Object */;
9883 short int var11
/* : Bool */;
9886 val
* var14
/* : AStdImport */;
9887 val
* var15
/* : null */;
9888 val
* var_pimportnode1
/* var pimportnode1: nullable AStdImport */;
9889 long var16
/* : Int */;
9890 long var17
/* : Int */;
9893 var_node_list
= var
;
9894 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9895 var_nodearraylist6
= var1
;
9896 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9897 var_nodearraylist5
= var2
;
9898 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9899 var_nodearraylist4
= var3
;
9900 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9901 var_nodearraylist3
= var4
;
9902 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9903 var_nodearraylist2
= var5
;
9904 var6
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9905 var_nodearraylist1
= var6
;
9906 var_pvisibilitynode2
= var_nodearraylist2
;
9907 /* <var_pvisibilitynode2:nullable Object> isa nullable AVisibility */
9908 cltype
= type_nullable_parser_nodes__AVisibility
.color
;
9909 idtype
= type_nullable_parser_nodes__AVisibility
.id
;
9910 if(var_pvisibilitynode2
== NULL
) {
9913 if(cltype
>= var_pvisibilitynode2
->type
->table_size
) {
9916 var7
= var_pvisibilitynode2
->type
->type_table
[cltype
] == idtype
;
9920 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4302);
9923 var_tkwimportnode3
= var_nodearraylist3
;
9924 /* <var_tkwimportnode3:nullable Object> isa nullable TKwimport */
9925 cltype9
= type_nullable_parser_nodes__TKwimport
.color
;
9926 idtype10
= type_nullable_parser_nodes__TKwimport
.id
;
9927 if(var_tkwimportnode3
== NULL
) {
9930 if(cltype9
>= var_tkwimportnode3
->type
->table_size
) {
9933 var8
= var_tkwimportnode3
->type
->type_table
[cltype9
] == idtype10
;
9937 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4304);
9940 var_pmodulenamenode4
= var_nodearraylist5
;
9941 /* <var_pmodulenamenode4:nullable Object> isa nullable AModuleName */
9942 cltype12
= type_nullable_parser_nodes__AModuleName
.color
;
9943 idtype13
= type_nullable_parser_nodes__AModuleName
.id
;
9944 if(var_pmodulenamenode4
== NULL
) {
9947 if(cltype12
>= var_pmodulenamenode4
->type
->table_size
) {
9950 var11
= var_pmodulenamenode4
->type
->type_table
[cltype12
] == idtype13
;
9954 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4306);
9957 var14
= NEW_parser_nodes__AStdImport(&type_parser_nodes__AStdImport
);
9959 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var14
->class->vft
[COLOR_parser_prod__AStdImport__init_astdimport
]))(var14
, var_pvisibilitynode2
, var_tkwimportnode3
, var_pmodulenamenode4
, var15
) /* init_astdimport on <var14:AStdImport>*/;
9960 CHECK_NEW_parser_nodes__AStdImport(var14
);
9961 var_pimportnode1
= var14
;
9962 var_node_list
= var_pimportnode1
;
9963 var16
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction66> */
9964 var17
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var16
) /* go_to on <var_p:Parser>*/;
9965 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var17
, var_node_list
) /* push on <var_p:Parser>*/;
9968 /* method parser#ReduceAction66#action for (self: Object, Parser) */
9969 void VIRTUAL_parser__ReduceAction66__action(val
* self
, val
* p0
) {
9970 parser__ReduceAction66__action(self
, p0
);