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", "Uninitialized attribute _need_first_prods");
91 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 1763);
94 var3
= ((short int (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var2
) /* is_empty on <var2:Array[Prod]>*/;
97 var5
= self
->attrs
[COLOR_parser__ComputeProdLocationVisitor___need_first_prods
].val
; /* _need_first_prods on <self:ComputeProdLocationVisitor> */
99 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _need_first_prods");
100 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 1764);
103 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var5
) /* iterator on <var5:Array[Prod]>*/;
105 var7
= ((short int (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var6
) /* is_ok on <var6:Iterator[nullable Object]>*/;
107 var8
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var6
) /* item on <var6:Iterator[nullable Object]>*/;
109 var_no
->attrs
[COLOR_parser__Prod___first_location
].val
= var_loc
; /* _first_location on <var_no:Prod> */
110 CONTINUE_label
: (void)0;
111 ((void (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var6
) /* next on <var6:Iterator[nullable Object]>*/;
113 BREAK_label
: (void)0;
114 var9
= self
->attrs
[COLOR_parser__ComputeProdLocationVisitor___need_first_prods
].val
; /* _need_first_prods on <self:ComputeProdLocationVisitor> */
116 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _need_first_prods");
117 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 1767);
120 ((void (*)(val
*))(var9
->class->vft
[COLOR_abstract_collection__RemovableCollection__clear
]))(var9
) /* clear on <var9:Array[Prod]>*/;
123 var10
= self
->attrs
[COLOR_parser__ComputeProdLocationVisitor___need_after_epsilons
].val
; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
125 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _need_after_epsilons");
126 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 1771);
129 var11
= ((short int (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var10
) /* is_empty on <var10:Array[Prod]>*/;
132 var13
= NEW_location__Location(&type_location__Location
);
133 var14
= ((val
* (*)(val
*))(var_loc
->class->vft
[COLOR_location__Location__file
]))(var_loc
) /* file on <var_loc:Location>*/;
134 var15
= ((long (*)(val
*))(var_loc
->class->vft
[COLOR_location__Location__line_start
]))(var_loc
) /* line_start on <var_loc:Location>*/;
135 var16
= ((long (*)(val
*))(var_loc
->class->vft
[COLOR_location__Location__line_start
]))(var_loc
) /* line_start on <var_loc:Location>*/;
136 var17
= ((long (*)(val
*))(var_loc
->class->vft
[COLOR_location__Location__column_start
]))(var_loc
) /* column_start on <var_loc:Location>*/;
137 var18
= ((long (*)(val
*))(var_loc
->class->vft
[COLOR_location__Location__column_start
]))(var_loc
) /* column_start on <var_loc:Location>*/;
138 ((void (*)(val
*, val
*, long, long, long, long))(var13
->class->vft
[COLOR_location__Location__init
]))(var13
, var14
, var15
, var16
, var17
, var18
) /* init on <var13:Location>*/;
139 CHECK_NEW_location__Location(var13
);
141 var19
= self
->attrs
[COLOR_parser__ComputeProdLocationVisitor___need_after_epsilons
].val
; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
143 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _need_after_epsilons");
144 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 1773);
147 var20
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var19
) /* iterator on <var19:Array[Prod]>*/;
149 var21
= ((short int (*)(val
*))(var20
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var20
) /* is_ok on <var20:Iterator[nullable Object]>*/;
151 var22
= ((val
* (*)(val
*))(var20
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var20
) /* item on <var20:Iterator[nullable Object]>*/;
153 ((void (*)(val
*, val
*))(var_no23
->class->vft
[COLOR_parser_nodes__Prod__location_61d
]))(var_no23
, var_loco
) /* location= on <var_no23:Prod>*/;
154 CONTINUE_label24
: (void)0;
155 ((void (*)(val
*))(var20
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var20
) /* next on <var20:Iterator[nullable Object]>*/;
157 BREAK_label24
: (void)0;
158 var25
= self
->attrs
[COLOR_parser__ComputeProdLocationVisitor___need_after_epsilons
].val
; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
160 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _need_after_epsilons");
161 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 1776);
164 ((void (*)(val
*))(var25
->class->vft
[COLOR_abstract_collection__RemovableCollection__clear
]))(var25
) /* clear on <var25:Array[Prod]>*/;
168 /* <var_n:ANode> isa Prod */
169 cltype27
= type_parser_nodes__Prod
.color
;
170 idtype28
= type_parser_nodes__Prod
.id
;
171 if(cltype27
>= var_n
->type
->table_size
) {
174 var26
= var_n
->type
->type_table
[cltype27
] == idtype28
;
177 fprintf(stderr
, "Runtime error: %s", "Assert failed");
178 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 1779);
181 var29
= self
->attrs
[COLOR_parser__ComputeProdLocationVisitor___need_first_prods
].val
; /* _need_first_prods on <self:ComputeProdLocationVisitor> */
183 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _need_first_prods");
184 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 1780);
187 ((void (*)(val
*, val
*))(var29
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var29
, var_n
) /* add on <var29:Array[Prod]>*/;
188 ((void (*)(val
*, val
*))(var_n
->class->vft
[COLOR_parser_nodes__ANode__visit_all
]))(var_n
, self
) /* visit_all on <var_n:ANode(Prod)>*/;
189 var30
= var_n
->attrs
[COLOR_parser__Prod___first_location
].val
; /* _first_location on <var_n:ANode(Prod)> */
192 if (var_startl
== NULL
) {
193 var32
= 0; /* is null */
195 var32
= 1; /* arg is null and recv is not */
198 var33
= self
->attrs
[COLOR_parser__ComputeProdLocationVisitor___last_location
].val
; /* _last_location on <self:ComputeProdLocationVisitor> */
201 if (var_endl
== NULL
) {
202 var35
= 0; /* is null */
204 var35
= 1; /* arg is null and recv is not */
207 fprintf(stderr
, "Runtime error: %s", "Assert failed");
208 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 1788);
211 var36
= NEW_location__Location(&type_location__Location
);
212 var37
= ((val
* (*)(val
*))(var_startl
->class->vft
[COLOR_location__Location__file
]))(var_startl
) /* file on <var_startl:nullable Location(Location)>*/;
213 var38
= ((long (*)(val
*))(var_startl
->class->vft
[COLOR_location__Location__line_start
]))(var_startl
) /* line_start on <var_startl:nullable Location(Location)>*/;
214 var39
= ((long (*)(val
*))(var_endl
->class->vft
[COLOR_location__Location__line_end
]))(var_endl
) /* line_end on <var_endl:nullable Location(Location)>*/;
215 var40
= ((long (*)(val
*))(var_startl
->class->vft
[COLOR_location__Location__column_start
]))(var_startl
) /* column_start on <var_startl:nullable Location(Location)>*/;
216 var41
= ((long (*)(val
*))(var_endl
->class->vft
[COLOR_location__Location__column_end
]))(var_endl
) /* column_end on <var_endl:nullable Location(Location)>*/;
217 ((void (*)(val
*, val
*, long, long, long, long))(var36
->class->vft
[COLOR_location__Location__init
]))(var36
, var37
, var38
, var39
, var40
, var41
) /* init on <var36:Location>*/;
218 CHECK_NEW_location__Location(var36
);
219 ((void (*)(val
*, val
*))(var_n
->class->vft
[COLOR_parser_nodes__Prod__location_61d
]))(var_n
, var36
) /* location= on <var_n:ANode(Prod)>*/;
220 var42
= self
->attrs
[COLOR_parser__ComputeProdLocationVisitor___need_after_epsilons
].val
; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
222 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _need_after_epsilons");
223 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 1792);
226 var43
= ((short int (*)(val
*))(var42
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var42
) /* is_empty on <var42:Array[Prod]>*/;
229 var45
= NEW_location__Location(&type_location__Location
);
230 var46
= ((val
* (*)(val
*))(var_endl
->class->vft
[COLOR_location__Location__file
]))(var_endl
) /* file on <var_endl:nullable Location(Location)>*/;
231 var47
= ((long (*)(val
*))(var_endl
->class->vft
[COLOR_location__Location__line_end
]))(var_endl
) /* line_end on <var_endl:nullable Location(Location)>*/;
232 var48
= ((long (*)(val
*))(var_endl
->class->vft
[COLOR_location__Location__line_end
]))(var_endl
) /* line_end on <var_endl:nullable Location(Location)>*/;
233 var49
= ((long (*)(val
*))(var_endl
->class->vft
[COLOR_location__Location__column_end
]))(var_endl
) /* column_end on <var_endl:nullable Location(Location)>*/;
234 var50
= ((long (*)(val
*))(var_endl
->class->vft
[COLOR_location__Location__column_end
]))(var_endl
) /* column_end on <var_endl:nullable Location(Location)>*/;
235 ((void (*)(val
*, val
*, long, long, long, long))(var45
->class->vft
[COLOR_location__Location__init
]))(var45
, var46
, var47
, var48
, var49
, var50
) /* init on <var45:Location>*/;
236 CHECK_NEW_location__Location(var45
);
238 var52
= self
->attrs
[COLOR_parser__ComputeProdLocationVisitor___need_after_epsilons
].val
; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
240 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _need_after_epsilons");
241 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 1794);
244 var53
= ((val
* (*)(val
*))(var52
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var52
) /* iterator on <var52:Array[Prod]>*/;
246 var54
= ((short int (*)(val
*))(var53
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var53
) /* is_ok on <var53:Iterator[nullable Object]>*/;
248 var55
= ((val
* (*)(val
*))(var53
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var53
) /* item on <var53:Iterator[nullable Object]>*/;
250 ((void (*)(val
*, val
*))(var_no56
->class->vft
[COLOR_parser_nodes__Prod__location_61d
]))(var_no56
, var_loc51
) /* location= on <var_no56:Prod>*/;
251 CONTINUE_label57
: (void)0;
252 ((void (*)(val
*))(var53
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var53
) /* next on <var53:Iterator[nullable Object]>*/;
254 BREAK_label57
: (void)0;
255 var58
= self
->attrs
[COLOR_parser__ComputeProdLocationVisitor___need_after_epsilons
].val
; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
257 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _need_after_epsilons");
258 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 1798);
261 ((void (*)(val
*))(var58
->class->vft
[COLOR_abstract_collection__RemovableCollection__clear
]))(var58
) /* clear on <var58:Array[Prod]>*/;
265 var59
= self
->attrs
[COLOR_parser__ComputeProdLocationVisitor___need_after_epsilons
].val
; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
267 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _need_after_epsilons");
268 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 1802);
271 ((void (*)(val
*, val
*))(var59
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var59
, var_n
) /* add on <var59:Array[Prod]>*/;
276 /* method parser#ComputeProdLocationVisitor#visit for (self: Object, ANode) */
277 void VIRTUAL_parser__ComputeProdLocationVisitor__visit(val
* self
, val
* p0
) {
278 parser__ComputeProdLocationVisitor__visit(self
, p0
);
281 /* method parser#ComputeProdLocationVisitor#init for (self: ComputeProdLocationVisitor) */
282 void parser__ComputeProdLocationVisitor__init(val
* self
) {
283 ((void (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__Visitor__init
]))(self
) /* init on <self:ComputeProdLocationVisitor>*/;
286 /* method parser#ComputeProdLocationVisitor#init for (self: Object) */
287 void VIRTUAL_parser__ComputeProdLocationVisitor__init(val
* self
) {
288 parser__ComputeProdLocationVisitor__init(self
);
291 /* method parser#ReduceAction#action for (self: ReduceAction, Parser) */
292 void parser__ReduceAction__action(val
* self
, val
* p0
) {
293 const char* var_class_name
;
294 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
295 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "action", var_class_name
);
296 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 1812);
300 /* method parser#ReduceAction#action for (self: Object, Parser) */
301 void VIRTUAL_parser__ReduceAction__action(val
* self
, val
* p0
) {
302 parser__ReduceAction__action(self
, p0
);
305 /* method parser#ReduceAction#concat for (self: ReduceAction, Array[Object], Array[Object]): Array[Object] */
306 val
* parser__ReduceAction__concat(val
* self
, val
* p0
, val
* p1
) {
307 val
* var
/* : Array[Object] */;
308 val
* var_l1
/* var l1: Array[Object] */;
309 val
* var_l2
/* var l2: Array[Object] */;
310 short int var1
/* : Bool */;
313 var1
= ((short int (*)(val
*))(var_l1
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var_l1
) /* is_empty on <var_l1:Array[Object]>*/;
319 ((void (*)(val
*, val
*))(var_l1
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_l1
, var_l2
) /* append on <var_l1:Array[Object]>*/;
325 /* method parser#ReduceAction#concat for (self: Object, Array[Object], Array[Object]): Array[Object] */
326 val
* VIRTUAL_parser__ReduceAction__concat(val
* self
, val
* p0
, val
* p1
) {
327 val
* var
/* : Array[Object] */;
328 val
* var1
/* : Array[Object] */;
329 var1
= parser__ReduceAction__concat(self
, p0
, p1
);
334 /* method parser#ReduceAction#init for (self: ReduceAction, Int) */
335 void parser__ReduceAction__init(val
* self
, long p0
) {
336 long var_g
/* var g: Int */;
338 self
->attrs
[COLOR_parser__ReduceAction___goto
].l
= var_g
; /* _goto on <self:ReduceAction> */
341 /* method parser#ReduceAction#init for (self: Object, Int) */
342 void VIRTUAL_parser__ReduceAction__init(val
* self
, long p0
) {
343 parser__ReduceAction__init(self
, p0
);
346 /* method parser#ReduceAction0#action for (self: ReduceAction0, Parser) */
347 void parser__ReduceAction0__action(val
* self
, val
* p0
) {
348 val
* var_p
/* var p: Parser */;
349 val
* var
/* : null */;
350 val
* var_node_list
/* var node_list: nullable Object */;
351 val
* var1
/* : Array[Object] */;
352 val
* var_listnode3
/* var listnode3: Array[Object] */;
353 val
* var2
/* : Array[Object] */;
354 val
* var_listnode4
/* var listnode4: Array[Object] */;
355 val
* var3
/* : Array[Object] */;
356 val
* var_listnode5
/* var listnode5: Array[Object] */;
357 val
* var4
/* : AModule */;
358 val
* var5
/* : null */;
359 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
360 long var6
/* : Int */;
361 long var7
/* : Int */;
365 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
366 ((void (*)(val
*))(var1
->class->vft
[COLOR_array__Array__init
]))(var1
) /* init on <var1:Array[Object]>*/;
367 CHECK_NEW_array__Array(var1
);
368 var_listnode3
= var1
;
369 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
370 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
371 CHECK_NEW_array__Array(var2
);
372 var_listnode4
= var2
;
373 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
374 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
375 CHECK_NEW_array__Array(var3
);
376 var_listnode5
= var3
;
377 var4
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
379 ((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>*/;
380 CHECK_NEW_parser_nodes__AModule(var4
);
381 var_pmodulenode1
= var4
;
382 var_node_list
= var_pmodulenode1
;
383 var6
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction0> */
384 var7
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var6
) /* go_to on <var_p:Parser>*/;
385 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var7
, var_node_list
) /* push on <var_p:Parser>*/;
388 /* method parser#ReduceAction0#action for (self: Object, Parser) */
389 void VIRTUAL_parser__ReduceAction0__action(val
* self
, val
* p0
) {
390 parser__ReduceAction0__action(self
, p0
);
393 /* method parser#ReduceAction1#action for (self: ReduceAction1, Parser) */
394 void parser__ReduceAction1__action(val
* self
, val
* p0
) {
395 val
* var_p
/* var p: Parser */;
396 val
* var
/* : null */;
397 val
* var_node_list
/* var node_list: nullable Object */;
398 val
* var1
/* : nullable Object */;
399 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
400 val
* var2
/* : Array[Object] */;
401 val
* var_listnode3
/* var listnode3: Array[Object] */;
402 val
* var3
/* : Array[Object] */;
403 val
* var_listnode4
/* var listnode4: Array[Object] */;
404 val
* var4
/* : Array[Object] */;
405 val
* var_listnode5
/* var listnode5: Array[Object] */;
406 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
407 short int var5
/* : Bool */;
410 val
* var6
/* : AModule */;
411 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
412 long var7
/* : Int */;
413 long var8
/* : Int */;
417 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
418 var_nodearraylist1
= var1
;
419 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
420 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
421 CHECK_NEW_array__Array(var2
);
422 var_listnode3
= var2
;
423 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
424 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
425 CHECK_NEW_array__Array(var3
);
426 var_listnode4
= var3
;
427 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
428 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
429 CHECK_NEW_array__Array(var4
);
430 var_listnode5
= var4
;
431 var_pmoduledeclnode2
= var_nodearraylist1
;
432 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
433 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
434 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
435 if(var_pmoduledeclnode2
== NULL
) {
438 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
441 var5
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
445 fprintf(stderr
, "Runtime error: %s", "Assert failed");
446 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 1851);
449 var6
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
450 ((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>*/;
451 CHECK_NEW_parser_nodes__AModule(var6
);
452 var_pmodulenode1
= var6
;
453 var_node_list
= var_pmodulenode1
;
454 var7
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1> */
455 var8
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var7
) /* go_to on <var_p:Parser>*/;
456 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var8
, var_node_list
) /* push on <var_p:Parser>*/;
459 /* method parser#ReduceAction1#action for (self: Object, Parser) */
460 void VIRTUAL_parser__ReduceAction1__action(val
* self
, val
* p0
) {
461 parser__ReduceAction1__action(self
, p0
);
464 /* method parser#ReduceAction2#action for (self: ReduceAction2, Parser) */
465 void parser__ReduceAction2__action(val
* self
, val
* p0
) {
466 val
* var_p
/* var p: Parser */;
467 val
* var
/* : null */;
468 val
* var_node_list
/* var node_list: nullable Object */;
469 val
* var1
/* : nullable Object */;
470 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
471 val
* var2
/* : Array[Object] */;
472 val
* var_listnode4
/* var listnode4: Array[Object] */;
473 val
* var3
/* : Array[Object] */;
474 val
* var_listnode5
/* var listnode5: Array[Object] */;
475 val
* var4
/* : Array[Object] */;
476 val
* var_listnode6
/* var listnode6: Array[Object] */;
477 val
* var_listnode3
/* var listnode3: nullable Object */;
478 short int var5
/* : Bool */;
481 val
* var6
/* : Array[Object] */;
482 val
* var7
/* : AModule */;
483 val
* var8
/* : null */;
484 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
485 long var9
/* : Int */;
486 long var10
/* : Int */;
490 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
491 var_nodearraylist1
= var1
;
492 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
493 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
494 CHECK_NEW_array__Array(var2
);
495 var_listnode4
= var2
;
496 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
497 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
498 CHECK_NEW_array__Array(var3
);
499 var_listnode5
= var3
;
500 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
501 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
502 CHECK_NEW_array__Array(var4
);
503 var_listnode6
= var4
;
504 var_listnode3
= var_nodearraylist1
;
505 /* <var_listnode3:nullable Object> isa Array[Object] */
506 cltype
= type_array__Arraykernel__Object
.color
;
507 idtype
= type_array__Arraykernel__Object
.id
;
508 if(var_listnode3
== NULL
) {
511 if(cltype
>= var_listnode3
->type
->table_size
) {
514 var5
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
518 fprintf(stderr
, "Runtime error: %s", "Assert failed");
519 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 1872);
522 var6
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction2>*/;
523 var_listnode4
= var6
;
524 var7
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
526 ((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>*/;
527 CHECK_NEW_parser_nodes__AModule(var7
);
528 var_pmodulenode1
= var7
;
529 var_node_list
= var_pmodulenode1
;
530 var9
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction2> */
531 var10
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var9
) /* go_to on <var_p:Parser>*/;
532 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var10
, var_node_list
) /* push on <var_p:Parser>*/;
535 /* method parser#ReduceAction2#action for (self: Object, Parser) */
536 void VIRTUAL_parser__ReduceAction2__action(val
* self
, val
* p0
) {
537 parser__ReduceAction2__action(self
, p0
);
540 /* method parser#ReduceAction3#action for (self: ReduceAction3, Parser) */
541 void parser__ReduceAction3__action(val
* self
, val
* p0
) {
542 val
* var_p
/* var p: Parser */;
543 val
* var
/* : null */;
544 val
* var_node_list
/* var node_list: nullable Object */;
545 val
* var1
/* : nullable Object */;
546 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
547 val
* var2
/* : nullable Object */;
548 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
549 val
* var3
/* : Array[Object] */;
550 val
* var_listnode4
/* var listnode4: Array[Object] */;
551 val
* var4
/* : Array[Object] */;
552 val
* var_listnode5
/* var listnode5: Array[Object] */;
553 val
* var5
/* : Array[Object] */;
554 val
* var_listnode6
/* var listnode6: Array[Object] */;
555 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
556 short int var6
/* : Bool */;
559 val
* var_listnode3
/* var listnode3: nullable Object */;
560 short int var7
/* : Bool */;
563 val
* var10
/* : Array[Object] */;
564 val
* var11
/* : AModule */;
565 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
566 long var12
/* : Int */;
567 long var13
/* : Int */;
571 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
572 var_nodearraylist2
= var1
;
573 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
574 var_nodearraylist1
= var2
;
575 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
576 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
577 CHECK_NEW_array__Array(var3
);
578 var_listnode4
= var3
;
579 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
580 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
581 CHECK_NEW_array__Array(var4
);
582 var_listnode5
= var4
;
583 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
584 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
585 CHECK_NEW_array__Array(var5
);
586 var_listnode6
= var5
;
587 var_pmoduledeclnode2
= var_nodearraylist1
;
588 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
589 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
590 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
591 if(var_pmoduledeclnode2
== NULL
) {
594 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
597 var6
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
601 fprintf(stderr
, "Runtime error: %s", "Assert failed");
602 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 1895);
605 var_listnode3
= var_nodearraylist2
;
606 /* <var_listnode3:nullable Object> isa Array[Object] */
607 cltype8
= type_array__Arraykernel__Object
.color
;
608 idtype9
= type_array__Arraykernel__Object
.id
;
609 if(var_listnode3
== NULL
) {
612 if(cltype8
>= var_listnode3
->type
->table_size
) {
615 var7
= var_listnode3
->type
->type_table
[cltype8
] == idtype9
;
619 fprintf(stderr
, "Runtime error: %s", "Assert failed");
620 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 1897);
623 var10
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction3>*/;
624 var_listnode4
= var10
;
625 var11
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
626 ((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>*/;
627 CHECK_NEW_parser_nodes__AModule(var11
);
628 var_pmodulenode1
= var11
;
629 var_node_list
= var_pmodulenode1
;
630 var12
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction3> */
631 var13
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var12
) /* go_to on <var_p:Parser>*/;
632 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var13
, var_node_list
) /* push on <var_p:Parser>*/;
635 /* method parser#ReduceAction3#action for (self: Object, Parser) */
636 void VIRTUAL_parser__ReduceAction3__action(val
* self
, val
* p0
) {
637 parser__ReduceAction3__action(self
, p0
);
640 /* method parser#ReduceAction4#action for (self: ReduceAction4, Parser) */
641 void parser__ReduceAction4__action(val
* self
, val
* p0
) {
642 val
* var_p
/* var p: Parser */;
643 val
* var
/* : null */;
644 val
* var_node_list
/* var node_list: nullable Object */;
645 val
* var1
/* : nullable Object */;
646 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
647 val
* var2
/* : Array[Object] */;
648 val
* var_listnode3
/* var listnode3: Array[Object] */;
649 val
* var3
/* : Array[Object] */;
650 val
* var_listnode5
/* var listnode5: Array[Object] */;
651 val
* var4
/* : Array[Object] */;
652 val
* var_listnode6
/* var listnode6: Array[Object] */;
653 val
* var_listnode4
/* var listnode4: nullable Object */;
654 short int var5
/* : Bool */;
657 val
* var6
/* : Array[Object] */;
658 val
* var7
/* : AModule */;
659 val
* var8
/* : null */;
660 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
661 long var9
/* : Int */;
662 long var10
/* : Int */;
666 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
667 var_nodearraylist1
= var1
;
668 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
669 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
670 CHECK_NEW_array__Array(var2
);
671 var_listnode3
= var2
;
672 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
673 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
674 CHECK_NEW_array__Array(var3
);
675 var_listnode5
= var3
;
676 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
677 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
678 CHECK_NEW_array__Array(var4
);
679 var_listnode6
= var4
;
680 var_listnode4
= var_nodearraylist1
;
681 /* <var_listnode4:nullable Object> isa Array[Object] */
682 cltype
= type_array__Arraykernel__Object
.color
;
683 idtype
= type_array__Arraykernel__Object
.id
;
684 if(var_listnode4
== NULL
) {
687 if(cltype
>= var_listnode4
->type
->table_size
) {
690 var5
= var_listnode4
->type
->type_table
[cltype
] == idtype
;
694 fprintf(stderr
, "Runtime error: %s", "Assert failed");
695 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 1919);
698 var6
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction4>*/;
699 var_listnode5
= var6
;
700 var7
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
702 ((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>*/;
703 CHECK_NEW_parser_nodes__AModule(var7
);
704 var_pmodulenode1
= var7
;
705 var_node_list
= var_pmodulenode1
;
706 var9
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction4> */
707 var10
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var9
) /* go_to on <var_p:Parser>*/;
708 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var10
, var_node_list
) /* push on <var_p:Parser>*/;
711 /* method parser#ReduceAction4#action for (self: Object, Parser) */
712 void VIRTUAL_parser__ReduceAction4__action(val
* self
, val
* p0
) {
713 parser__ReduceAction4__action(self
, p0
);
716 /* method parser#ReduceAction5#action for (self: ReduceAction5, Parser) */
717 void parser__ReduceAction5__action(val
* self
, val
* p0
) {
718 val
* var_p
/* var p: Parser */;
719 val
* var
/* : null */;
720 val
* var_node_list
/* var node_list: nullable Object */;
721 val
* var1
/* : nullable Object */;
722 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
723 val
* var2
/* : nullable Object */;
724 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
725 val
* var3
/* : Array[Object] */;
726 val
* var_listnode3
/* var listnode3: Array[Object] */;
727 val
* var4
/* : Array[Object] */;
728 val
* var_listnode5
/* var listnode5: Array[Object] */;
729 val
* var5
/* : Array[Object] */;
730 val
* var_listnode6
/* var listnode6: Array[Object] */;
731 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
732 short int var6
/* : Bool */;
735 val
* var_listnode4
/* var listnode4: nullable Object */;
736 short int var7
/* : Bool */;
739 val
* var10
/* : Array[Object] */;
740 val
* var11
/* : AModule */;
741 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
742 long var12
/* : Int */;
743 long var13
/* : Int */;
747 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
748 var_nodearraylist2
= var1
;
749 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
750 var_nodearraylist1
= var2
;
751 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
752 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
753 CHECK_NEW_array__Array(var3
);
754 var_listnode3
= var3
;
755 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
756 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
757 CHECK_NEW_array__Array(var4
);
758 var_listnode5
= var4
;
759 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
760 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
761 CHECK_NEW_array__Array(var5
);
762 var_listnode6
= var5
;
763 var_pmoduledeclnode2
= var_nodearraylist1
;
764 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
765 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
766 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
767 if(var_pmoduledeclnode2
== NULL
) {
770 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
773 var6
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
777 fprintf(stderr
, "Runtime error: %s", "Assert failed");
778 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 1942);
781 var_listnode4
= var_nodearraylist2
;
782 /* <var_listnode4:nullable Object> isa Array[Object] */
783 cltype8
= type_array__Arraykernel__Object
.color
;
784 idtype9
= type_array__Arraykernel__Object
.id
;
785 if(var_listnode4
== NULL
) {
788 if(cltype8
>= var_listnode4
->type
->table_size
) {
791 var7
= var_listnode4
->type
->type_table
[cltype8
] == idtype9
;
795 fprintf(stderr
, "Runtime error: %s", "Assert failed");
796 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 1944);
799 var10
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction5>*/;
800 var_listnode5
= var10
;
801 var11
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
802 ((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>*/;
803 CHECK_NEW_parser_nodes__AModule(var11
);
804 var_pmodulenode1
= var11
;
805 var_node_list
= var_pmodulenode1
;
806 var12
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction5> */
807 var13
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var12
) /* go_to on <var_p:Parser>*/;
808 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var13
, var_node_list
) /* push on <var_p:Parser>*/;
811 /* method parser#ReduceAction5#action for (self: Object, Parser) */
812 void VIRTUAL_parser__ReduceAction5__action(val
* self
, val
* p0
) {
813 parser__ReduceAction5__action(self
, p0
);
816 /* method parser#ReduceAction6#action for (self: ReduceAction6, Parser) */
817 void parser__ReduceAction6__action(val
* self
, val
* p0
) {
818 val
* var_p
/* var p: Parser */;
819 val
* var
/* : null */;
820 val
* var_node_list
/* var node_list: nullable Object */;
821 val
* var1
/* : nullable Object */;
822 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
823 val
* var2
/* : nullable Object */;
824 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
825 val
* var3
/* : Array[Object] */;
826 val
* var_listnode4
/* var listnode4: Array[Object] */;
827 val
* var4
/* : Array[Object] */;
828 val
* var_listnode6
/* var listnode6: Array[Object] */;
829 val
* var5
/* : Array[Object] */;
830 val
* var_listnode7
/* var listnode7: Array[Object] */;
831 val
* var_listnode3
/* var listnode3: nullable Object */;
832 short int var6
/* : Bool */;
835 val
* var7
/* : Array[Object] */;
836 val
* var_listnode5
/* var listnode5: nullable Object */;
837 short int var8
/* : Bool */;
840 val
* var11
/* : Array[Object] */;
841 val
* var12
/* : AModule */;
842 val
* var13
/* : null */;
843 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
844 long var14
/* : Int */;
845 long var15
/* : Int */;
849 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
850 var_nodearraylist2
= var1
;
851 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
852 var_nodearraylist1
= var2
;
853 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
854 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
855 CHECK_NEW_array__Array(var3
);
856 var_listnode4
= var3
;
857 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
858 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
859 CHECK_NEW_array__Array(var4
);
860 var_listnode6
= var4
;
861 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
862 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
863 CHECK_NEW_array__Array(var5
);
864 var_listnode7
= var5
;
865 var_listnode3
= var_nodearraylist1
;
866 /* <var_listnode3:nullable Object> isa Array[Object] */
867 cltype
= type_array__Arraykernel__Object
.color
;
868 idtype
= type_array__Arraykernel__Object
.id
;
869 if(var_listnode3
== NULL
) {
872 if(cltype
>= var_listnode3
->type
->table_size
) {
875 var6
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
879 fprintf(stderr
, "Runtime error: %s", "Assert failed");
880 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 1967);
883 var7
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction6>*/;
884 var_listnode4
= var7
;
885 var_listnode5
= var_nodearraylist2
;
886 /* <var_listnode5:nullable Object> isa Array[Object] */
887 cltype9
= type_array__Arraykernel__Object
.color
;
888 idtype10
= type_array__Arraykernel__Object
.id
;
889 if(var_listnode5
== NULL
) {
892 if(cltype9
>= var_listnode5
->type
->table_size
) {
895 var8
= var_listnode5
->type
->type_table
[cltype9
] == idtype10
;
899 fprintf(stderr
, "Runtime error: %s", "Assert failed");
900 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 1970);
903 var11
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction6>*/;
904 var_listnode6
= var11
;
905 var12
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
907 ((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>*/;
908 CHECK_NEW_parser_nodes__AModule(var12
);
909 var_pmodulenode1
= var12
;
910 var_node_list
= var_pmodulenode1
;
911 var14
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction6> */
912 var15
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var14
) /* go_to on <var_p:Parser>*/;
913 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var15
, var_node_list
) /* push on <var_p:Parser>*/;
916 /* method parser#ReduceAction6#action for (self: Object, Parser) */
917 void VIRTUAL_parser__ReduceAction6__action(val
* self
, val
* p0
) {
918 parser__ReduceAction6__action(self
, p0
);
921 /* method parser#ReduceAction7#action for (self: ReduceAction7, Parser) */
922 void parser__ReduceAction7__action(val
* self
, val
* p0
) {
923 val
* var_p
/* var p: Parser */;
924 val
* var
/* : null */;
925 val
* var_node_list
/* var node_list: nullable Object */;
926 val
* var1
/* : nullable Object */;
927 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
928 val
* var2
/* : nullable Object */;
929 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
930 val
* var3
/* : nullable Object */;
931 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
932 val
* var4
/* : Array[Object] */;
933 val
* var_listnode4
/* var listnode4: Array[Object] */;
934 val
* var5
/* : Array[Object] */;
935 val
* var_listnode6
/* var listnode6: Array[Object] */;
936 val
* var6
/* : Array[Object] */;
937 val
* var_listnode7
/* var listnode7: Array[Object] */;
938 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
939 short int var7
/* : Bool */;
942 val
* var_listnode3
/* var listnode3: nullable Object */;
943 short int var8
/* : Bool */;
946 val
* var11
/* : Array[Object] */;
947 val
* var_listnode5
/* var listnode5: nullable Object */;
948 short int var12
/* : Bool */;
951 val
* var15
/* : Array[Object] */;
952 val
* var16
/* : AModule */;
953 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
954 long var17
/* : Int */;
955 long var18
/* : Int */;
959 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
960 var_nodearraylist3
= var1
;
961 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
962 var_nodearraylist2
= var2
;
963 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
964 var_nodearraylist1
= var3
;
965 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
966 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
967 CHECK_NEW_array__Array(var4
);
968 var_listnode4
= var4
;
969 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
970 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
971 CHECK_NEW_array__Array(var5
);
972 var_listnode6
= var5
;
973 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
974 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
975 CHECK_NEW_array__Array(var6
);
976 var_listnode7
= var6
;
977 var_pmoduledeclnode2
= var_nodearraylist1
;
978 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
979 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
980 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
981 if(var_pmoduledeclnode2
== NULL
) {
984 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
987 var7
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
991 fprintf(stderr
, "Runtime error: %s", "Assert failed");
992 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 1994);
995 var_listnode3
= var_nodearraylist2
;
996 /* <var_listnode3:nullable Object> isa Array[Object] */
997 cltype9
= type_array__Arraykernel__Object
.color
;
998 idtype10
= type_array__Arraykernel__Object
.id
;
999 if(var_listnode3
== NULL
) {
1002 if(cltype9
>= var_listnode3
->type
->table_size
) {
1005 var8
= var_listnode3
->type
->type_table
[cltype9
] == idtype10
;
1009 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1010 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 1996);
1013 var11
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction7>*/;
1014 var_listnode4
= var11
;
1015 var_listnode5
= var_nodearraylist3
;
1016 /* <var_listnode5:nullable Object> isa Array[Object] */
1017 cltype13
= type_array__Arraykernel__Object
.color
;
1018 idtype14
= type_array__Arraykernel__Object
.id
;
1019 if(var_listnode5
== NULL
) {
1022 if(cltype13
>= var_listnode5
->type
->table_size
) {
1025 var12
= var_listnode5
->type
->type_table
[cltype13
] == idtype14
;
1029 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1030 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 1999);
1033 var15
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction7>*/;
1034 var_listnode6
= var15
;
1035 var16
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
1036 ((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>*/;
1037 CHECK_NEW_parser_nodes__AModule(var16
);
1038 var_pmodulenode1
= var16
;
1039 var_node_list
= var_pmodulenode1
;
1040 var17
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction7> */
1041 var18
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var17
) /* go_to on <var_p:Parser>*/;
1042 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var18
, var_node_list
) /* push on <var_p:Parser>*/;
1045 /* method parser#ReduceAction7#action for (self: Object, Parser) */
1046 void VIRTUAL_parser__ReduceAction7__action(val
* self
, val
* p0
) {
1047 parser__ReduceAction7__action(self
, p0
);
1050 /* method parser#ReduceAction8#action for (self: ReduceAction8, Parser) */
1051 void parser__ReduceAction8__action(val
* self
, val
* p0
) {
1052 val
* var_p
/* var p: Parser */;
1053 val
* var
/* : null */;
1054 val
* var_node_list
/* var node_list: nullable Object */;
1055 val
* var1
/* : nullable Object */;
1056 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1057 val
* var2
/* : Array[Object] */;
1058 val
* var_listnode3
/* var listnode3: Array[Object] */;
1059 val
* var3
/* : Array[Object] */;
1060 val
* var_listnode4
/* var listnode4: Array[Object] */;
1061 val
* var4
/* : Array[Object] */;
1062 val
* var_listnode6
/* var listnode6: Array[Object] */;
1063 val
* var_listnode5
/* var listnode5: nullable Object */;
1064 short int var5
/* : Bool */;
1067 val
* var6
/* : Array[Object] */;
1068 val
* var7
/* : AModule */;
1069 val
* var8
/* : null */;
1070 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
1071 long var9
/* : Int */;
1072 long var10
/* : Int */;
1075 var_node_list
= var
;
1076 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1077 var_nodearraylist1
= var1
;
1078 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
1079 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
1080 CHECK_NEW_array__Array(var2
);
1081 var_listnode3
= var2
;
1082 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
1083 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
1084 CHECK_NEW_array__Array(var3
);
1085 var_listnode4
= var3
;
1086 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
1087 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
1088 CHECK_NEW_array__Array(var4
);
1089 var_listnode6
= var4
;
1090 var_listnode5
= var_nodearraylist1
;
1091 /* <var_listnode5:nullable Object> isa Array[Object] */
1092 cltype
= type_array__Arraykernel__Object
.color
;
1093 idtype
= type_array__Arraykernel__Object
.id
;
1094 if(var_listnode5
== NULL
) {
1097 if(cltype
>= var_listnode5
->type
->table_size
) {
1100 var5
= var_listnode5
->type
->type_table
[cltype
] == idtype
;
1104 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1105 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2021);
1108 var6
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction8>*/;
1109 var_listnode6
= var6
;
1110 var7
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
1112 ((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>*/;
1113 CHECK_NEW_parser_nodes__AModule(var7
);
1114 var_pmodulenode1
= var7
;
1115 var_node_list
= var_pmodulenode1
;
1116 var9
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction8> */
1117 var10
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var9
) /* go_to on <var_p:Parser>*/;
1118 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var10
, var_node_list
) /* push on <var_p:Parser>*/;
1121 /* method parser#ReduceAction8#action for (self: Object, Parser) */
1122 void VIRTUAL_parser__ReduceAction8__action(val
* self
, val
* p0
) {
1123 parser__ReduceAction8__action(self
, p0
);
1126 /* method parser#ReduceAction9#action for (self: ReduceAction9, Parser) */
1127 void parser__ReduceAction9__action(val
* self
, val
* p0
) {
1128 val
* var_p
/* var p: Parser */;
1129 val
* var
/* : null */;
1130 val
* var_node_list
/* var node_list: nullable Object */;
1131 val
* var1
/* : nullable Object */;
1132 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1133 val
* var2
/* : nullable Object */;
1134 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1135 val
* var3
/* : Array[Object] */;
1136 val
* var_listnode3
/* var listnode3: Array[Object] */;
1137 val
* var4
/* : Array[Object] */;
1138 val
* var_listnode4
/* var listnode4: Array[Object] */;
1139 val
* var5
/* : Array[Object] */;
1140 val
* var_listnode6
/* var listnode6: Array[Object] */;
1141 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
1142 short int var6
/* : Bool */;
1145 val
* var_listnode5
/* var listnode5: nullable Object */;
1146 short int var7
/* : Bool */;
1149 val
* var10
/* : Array[Object] */;
1150 val
* var11
/* : AModule */;
1151 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
1152 long var12
/* : Int */;
1153 long var13
/* : Int */;
1156 var_node_list
= var
;
1157 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1158 var_nodearraylist2
= var1
;
1159 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1160 var_nodearraylist1
= var2
;
1161 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
1162 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
1163 CHECK_NEW_array__Array(var3
);
1164 var_listnode3
= var3
;
1165 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
1166 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
1167 CHECK_NEW_array__Array(var4
);
1168 var_listnode4
= var4
;
1169 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
1170 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
1171 CHECK_NEW_array__Array(var5
);
1172 var_listnode6
= var5
;
1173 var_pmoduledeclnode2
= var_nodearraylist1
;
1174 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
1175 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
1176 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
1177 if(var_pmoduledeclnode2
== NULL
) {
1180 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
1183 var6
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
1187 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1188 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2044);
1191 var_listnode5
= var_nodearraylist2
;
1192 /* <var_listnode5:nullable Object> isa Array[Object] */
1193 cltype8
= type_array__Arraykernel__Object
.color
;
1194 idtype9
= type_array__Arraykernel__Object
.id
;
1195 if(var_listnode5
== NULL
) {
1198 if(cltype8
>= var_listnode5
->type
->table_size
) {
1201 var7
= var_listnode5
->type
->type_table
[cltype8
] == idtype9
;
1205 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1206 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2046);
1209 var10
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction9>*/;
1210 var_listnode6
= var10
;
1211 var11
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
1212 ((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>*/;
1213 CHECK_NEW_parser_nodes__AModule(var11
);
1214 var_pmodulenode1
= var11
;
1215 var_node_list
= var_pmodulenode1
;
1216 var12
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction9> */
1217 var13
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var12
) /* go_to on <var_p:Parser>*/;
1218 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var13
, var_node_list
) /* push on <var_p:Parser>*/;
1221 /* method parser#ReduceAction9#action for (self: Object, Parser) */
1222 void VIRTUAL_parser__ReduceAction9__action(val
* self
, val
* p0
) {
1223 parser__ReduceAction9__action(self
, p0
);
1226 /* method parser#ReduceAction10#action for (self: ReduceAction10, Parser) */
1227 void parser__ReduceAction10__action(val
* self
, val
* p0
) {
1228 val
* var_p
/* var p: Parser */;
1229 val
* var
/* : null */;
1230 val
* var_node_list
/* var node_list: nullable Object */;
1231 val
* var1
/* : nullable Object */;
1232 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1233 val
* var2
/* : nullable Object */;
1234 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1235 val
* var3
/* : Array[Object] */;
1236 val
* var_listnode4
/* var listnode4: Array[Object] */;
1237 val
* var4
/* : Array[Object] */;
1238 val
* var_listnode5
/* var listnode5: Array[Object] */;
1239 val
* var5
/* : Array[Object] */;
1240 val
* var_listnode7
/* var listnode7: Array[Object] */;
1241 val
* var_listnode3
/* var listnode3: nullable Object */;
1242 short int var6
/* : Bool */;
1245 val
* var7
/* : Array[Object] */;
1246 val
* var_listnode6
/* var listnode6: nullable Object */;
1247 short int var8
/* : Bool */;
1250 val
* var11
/* : Array[Object] */;
1251 val
* var12
/* : AModule */;
1252 val
* var13
/* : null */;
1253 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
1254 long var14
/* : Int */;
1255 long var15
/* : Int */;
1258 var_node_list
= var
;
1259 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1260 var_nodearraylist2
= var1
;
1261 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1262 var_nodearraylist1
= var2
;
1263 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
1264 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
1265 CHECK_NEW_array__Array(var3
);
1266 var_listnode4
= var3
;
1267 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
1268 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
1269 CHECK_NEW_array__Array(var4
);
1270 var_listnode5
= var4
;
1271 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
1272 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
1273 CHECK_NEW_array__Array(var5
);
1274 var_listnode7
= var5
;
1275 var_listnode3
= var_nodearraylist1
;
1276 /* <var_listnode3:nullable Object> isa Array[Object] */
1277 cltype
= type_array__Arraykernel__Object
.color
;
1278 idtype
= type_array__Arraykernel__Object
.id
;
1279 if(var_listnode3
== NULL
) {
1282 if(cltype
>= var_listnode3
->type
->table_size
) {
1285 var6
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
1289 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1290 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2069);
1293 var7
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction10>*/;
1294 var_listnode4
= var7
;
1295 var_listnode6
= var_nodearraylist2
;
1296 /* <var_listnode6:nullable Object> isa Array[Object] */
1297 cltype9
= type_array__Arraykernel__Object
.color
;
1298 idtype10
= type_array__Arraykernel__Object
.id
;
1299 if(var_listnode6
== NULL
) {
1302 if(cltype9
>= var_listnode6
->type
->table_size
) {
1305 var8
= var_listnode6
->type
->type_table
[cltype9
] == idtype10
;
1309 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1310 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2072);
1313 var11
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode7
, var_listnode6
) /* concat on <self:ReduceAction10>*/;
1314 var_listnode7
= var11
;
1315 var12
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
1317 ((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>*/;
1318 CHECK_NEW_parser_nodes__AModule(var12
);
1319 var_pmodulenode1
= var12
;
1320 var_node_list
= var_pmodulenode1
;
1321 var14
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction10> */
1322 var15
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var14
) /* go_to on <var_p:Parser>*/;
1323 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var15
, var_node_list
) /* push on <var_p:Parser>*/;
1326 /* method parser#ReduceAction10#action for (self: Object, Parser) */
1327 void VIRTUAL_parser__ReduceAction10__action(val
* self
, val
* p0
) {
1328 parser__ReduceAction10__action(self
, p0
);
1331 /* method parser#ReduceAction11#action for (self: ReduceAction11, Parser) */
1332 void parser__ReduceAction11__action(val
* self
, val
* p0
) {
1333 val
* var_p
/* var p: Parser */;
1334 val
* var
/* : null */;
1335 val
* var_node_list
/* var node_list: nullable Object */;
1336 val
* var1
/* : nullable Object */;
1337 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1338 val
* var2
/* : nullable Object */;
1339 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1340 val
* var3
/* : nullable Object */;
1341 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1342 val
* var4
/* : Array[Object] */;
1343 val
* var_listnode4
/* var listnode4: Array[Object] */;
1344 val
* var5
/* : Array[Object] */;
1345 val
* var_listnode5
/* var listnode5: Array[Object] */;
1346 val
* var6
/* : Array[Object] */;
1347 val
* var_listnode7
/* var listnode7: Array[Object] */;
1348 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
1349 short int var7
/* : Bool */;
1352 val
* var_listnode3
/* var listnode3: nullable Object */;
1353 short int var8
/* : Bool */;
1356 val
* var11
/* : Array[Object] */;
1357 val
* var_listnode6
/* var listnode6: nullable Object */;
1358 short int var12
/* : Bool */;
1361 val
* var15
/* : Array[Object] */;
1362 val
* var16
/* : AModule */;
1363 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
1364 long var17
/* : Int */;
1365 long var18
/* : Int */;
1368 var_node_list
= var
;
1369 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1370 var_nodearraylist3
= var1
;
1371 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1372 var_nodearraylist2
= var2
;
1373 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1374 var_nodearraylist1
= var3
;
1375 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
1376 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
1377 CHECK_NEW_array__Array(var4
);
1378 var_listnode4
= var4
;
1379 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
1380 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
1381 CHECK_NEW_array__Array(var5
);
1382 var_listnode5
= var5
;
1383 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
1384 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
1385 CHECK_NEW_array__Array(var6
);
1386 var_listnode7
= var6
;
1387 var_pmoduledeclnode2
= var_nodearraylist1
;
1388 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
1389 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
1390 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
1391 if(var_pmoduledeclnode2
== NULL
) {
1394 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
1397 var7
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
1401 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1402 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2096);
1405 var_listnode3
= var_nodearraylist2
;
1406 /* <var_listnode3:nullable Object> isa Array[Object] */
1407 cltype9
= type_array__Arraykernel__Object
.color
;
1408 idtype10
= type_array__Arraykernel__Object
.id
;
1409 if(var_listnode3
== NULL
) {
1412 if(cltype9
>= var_listnode3
->type
->table_size
) {
1415 var8
= var_listnode3
->type
->type_table
[cltype9
] == idtype10
;
1419 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1420 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2098);
1423 var11
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction11>*/;
1424 var_listnode4
= var11
;
1425 var_listnode6
= var_nodearraylist3
;
1426 /* <var_listnode6:nullable Object> isa Array[Object] */
1427 cltype13
= type_array__Arraykernel__Object
.color
;
1428 idtype14
= type_array__Arraykernel__Object
.id
;
1429 if(var_listnode6
== NULL
) {
1432 if(cltype13
>= var_listnode6
->type
->table_size
) {
1435 var12
= var_listnode6
->type
->type_table
[cltype13
] == idtype14
;
1439 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1440 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2101);
1443 var15
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode7
, var_listnode6
) /* concat on <self:ReduceAction11>*/;
1444 var_listnode7
= var15
;
1445 var16
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
1446 ((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>*/;
1447 CHECK_NEW_parser_nodes__AModule(var16
);
1448 var_pmodulenode1
= var16
;
1449 var_node_list
= var_pmodulenode1
;
1450 var17
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction11> */
1451 var18
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var17
) /* go_to on <var_p:Parser>*/;
1452 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var18
, var_node_list
) /* push on <var_p:Parser>*/;
1455 /* method parser#ReduceAction11#action for (self: Object, Parser) */
1456 void VIRTUAL_parser__ReduceAction11__action(val
* self
, val
* p0
) {
1457 parser__ReduceAction11__action(self
, p0
);
1460 /* method parser#ReduceAction12#action for (self: ReduceAction12, Parser) */
1461 void parser__ReduceAction12__action(val
* self
, val
* p0
) {
1462 val
* var_p
/* var p: Parser */;
1463 val
* var
/* : null */;
1464 val
* var_node_list
/* var node_list: nullable Object */;
1465 val
* var1
/* : nullable Object */;
1466 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1467 val
* var2
/* : nullable Object */;
1468 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1469 val
* var3
/* : Array[Object] */;
1470 val
* var_listnode3
/* var listnode3: Array[Object] */;
1471 val
* var4
/* : Array[Object] */;
1472 val
* var_listnode5
/* var listnode5: Array[Object] */;
1473 val
* var5
/* : Array[Object] */;
1474 val
* var_listnode7
/* var listnode7: Array[Object] */;
1475 val
* var_listnode4
/* var listnode4: nullable Object */;
1476 short int var6
/* : Bool */;
1479 val
* var7
/* : Array[Object] */;
1480 val
* var_listnode6
/* var listnode6: nullable Object */;
1481 short int var8
/* : Bool */;
1484 val
* var11
/* : Array[Object] */;
1485 val
* var12
/* : AModule */;
1486 val
* var13
/* : null */;
1487 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
1488 long var14
/* : Int */;
1489 long var15
/* : Int */;
1492 var_node_list
= var
;
1493 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1494 var_nodearraylist2
= var1
;
1495 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1496 var_nodearraylist1
= var2
;
1497 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
1498 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
1499 CHECK_NEW_array__Array(var3
);
1500 var_listnode3
= var3
;
1501 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
1502 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
1503 CHECK_NEW_array__Array(var4
);
1504 var_listnode5
= var4
;
1505 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
1506 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
1507 CHECK_NEW_array__Array(var5
);
1508 var_listnode7
= var5
;
1509 var_listnode4
= var_nodearraylist1
;
1510 /* <var_listnode4:nullable Object> isa Array[Object] */
1511 cltype
= type_array__Arraykernel__Object
.color
;
1512 idtype
= type_array__Arraykernel__Object
.id
;
1513 if(var_listnode4
== NULL
) {
1516 if(cltype
>= var_listnode4
->type
->table_size
) {
1519 var6
= var_listnode4
->type
->type_table
[cltype
] == idtype
;
1523 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1524 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2124);
1527 var7
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction12>*/;
1528 var_listnode5
= var7
;
1529 var_listnode6
= var_nodearraylist2
;
1530 /* <var_listnode6:nullable Object> isa Array[Object] */
1531 cltype9
= type_array__Arraykernel__Object
.color
;
1532 idtype10
= type_array__Arraykernel__Object
.id
;
1533 if(var_listnode6
== NULL
) {
1536 if(cltype9
>= var_listnode6
->type
->table_size
) {
1539 var8
= var_listnode6
->type
->type_table
[cltype9
] == idtype10
;
1543 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1544 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2127);
1547 var11
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode7
, var_listnode6
) /* concat on <self:ReduceAction12>*/;
1548 var_listnode7
= var11
;
1549 var12
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
1551 ((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>*/;
1552 CHECK_NEW_parser_nodes__AModule(var12
);
1553 var_pmodulenode1
= var12
;
1554 var_node_list
= var_pmodulenode1
;
1555 var14
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction12> */
1556 var15
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var14
) /* go_to on <var_p:Parser>*/;
1557 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var15
, var_node_list
) /* push on <var_p:Parser>*/;
1560 /* method parser#ReduceAction12#action for (self: Object, Parser) */
1561 void VIRTUAL_parser__ReduceAction12__action(val
* self
, val
* p0
) {
1562 parser__ReduceAction12__action(self
, p0
);
1565 /* method parser#ReduceAction13#action for (self: ReduceAction13, Parser) */
1566 void parser__ReduceAction13__action(val
* self
, val
* p0
) {
1567 val
* var_p
/* var p: Parser */;
1568 val
* var
/* : null */;
1569 val
* var_node_list
/* var node_list: nullable Object */;
1570 val
* var1
/* : nullable Object */;
1571 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1572 val
* var2
/* : nullable Object */;
1573 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1574 val
* var3
/* : nullable Object */;
1575 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1576 val
* var4
/* : Array[Object] */;
1577 val
* var_listnode3
/* var listnode3: Array[Object] */;
1578 val
* var5
/* : Array[Object] */;
1579 val
* var_listnode5
/* var listnode5: Array[Object] */;
1580 val
* var6
/* : Array[Object] */;
1581 val
* var_listnode7
/* var listnode7: Array[Object] */;
1582 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
1583 short int var7
/* : Bool */;
1586 val
* var_listnode4
/* var listnode4: nullable Object */;
1587 short int var8
/* : Bool */;
1590 val
* var11
/* : Array[Object] */;
1591 val
* var_listnode6
/* var listnode6: nullable Object */;
1592 short int var12
/* : Bool */;
1595 val
* var15
/* : Array[Object] */;
1596 val
* var16
/* : AModule */;
1597 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
1598 long var17
/* : Int */;
1599 long var18
/* : Int */;
1602 var_node_list
= var
;
1603 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1604 var_nodearraylist3
= var1
;
1605 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1606 var_nodearraylist2
= var2
;
1607 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1608 var_nodearraylist1
= var3
;
1609 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
1610 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
1611 CHECK_NEW_array__Array(var4
);
1612 var_listnode3
= var4
;
1613 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
1614 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
1615 CHECK_NEW_array__Array(var5
);
1616 var_listnode5
= var5
;
1617 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
1618 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
1619 CHECK_NEW_array__Array(var6
);
1620 var_listnode7
= var6
;
1621 var_pmoduledeclnode2
= var_nodearraylist1
;
1622 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
1623 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
1624 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
1625 if(var_pmoduledeclnode2
== NULL
) {
1628 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
1631 var7
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
1635 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1636 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2151);
1639 var_listnode4
= var_nodearraylist2
;
1640 /* <var_listnode4:nullable Object> isa Array[Object] */
1641 cltype9
= type_array__Arraykernel__Object
.color
;
1642 idtype10
= type_array__Arraykernel__Object
.id
;
1643 if(var_listnode4
== NULL
) {
1646 if(cltype9
>= var_listnode4
->type
->table_size
) {
1649 var8
= var_listnode4
->type
->type_table
[cltype9
] == idtype10
;
1653 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1654 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2153);
1657 var11
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction13>*/;
1658 var_listnode5
= var11
;
1659 var_listnode6
= var_nodearraylist3
;
1660 /* <var_listnode6:nullable Object> isa Array[Object] */
1661 cltype13
= type_array__Arraykernel__Object
.color
;
1662 idtype14
= type_array__Arraykernel__Object
.id
;
1663 if(var_listnode6
== NULL
) {
1666 if(cltype13
>= var_listnode6
->type
->table_size
) {
1669 var12
= var_listnode6
->type
->type_table
[cltype13
] == idtype14
;
1673 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1674 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2156);
1677 var15
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode7
, var_listnode6
) /* concat on <self:ReduceAction13>*/;
1678 var_listnode7
= var15
;
1679 var16
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
1680 ((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>*/;
1681 CHECK_NEW_parser_nodes__AModule(var16
);
1682 var_pmodulenode1
= var16
;
1683 var_node_list
= var_pmodulenode1
;
1684 var17
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction13> */
1685 var18
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var17
) /* go_to on <var_p:Parser>*/;
1686 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var18
, var_node_list
) /* push on <var_p:Parser>*/;
1689 /* method parser#ReduceAction13#action for (self: Object, Parser) */
1690 void VIRTUAL_parser__ReduceAction13__action(val
* self
, val
* p0
) {
1691 parser__ReduceAction13__action(self
, p0
);
1694 /* method parser#ReduceAction14#action for (self: ReduceAction14, Parser) */
1695 void parser__ReduceAction14__action(val
* self
, val
* p0
) {
1696 val
* var_p
/* var p: Parser */;
1697 val
* var
/* : null */;
1698 val
* var_node_list
/* var node_list: nullable Object */;
1699 val
* var1
/* : nullable Object */;
1700 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1701 val
* var2
/* : nullable Object */;
1702 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1703 val
* var3
/* : nullable Object */;
1704 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1705 val
* var4
/* : Array[Object] */;
1706 val
* var_listnode4
/* var listnode4: Array[Object] */;
1707 val
* var5
/* : Array[Object] */;
1708 val
* var_listnode6
/* var listnode6: Array[Object] */;
1709 val
* var6
/* : Array[Object] */;
1710 val
* var_listnode8
/* var listnode8: Array[Object] */;
1711 val
* var_listnode3
/* var listnode3: nullable Object */;
1712 short int var7
/* : Bool */;
1715 val
* var8
/* : Array[Object] */;
1716 val
* var_listnode5
/* var listnode5: nullable Object */;
1717 short int var9
/* : Bool */;
1720 val
* var12
/* : Array[Object] */;
1721 val
* var_listnode7
/* var listnode7: nullable Object */;
1722 short int var13
/* : Bool */;
1725 val
* var16
/* : Array[Object] */;
1726 val
* var17
/* : AModule */;
1727 val
* var18
/* : null */;
1728 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
1729 long var19
/* : Int */;
1730 long var20
/* : Int */;
1733 var_node_list
= var
;
1734 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1735 var_nodearraylist3
= var1
;
1736 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1737 var_nodearraylist2
= var2
;
1738 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1739 var_nodearraylist1
= var3
;
1740 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
1741 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
1742 CHECK_NEW_array__Array(var4
);
1743 var_listnode4
= var4
;
1744 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
1745 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
1746 CHECK_NEW_array__Array(var5
);
1747 var_listnode6
= var5
;
1748 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
1749 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
1750 CHECK_NEW_array__Array(var6
);
1751 var_listnode8
= var6
;
1752 var_listnode3
= var_nodearraylist1
;
1753 /* <var_listnode3:nullable Object> isa Array[Object] */
1754 cltype
= type_array__Arraykernel__Object
.color
;
1755 idtype
= type_array__Arraykernel__Object
.id
;
1756 if(var_listnode3
== NULL
) {
1759 if(cltype
>= var_listnode3
->type
->table_size
) {
1762 var7
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
1766 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1767 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2180);
1770 var8
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction14>*/;
1771 var_listnode4
= var8
;
1772 var_listnode5
= var_nodearraylist2
;
1773 /* <var_listnode5:nullable Object> isa Array[Object] */
1774 cltype10
= type_array__Arraykernel__Object
.color
;
1775 idtype11
= type_array__Arraykernel__Object
.id
;
1776 if(var_listnode5
== NULL
) {
1779 if(cltype10
>= var_listnode5
->type
->table_size
) {
1782 var9
= var_listnode5
->type
->type_table
[cltype10
] == idtype11
;
1786 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1787 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2183);
1790 var12
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction14>*/;
1791 var_listnode6
= var12
;
1792 var_listnode7
= var_nodearraylist3
;
1793 /* <var_listnode7:nullable Object> isa Array[Object] */
1794 cltype14
= type_array__Arraykernel__Object
.color
;
1795 idtype15
= type_array__Arraykernel__Object
.id
;
1796 if(var_listnode7
== NULL
) {
1799 if(cltype14
>= var_listnode7
->type
->table_size
) {
1802 var13
= var_listnode7
->type
->type_table
[cltype14
] == idtype15
;
1806 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1807 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2186);
1810 var16
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode7
) /* concat on <self:ReduceAction14>*/;
1811 var_listnode8
= var16
;
1812 var17
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
1814 ((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>*/;
1815 CHECK_NEW_parser_nodes__AModule(var17
);
1816 var_pmodulenode1
= var17
;
1817 var_node_list
= var_pmodulenode1
;
1818 var19
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction14> */
1819 var20
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var19
) /* go_to on <var_p:Parser>*/;
1820 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var20
, var_node_list
) /* push on <var_p:Parser>*/;
1823 /* method parser#ReduceAction14#action for (self: Object, Parser) */
1824 void VIRTUAL_parser__ReduceAction14__action(val
* self
, val
* p0
) {
1825 parser__ReduceAction14__action(self
, p0
);
1828 /* method parser#ReduceAction15#action for (self: ReduceAction15, Parser) */
1829 void parser__ReduceAction15__action(val
* self
, val
* p0
) {
1830 val
* var_p
/* var p: Parser */;
1831 val
* var
/* : null */;
1832 val
* var_node_list
/* var node_list: nullable Object */;
1833 val
* var1
/* : nullable Object */;
1834 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1835 val
* var2
/* : nullable Object */;
1836 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1837 val
* var3
/* : nullable Object */;
1838 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1839 val
* var4
/* : nullable Object */;
1840 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1841 val
* var5
/* : Array[Object] */;
1842 val
* var_listnode4
/* var listnode4: Array[Object] */;
1843 val
* var6
/* : Array[Object] */;
1844 val
* var_listnode6
/* var listnode6: Array[Object] */;
1845 val
* var7
/* : Array[Object] */;
1846 val
* var_listnode8
/* var listnode8: Array[Object] */;
1847 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
1848 short int var8
/* : Bool */;
1851 val
* var_listnode3
/* var listnode3: nullable Object */;
1852 short int var9
/* : Bool */;
1855 val
* var12
/* : Array[Object] */;
1856 val
* var_listnode5
/* var listnode5: nullable Object */;
1857 short int var13
/* : Bool */;
1860 val
* var16
/* : Array[Object] */;
1861 val
* var_listnode7
/* var listnode7: nullable Object */;
1862 short int var17
/* : Bool */;
1865 val
* var20
/* : Array[Object] */;
1866 val
* var21
/* : AModule */;
1867 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
1868 long var22
/* : Int */;
1869 long var23
/* : Int */;
1872 var_node_list
= var
;
1873 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1874 var_nodearraylist4
= var1
;
1875 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1876 var_nodearraylist3
= var2
;
1877 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1878 var_nodearraylist2
= var3
;
1879 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1880 var_nodearraylist1
= var4
;
1881 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
1882 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
1883 CHECK_NEW_array__Array(var5
);
1884 var_listnode4
= var5
;
1885 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
1886 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
1887 CHECK_NEW_array__Array(var6
);
1888 var_listnode6
= var6
;
1889 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
1890 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
1891 CHECK_NEW_array__Array(var7
);
1892 var_listnode8
= var7
;
1893 var_pmoduledeclnode2
= var_nodearraylist1
;
1894 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
1895 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
1896 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
1897 if(var_pmoduledeclnode2
== NULL
) {
1900 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
1903 var8
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
1907 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1908 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2211);
1911 var_listnode3
= var_nodearraylist2
;
1912 /* <var_listnode3:nullable Object> isa Array[Object] */
1913 cltype10
= type_array__Arraykernel__Object
.color
;
1914 idtype11
= type_array__Arraykernel__Object
.id
;
1915 if(var_listnode3
== NULL
) {
1918 if(cltype10
>= var_listnode3
->type
->table_size
) {
1921 var9
= var_listnode3
->type
->type_table
[cltype10
] == idtype11
;
1925 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1926 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2213);
1929 var12
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction15>*/;
1930 var_listnode4
= var12
;
1931 var_listnode5
= var_nodearraylist3
;
1932 /* <var_listnode5:nullable Object> isa Array[Object] */
1933 cltype14
= type_array__Arraykernel__Object
.color
;
1934 idtype15
= type_array__Arraykernel__Object
.id
;
1935 if(var_listnode5
== NULL
) {
1938 if(cltype14
>= var_listnode5
->type
->table_size
) {
1941 var13
= var_listnode5
->type
->type_table
[cltype14
] == idtype15
;
1945 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1946 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2216);
1949 var16
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction15>*/;
1950 var_listnode6
= var16
;
1951 var_listnode7
= var_nodearraylist4
;
1952 /* <var_listnode7:nullable Object> isa Array[Object] */
1953 cltype18
= type_array__Arraykernel__Object
.color
;
1954 idtype19
= type_array__Arraykernel__Object
.id
;
1955 if(var_listnode7
== NULL
) {
1958 if(cltype18
>= var_listnode7
->type
->table_size
) {
1961 var17
= var_listnode7
->type
->type_table
[cltype18
] == idtype19
;
1965 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1966 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2219);
1969 var20
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode7
) /* concat on <self:ReduceAction15>*/;
1970 var_listnode8
= var20
;
1971 var21
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
1972 ((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>*/;
1973 CHECK_NEW_parser_nodes__AModule(var21
);
1974 var_pmodulenode1
= var21
;
1975 var_node_list
= var_pmodulenode1
;
1976 var22
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction15> */
1977 var23
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var22
) /* go_to on <var_p:Parser>*/;
1978 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var23
, var_node_list
) /* push on <var_p:Parser>*/;
1981 /* method parser#ReduceAction15#action for (self: Object, Parser) */
1982 void VIRTUAL_parser__ReduceAction15__action(val
* self
, val
* p0
) {
1983 parser__ReduceAction15__action(self
, p0
);
1986 /* method parser#ReduceAction16#action for (self: ReduceAction16, Parser) */
1987 void parser__ReduceAction16__action(val
* self
, val
* p0
) {
1988 val
* var_p
/* var p: Parser */;
1989 val
* var
/* : null */;
1990 val
* var_node_list
/* var node_list: nullable Object */;
1991 val
* var1
/* : nullable Object */;
1992 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1993 val
* var2
/* : Array[Object] */;
1994 val
* var_listnode3
/* var listnode3: Array[Object] */;
1995 val
* var3
/* : Array[Object] */;
1996 val
* var_listnode4
/* var listnode4: Array[Object] */;
1997 val
* var4
/* : Array[Object] */;
1998 val
* var_listnode8
/* var listnode8: Array[Object] */;
1999 val
* var5
/* : Array[Object] */;
2000 val
* var_listnode7
/* var listnode7: Array[Object] */;
2001 val
* var_listnode6
/* var listnode6: nullable Object */;
2002 short int var6
/* : Bool */;
2005 val
* var7
/* : Array[Object] */;
2006 val
* var8
/* : ATopClassdef */;
2007 val
* var_pclassdefnode5
/* var pclassdefnode5: nullable ATopClassdef */;
2008 val
* var9
/* : null */;
2009 short int var10
/* : Bool */;
2010 val
* var11
/* : AModule */;
2011 val
* var12
/* : null */;
2012 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
2013 long var13
/* : Int */;
2014 long var14
/* : Int */;
2017 var_node_list
= var
;
2018 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2019 var_nodearraylist1
= var1
;
2020 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
2021 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
2022 CHECK_NEW_array__Array(var2
);
2023 var_listnode3
= var2
;
2024 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
2025 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
2026 CHECK_NEW_array__Array(var3
);
2027 var_listnode4
= var3
;
2028 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
2029 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
2030 CHECK_NEW_array__Array(var4
);
2031 var_listnode8
= var4
;
2032 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
2033 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
2034 CHECK_NEW_array__Array(var5
);
2035 var_listnode7
= var5
;
2036 var_listnode6
= var_nodearraylist1
;
2037 /* <var_listnode6:nullable Object> isa Array[Object] */
2038 cltype
= type_array__Arraykernel__Object
.color
;
2039 idtype
= type_array__Arraykernel__Object
.id
;
2040 if(var_listnode6
== NULL
) {
2043 if(cltype
>= var_listnode6
->type
->table_size
) {
2046 var6
= var_listnode6
->type
->type_table
[cltype
] == idtype
;
2050 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2051 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2242);
2054 var7
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode7
, var_listnode6
) /* concat on <self:ReduceAction16>*/;
2055 var_listnode7
= var7
;
2056 var8
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
2057 ((void (*)(val
*, val
*))(var8
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var8
, var_listnode7
) /* init_atopclassdef on <var8:ATopClassdef>*/;
2058 CHECK_NEW_parser_nodes__ATopClassdef(var8
);
2059 var_pclassdefnode5
= var8
;
2061 if (var_pclassdefnode5
== NULL
) {
2062 var10
= 0; /* is null */
2064 var10
= 1; /* arg is null and recv is not */
2067 ((void (*)(val
*, val
*))(var_listnode8
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode8
, var_pclassdefnode5
) /* add on <var_listnode8:Array[Object]>*/;
2070 var11
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
2072 ((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>*/;
2073 CHECK_NEW_parser_nodes__AModule(var11
);
2074 var_pmodulenode1
= var11
;
2075 var_node_list
= var_pmodulenode1
;
2076 var13
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction16> */
2077 var14
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var13
) /* go_to on <var_p:Parser>*/;
2078 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var14
, var_node_list
) /* push on <var_p:Parser>*/;
2081 /* method parser#ReduceAction16#action for (self: Object, Parser) */
2082 void VIRTUAL_parser__ReduceAction16__action(val
* self
, val
* p0
) {
2083 parser__ReduceAction16__action(self
, p0
);
2086 /* method parser#ReduceAction17#action for (self: ReduceAction17, Parser) */
2087 void parser__ReduceAction17__action(val
* self
, val
* p0
) {
2088 val
* var_p
/* var p: Parser */;
2089 val
* var
/* : null */;
2090 val
* var_node_list
/* var node_list: nullable Object */;
2091 val
* var1
/* : nullable Object */;
2092 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2093 val
* var2
/* : nullable Object */;
2094 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2095 val
* var3
/* : Array[Object] */;
2096 val
* var_listnode3
/* var listnode3: Array[Object] */;
2097 val
* var4
/* : Array[Object] */;
2098 val
* var_listnode4
/* var listnode4: Array[Object] */;
2099 val
* var5
/* : Array[Object] */;
2100 val
* var_listnode8
/* var listnode8: Array[Object] */;
2101 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
2102 short int var6
/* : Bool */;
2105 val
* var7
/* : Array[Object] */;
2106 val
* var_listnode7
/* var listnode7: Array[Object] */;
2107 val
* var_listnode6
/* var listnode6: nullable Object */;
2108 short int var8
/* : Bool */;
2111 val
* var11
/* : Array[Object] */;
2112 val
* var12
/* : ATopClassdef */;
2113 val
* var_pclassdefnode5
/* var pclassdefnode5: nullable ATopClassdef */;
2114 val
* var13
/* : null */;
2115 short int var14
/* : Bool */;
2116 val
* var15
/* : AModule */;
2117 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
2118 long var16
/* : Int */;
2119 long var17
/* : Int */;
2122 var_node_list
= var
;
2123 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2124 var_nodearraylist2
= var1
;
2125 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2126 var_nodearraylist1
= var2
;
2127 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
2128 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
2129 CHECK_NEW_array__Array(var3
);
2130 var_listnode3
= var3
;
2131 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
2132 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
2133 CHECK_NEW_array__Array(var4
);
2134 var_listnode4
= var4
;
2135 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
2136 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
2137 CHECK_NEW_array__Array(var5
);
2138 var_listnode8
= var5
;
2139 var_pmoduledeclnode2
= var_nodearraylist1
;
2140 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
2141 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
2142 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
2143 if(var_pmoduledeclnode2
== NULL
) {
2146 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
2149 var6
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
2153 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2154 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2271);
2157 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
2158 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
2159 CHECK_NEW_array__Array(var7
);
2160 var_listnode7
= var7
;
2161 var_listnode6
= var_nodearraylist2
;
2162 /* <var_listnode6:nullable Object> isa Array[Object] */
2163 cltype9
= type_array__Arraykernel__Object
.color
;
2164 idtype10
= type_array__Arraykernel__Object
.id
;
2165 if(var_listnode6
== NULL
) {
2168 if(cltype9
>= var_listnode6
->type
->table_size
) {
2171 var8
= var_listnode6
->type
->type_table
[cltype9
] == idtype10
;
2175 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2176 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2274);
2179 var11
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode7
, var_listnode6
) /* concat on <self:ReduceAction17>*/;
2180 var_listnode7
= var11
;
2181 var12
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
2182 ((void (*)(val
*, val
*))(var12
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var12
, var_listnode7
) /* init_atopclassdef on <var12:ATopClassdef>*/;
2183 CHECK_NEW_parser_nodes__ATopClassdef(var12
);
2184 var_pclassdefnode5
= var12
;
2186 if (var_pclassdefnode5
== NULL
) {
2187 var14
= 0; /* is null */
2189 var14
= 1; /* arg is null and recv is not */
2192 ((void (*)(val
*, val
*))(var_listnode8
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode8
, var_pclassdefnode5
) /* add on <var_listnode8:Array[Object]>*/;
2195 var15
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
2196 ((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>*/;
2197 CHECK_NEW_parser_nodes__AModule(var15
);
2198 var_pmodulenode1
= var15
;
2199 var_node_list
= var_pmodulenode1
;
2200 var16
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction17> */
2201 var17
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var16
) /* go_to on <var_p:Parser>*/;
2202 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var17
, var_node_list
) /* push on <var_p:Parser>*/;
2205 /* method parser#ReduceAction17#action for (self: Object, Parser) */
2206 void VIRTUAL_parser__ReduceAction17__action(val
* self
, val
* p0
) {
2207 parser__ReduceAction17__action(self
, p0
);
2210 /* method parser#ReduceAction18#action for (self: ReduceAction18, Parser) */
2211 void parser__ReduceAction18__action(val
* self
, val
* p0
) {
2212 val
* var_p
/* var p: Parser */;
2213 val
* var
/* : null */;
2214 val
* var_node_list
/* var node_list: nullable Object */;
2215 val
* var1
/* : nullable Object */;
2216 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2217 val
* var2
/* : nullable Object */;
2218 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2219 val
* var3
/* : Array[Object] */;
2220 val
* var_listnode4
/* var listnode4: Array[Object] */;
2221 val
* var4
/* : Array[Object] */;
2222 val
* var_listnode5
/* var listnode5: Array[Object] */;
2223 val
* var5
/* : Array[Object] */;
2224 val
* var_listnode9
/* var listnode9: Array[Object] */;
2225 val
* var_listnode3
/* var listnode3: nullable Object */;
2226 short int var6
/* : Bool */;
2229 val
* var7
/* : Array[Object] */;
2230 val
* var8
/* : Array[Object] */;
2231 val
* var_listnode8
/* var listnode8: Array[Object] */;
2232 val
* var_listnode7
/* var listnode7: nullable Object */;
2233 short int var9
/* : Bool */;
2236 val
* var12
/* : Array[Object] */;
2237 val
* var13
/* : ATopClassdef */;
2238 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable ATopClassdef */;
2239 val
* var14
/* : null */;
2240 short int var15
/* : Bool */;
2241 val
* var16
/* : AModule */;
2242 val
* var17
/* : null */;
2243 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
2244 long var18
/* : Int */;
2245 long var19
/* : Int */;
2248 var_node_list
= var
;
2249 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2250 var_nodearraylist2
= var1
;
2251 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2252 var_nodearraylist1
= var2
;
2253 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
2254 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
2255 CHECK_NEW_array__Array(var3
);
2256 var_listnode4
= var3
;
2257 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
2258 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
2259 CHECK_NEW_array__Array(var4
);
2260 var_listnode5
= var4
;
2261 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
2262 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
2263 CHECK_NEW_array__Array(var5
);
2264 var_listnode9
= var5
;
2265 var_listnode3
= var_nodearraylist1
;
2266 /* <var_listnode3:nullable Object> isa Array[Object] */
2267 cltype
= type_array__Arraykernel__Object
.color
;
2268 idtype
= type_array__Arraykernel__Object
.id
;
2269 if(var_listnode3
== NULL
) {
2272 if(cltype
>= var_listnode3
->type
->table_size
) {
2275 var6
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
2279 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2280 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2303);
2283 var7
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction18>*/;
2284 var_listnode4
= var7
;
2285 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
2286 ((void (*)(val
*))(var8
->class->vft
[COLOR_array__Array__init
]))(var8
) /* init on <var8:Array[Object]>*/;
2287 CHECK_NEW_array__Array(var8
);
2288 var_listnode8
= var8
;
2289 var_listnode7
= var_nodearraylist2
;
2290 /* <var_listnode7:nullable Object> isa Array[Object] */
2291 cltype10
= type_array__Arraykernel__Object
.color
;
2292 idtype11
= type_array__Arraykernel__Object
.id
;
2293 if(var_listnode7
== NULL
) {
2296 if(cltype10
>= var_listnode7
->type
->table_size
) {
2299 var9
= var_listnode7
->type
->type_table
[cltype10
] == idtype11
;
2303 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2304 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2307);
2307 var12
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode7
) /* concat on <self:ReduceAction18>*/;
2308 var_listnode8
= var12
;
2309 var13
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
2310 ((void (*)(val
*, val
*))(var13
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var13
, var_listnode8
) /* init_atopclassdef on <var13:ATopClassdef>*/;
2311 CHECK_NEW_parser_nodes__ATopClassdef(var13
);
2312 var_pclassdefnode6
= var13
;
2314 if (var_pclassdefnode6
== NULL
) {
2315 var15
= 0; /* is null */
2317 var15
= 1; /* arg is null and recv is not */
2320 ((void (*)(val
*, val
*))(var_listnode9
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode9
, var_pclassdefnode6
) /* add on <var_listnode9:Array[Object]>*/;
2323 var16
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
2325 ((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>*/;
2326 CHECK_NEW_parser_nodes__AModule(var16
);
2327 var_pmodulenode1
= var16
;
2328 var_node_list
= var_pmodulenode1
;
2329 var18
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction18> */
2330 var19
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var18
) /* go_to on <var_p:Parser>*/;
2331 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var19
, var_node_list
) /* push on <var_p:Parser>*/;
2334 /* method parser#ReduceAction18#action for (self: Object, Parser) */
2335 void VIRTUAL_parser__ReduceAction18__action(val
* self
, val
* p0
) {
2336 parser__ReduceAction18__action(self
, p0
);
2339 /* method parser#ReduceAction19#action for (self: ReduceAction19, Parser) */
2340 void parser__ReduceAction19__action(val
* self
, val
* p0
) {
2341 val
* var_p
/* var p: Parser */;
2342 val
* var
/* : null */;
2343 val
* var_node_list
/* var node_list: nullable Object */;
2344 val
* var1
/* : nullable Object */;
2345 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2346 val
* var2
/* : nullable Object */;
2347 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2348 val
* var3
/* : nullable Object */;
2349 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2350 val
* var4
/* : Array[Object] */;
2351 val
* var_listnode4
/* var listnode4: Array[Object] */;
2352 val
* var5
/* : Array[Object] */;
2353 val
* var_listnode5
/* var listnode5: Array[Object] */;
2354 val
* var6
/* : Array[Object] */;
2355 val
* var_listnode9
/* var listnode9: Array[Object] */;
2356 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
2357 short int var7
/* : Bool */;
2360 val
* var_listnode3
/* var listnode3: nullable Object */;
2361 short int var8
/* : Bool */;
2364 val
* var11
/* : Array[Object] */;
2365 val
* var12
/* : Array[Object] */;
2366 val
* var_listnode8
/* var listnode8: Array[Object] */;
2367 val
* var_listnode7
/* var listnode7: nullable Object */;
2368 short int var13
/* : Bool */;
2371 val
* var16
/* : Array[Object] */;
2372 val
* var17
/* : ATopClassdef */;
2373 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable ATopClassdef */;
2374 val
* var18
/* : null */;
2375 short int var19
/* : Bool */;
2376 val
* var20
/* : AModule */;
2377 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
2378 long var21
/* : Int */;
2379 long var22
/* : Int */;
2382 var_node_list
= var
;
2383 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2384 var_nodearraylist3
= var1
;
2385 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2386 var_nodearraylist2
= var2
;
2387 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2388 var_nodearraylist1
= var3
;
2389 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
2390 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
2391 CHECK_NEW_array__Array(var4
);
2392 var_listnode4
= var4
;
2393 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
2394 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
2395 CHECK_NEW_array__Array(var5
);
2396 var_listnode5
= var5
;
2397 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
2398 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
2399 CHECK_NEW_array__Array(var6
);
2400 var_listnode9
= var6
;
2401 var_pmoduledeclnode2
= var_nodearraylist1
;
2402 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
2403 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
2404 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
2405 if(var_pmoduledeclnode2
== NULL
) {
2408 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
2411 var7
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
2415 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2416 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2337);
2419 var_listnode3
= var_nodearraylist2
;
2420 /* <var_listnode3:nullable Object> isa Array[Object] */
2421 cltype9
= type_array__Arraykernel__Object
.color
;
2422 idtype10
= type_array__Arraykernel__Object
.id
;
2423 if(var_listnode3
== NULL
) {
2426 if(cltype9
>= var_listnode3
->type
->table_size
) {
2429 var8
= var_listnode3
->type
->type_table
[cltype9
] == idtype10
;
2433 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2434 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2339);
2437 var11
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction19>*/;
2438 var_listnode4
= var11
;
2439 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
2440 ((void (*)(val
*))(var12
->class->vft
[COLOR_array__Array__init
]))(var12
) /* init on <var12:Array[Object]>*/;
2441 CHECK_NEW_array__Array(var12
);
2442 var_listnode8
= var12
;
2443 var_listnode7
= var_nodearraylist3
;
2444 /* <var_listnode7:nullable Object> isa Array[Object] */
2445 cltype14
= type_array__Arraykernel__Object
.color
;
2446 idtype15
= type_array__Arraykernel__Object
.id
;
2447 if(var_listnode7
== NULL
) {
2450 if(cltype14
>= var_listnode7
->type
->table_size
) {
2453 var13
= var_listnode7
->type
->type_table
[cltype14
] == idtype15
;
2457 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2458 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2343);
2461 var16
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode7
) /* concat on <self:ReduceAction19>*/;
2462 var_listnode8
= var16
;
2463 var17
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
2464 ((void (*)(val
*, val
*))(var17
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var17
, var_listnode8
) /* init_atopclassdef on <var17:ATopClassdef>*/;
2465 CHECK_NEW_parser_nodes__ATopClassdef(var17
);
2466 var_pclassdefnode6
= var17
;
2468 if (var_pclassdefnode6
== NULL
) {
2469 var19
= 0; /* is null */
2471 var19
= 1; /* arg is null and recv is not */
2474 ((void (*)(val
*, val
*))(var_listnode9
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode9
, var_pclassdefnode6
) /* add on <var_listnode9:Array[Object]>*/;
2477 var20
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
2478 ((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>*/;
2479 CHECK_NEW_parser_nodes__AModule(var20
);
2480 var_pmodulenode1
= var20
;
2481 var_node_list
= var_pmodulenode1
;
2482 var21
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction19> */
2483 var22
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var21
) /* go_to on <var_p:Parser>*/;
2484 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var22
, var_node_list
) /* push on <var_p:Parser>*/;
2487 /* method parser#ReduceAction19#action for (self: Object, Parser) */
2488 void VIRTUAL_parser__ReduceAction19__action(val
* self
, val
* p0
) {
2489 parser__ReduceAction19__action(self
, p0
);
2492 /* method parser#ReduceAction20#action for (self: ReduceAction20, Parser) */
2493 void parser__ReduceAction20__action(val
* self
, val
* p0
) {
2494 val
* var_p
/* var p: Parser */;
2495 val
* var
/* : null */;
2496 val
* var_node_list
/* var node_list: nullable Object */;
2497 val
* var1
/* : nullable Object */;
2498 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2499 val
* var2
/* : nullable Object */;
2500 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2501 val
* var3
/* : Array[Object] */;
2502 val
* var_listnode3
/* var listnode3: Array[Object] */;
2503 val
* var4
/* : Array[Object] */;
2504 val
* var_listnode5
/* var listnode5: Array[Object] */;
2505 val
* var5
/* : Array[Object] */;
2506 val
* var_listnode9
/* var listnode9: Array[Object] */;
2507 val
* var_listnode4
/* var listnode4: nullable Object */;
2508 short int var6
/* : Bool */;
2511 val
* var7
/* : Array[Object] */;
2512 val
* var8
/* : Array[Object] */;
2513 val
* var_listnode8
/* var listnode8: Array[Object] */;
2514 val
* var_listnode7
/* var listnode7: nullable Object */;
2515 short int var9
/* : Bool */;
2518 val
* var12
/* : Array[Object] */;
2519 val
* var13
/* : ATopClassdef */;
2520 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable ATopClassdef */;
2521 val
* var14
/* : null */;
2522 short int var15
/* : Bool */;
2523 val
* var16
/* : AModule */;
2524 val
* var17
/* : null */;
2525 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
2526 long var18
/* : Int */;
2527 long var19
/* : Int */;
2530 var_node_list
= var
;
2531 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2532 var_nodearraylist2
= var1
;
2533 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2534 var_nodearraylist1
= var2
;
2535 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
2536 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
2537 CHECK_NEW_array__Array(var3
);
2538 var_listnode3
= var3
;
2539 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
2540 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
2541 CHECK_NEW_array__Array(var4
);
2542 var_listnode5
= var4
;
2543 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
2544 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
2545 CHECK_NEW_array__Array(var5
);
2546 var_listnode9
= var5
;
2547 var_listnode4
= var_nodearraylist1
;
2548 /* <var_listnode4:nullable Object> isa Array[Object] */
2549 cltype
= type_array__Arraykernel__Object
.color
;
2550 idtype
= type_array__Arraykernel__Object
.id
;
2551 if(var_listnode4
== NULL
) {
2554 if(cltype
>= var_listnode4
->type
->table_size
) {
2557 var6
= var_listnode4
->type
->type_table
[cltype
] == idtype
;
2561 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2562 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2372);
2565 var7
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction20>*/;
2566 var_listnode5
= var7
;
2567 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
2568 ((void (*)(val
*))(var8
->class->vft
[COLOR_array__Array__init
]))(var8
) /* init on <var8:Array[Object]>*/;
2569 CHECK_NEW_array__Array(var8
);
2570 var_listnode8
= var8
;
2571 var_listnode7
= var_nodearraylist2
;
2572 /* <var_listnode7:nullable Object> isa Array[Object] */
2573 cltype10
= type_array__Arraykernel__Object
.color
;
2574 idtype11
= type_array__Arraykernel__Object
.id
;
2575 if(var_listnode7
== NULL
) {
2578 if(cltype10
>= var_listnode7
->type
->table_size
) {
2581 var9
= var_listnode7
->type
->type_table
[cltype10
] == idtype11
;
2585 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2586 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2376);
2589 var12
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode7
) /* concat on <self:ReduceAction20>*/;
2590 var_listnode8
= var12
;
2591 var13
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
2592 ((void (*)(val
*, val
*))(var13
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var13
, var_listnode8
) /* init_atopclassdef on <var13:ATopClassdef>*/;
2593 CHECK_NEW_parser_nodes__ATopClassdef(var13
);
2594 var_pclassdefnode6
= var13
;
2596 if (var_pclassdefnode6
== NULL
) {
2597 var15
= 0; /* is null */
2599 var15
= 1; /* arg is null and recv is not */
2602 ((void (*)(val
*, val
*))(var_listnode9
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode9
, var_pclassdefnode6
) /* add on <var_listnode9:Array[Object]>*/;
2605 var16
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
2607 ((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>*/;
2608 CHECK_NEW_parser_nodes__AModule(var16
);
2609 var_pmodulenode1
= var16
;
2610 var_node_list
= var_pmodulenode1
;
2611 var18
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction20> */
2612 var19
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var18
) /* go_to on <var_p:Parser>*/;
2613 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var19
, var_node_list
) /* push on <var_p:Parser>*/;
2616 /* method parser#ReduceAction20#action for (self: Object, Parser) */
2617 void VIRTUAL_parser__ReduceAction20__action(val
* self
, val
* p0
) {
2618 parser__ReduceAction20__action(self
, p0
);
2621 /* method parser#ReduceAction21#action for (self: ReduceAction21, Parser) */
2622 void parser__ReduceAction21__action(val
* self
, val
* p0
) {
2623 val
* var_p
/* var p: Parser */;
2624 val
* var
/* : null */;
2625 val
* var_node_list
/* var node_list: nullable Object */;
2626 val
* var1
/* : nullable Object */;
2627 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2628 val
* var2
/* : nullable Object */;
2629 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2630 val
* var3
/* : nullable Object */;
2631 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2632 val
* var4
/* : Array[Object] */;
2633 val
* var_listnode3
/* var listnode3: Array[Object] */;
2634 val
* var5
/* : Array[Object] */;
2635 val
* var_listnode5
/* var listnode5: Array[Object] */;
2636 val
* var6
/* : Array[Object] */;
2637 val
* var_listnode9
/* var listnode9: Array[Object] */;
2638 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
2639 short int var7
/* : Bool */;
2642 val
* var_listnode4
/* var listnode4: nullable Object */;
2643 short int var8
/* : Bool */;
2646 val
* var11
/* : Array[Object] */;
2647 val
* var12
/* : Array[Object] */;
2648 val
* var_listnode8
/* var listnode8: Array[Object] */;
2649 val
* var_listnode7
/* var listnode7: nullable Object */;
2650 short int var13
/* : Bool */;
2653 val
* var16
/* : Array[Object] */;
2654 val
* var17
/* : ATopClassdef */;
2655 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable ATopClassdef */;
2656 val
* var18
/* : null */;
2657 short int var19
/* : Bool */;
2658 val
* var20
/* : AModule */;
2659 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
2660 long var21
/* : Int */;
2661 long var22
/* : Int */;
2664 var_node_list
= var
;
2665 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2666 var_nodearraylist3
= var1
;
2667 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2668 var_nodearraylist2
= var2
;
2669 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2670 var_nodearraylist1
= var3
;
2671 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
2672 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
2673 CHECK_NEW_array__Array(var4
);
2674 var_listnode3
= var4
;
2675 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
2676 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
2677 CHECK_NEW_array__Array(var5
);
2678 var_listnode5
= var5
;
2679 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
2680 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
2681 CHECK_NEW_array__Array(var6
);
2682 var_listnode9
= var6
;
2683 var_pmoduledeclnode2
= var_nodearraylist1
;
2684 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
2685 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
2686 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
2687 if(var_pmoduledeclnode2
== NULL
) {
2690 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
2693 var7
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
2697 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2698 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2406);
2701 var_listnode4
= var_nodearraylist2
;
2702 /* <var_listnode4:nullable Object> isa Array[Object] */
2703 cltype9
= type_array__Arraykernel__Object
.color
;
2704 idtype10
= type_array__Arraykernel__Object
.id
;
2705 if(var_listnode4
== NULL
) {
2708 if(cltype9
>= var_listnode4
->type
->table_size
) {
2711 var8
= var_listnode4
->type
->type_table
[cltype9
] == idtype10
;
2715 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2716 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2408);
2719 var11
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction21>*/;
2720 var_listnode5
= var11
;
2721 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
2722 ((void (*)(val
*))(var12
->class->vft
[COLOR_array__Array__init
]))(var12
) /* init on <var12:Array[Object]>*/;
2723 CHECK_NEW_array__Array(var12
);
2724 var_listnode8
= var12
;
2725 var_listnode7
= var_nodearraylist3
;
2726 /* <var_listnode7:nullable Object> isa Array[Object] */
2727 cltype14
= type_array__Arraykernel__Object
.color
;
2728 idtype15
= type_array__Arraykernel__Object
.id
;
2729 if(var_listnode7
== NULL
) {
2732 if(cltype14
>= var_listnode7
->type
->table_size
) {
2735 var13
= var_listnode7
->type
->type_table
[cltype14
] == idtype15
;
2739 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2740 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2412);
2743 var16
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode7
) /* concat on <self:ReduceAction21>*/;
2744 var_listnode8
= var16
;
2745 var17
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
2746 ((void (*)(val
*, val
*))(var17
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var17
, var_listnode8
) /* init_atopclassdef on <var17:ATopClassdef>*/;
2747 CHECK_NEW_parser_nodes__ATopClassdef(var17
);
2748 var_pclassdefnode6
= var17
;
2750 if (var_pclassdefnode6
== NULL
) {
2751 var19
= 0; /* is null */
2753 var19
= 1; /* arg is null and recv is not */
2756 ((void (*)(val
*, val
*))(var_listnode9
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode9
, var_pclassdefnode6
) /* add on <var_listnode9:Array[Object]>*/;
2759 var20
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
2760 ((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>*/;
2761 CHECK_NEW_parser_nodes__AModule(var20
);
2762 var_pmodulenode1
= var20
;
2763 var_node_list
= var_pmodulenode1
;
2764 var21
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction21> */
2765 var22
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var21
) /* go_to on <var_p:Parser>*/;
2766 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var22
, var_node_list
) /* push on <var_p:Parser>*/;
2769 /* method parser#ReduceAction21#action for (self: Object, Parser) */
2770 void VIRTUAL_parser__ReduceAction21__action(val
* self
, val
* p0
) {
2771 parser__ReduceAction21__action(self
, p0
);
2774 /* method parser#ReduceAction22#action for (self: ReduceAction22, Parser) */
2775 void parser__ReduceAction22__action(val
* self
, val
* p0
) {
2776 val
* var_p
/* var p: Parser */;
2777 val
* var
/* : null */;
2778 val
* var_node_list
/* var node_list: nullable Object */;
2779 val
* var1
/* : nullable Object */;
2780 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2781 val
* var2
/* : nullable Object */;
2782 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2783 val
* var3
/* : nullable Object */;
2784 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2785 val
* var4
/* : Array[Object] */;
2786 val
* var_listnode4
/* var listnode4: Array[Object] */;
2787 val
* var5
/* : Array[Object] */;
2788 val
* var_listnode6
/* var listnode6: Array[Object] */;
2789 val
* var6
/* : Array[Object] */;
2790 val
* var_listnode10
/* var listnode10: Array[Object] */;
2791 val
* var_listnode3
/* var listnode3: nullable Object */;
2792 short int var7
/* : Bool */;
2795 val
* var8
/* : Array[Object] */;
2796 val
* var_listnode5
/* var listnode5: nullable Object */;
2797 short int var9
/* : Bool */;
2800 val
* var12
/* : Array[Object] */;
2801 val
* var13
/* : Array[Object] */;
2802 val
* var_listnode9
/* var listnode9: Array[Object] */;
2803 val
* var_listnode8
/* var listnode8: nullable Object */;
2804 short int var14
/* : Bool */;
2807 val
* var17
/* : Array[Object] */;
2808 val
* var18
/* : ATopClassdef */;
2809 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable ATopClassdef */;
2810 val
* var19
/* : null */;
2811 short int var20
/* : Bool */;
2812 val
* var21
/* : AModule */;
2813 val
* var22
/* : null */;
2814 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
2815 long var23
/* : Int */;
2816 long var24
/* : Int */;
2819 var_node_list
= var
;
2820 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2821 var_nodearraylist3
= var1
;
2822 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2823 var_nodearraylist2
= var2
;
2824 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2825 var_nodearraylist1
= var3
;
2826 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
2827 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
2828 CHECK_NEW_array__Array(var4
);
2829 var_listnode4
= var4
;
2830 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
2831 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
2832 CHECK_NEW_array__Array(var5
);
2833 var_listnode6
= var5
;
2834 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
2835 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
2836 CHECK_NEW_array__Array(var6
);
2837 var_listnode10
= var6
;
2838 var_listnode3
= var_nodearraylist1
;
2839 /* <var_listnode3:nullable Object> isa Array[Object] */
2840 cltype
= type_array__Arraykernel__Object
.color
;
2841 idtype
= type_array__Arraykernel__Object
.id
;
2842 if(var_listnode3
== NULL
) {
2845 if(cltype
>= var_listnode3
->type
->table_size
) {
2848 var7
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
2852 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2853 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2442);
2856 var8
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction22>*/;
2857 var_listnode4
= var8
;
2858 var_listnode5
= var_nodearraylist2
;
2859 /* <var_listnode5:nullable Object> isa Array[Object] */
2860 cltype10
= type_array__Arraykernel__Object
.color
;
2861 idtype11
= type_array__Arraykernel__Object
.id
;
2862 if(var_listnode5
== NULL
) {
2865 if(cltype10
>= var_listnode5
->type
->table_size
) {
2868 var9
= var_listnode5
->type
->type_table
[cltype10
] == idtype11
;
2872 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2873 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2445);
2876 var12
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction22>*/;
2877 var_listnode6
= var12
;
2878 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
2879 ((void (*)(val
*))(var13
->class->vft
[COLOR_array__Array__init
]))(var13
) /* init on <var13:Array[Object]>*/;
2880 CHECK_NEW_array__Array(var13
);
2881 var_listnode9
= var13
;
2882 var_listnode8
= var_nodearraylist3
;
2883 /* <var_listnode8:nullable Object> isa Array[Object] */
2884 cltype15
= type_array__Arraykernel__Object
.color
;
2885 idtype16
= type_array__Arraykernel__Object
.id
;
2886 if(var_listnode8
== NULL
) {
2889 if(cltype15
>= var_listnode8
->type
->table_size
) {
2892 var14
= var_listnode8
->type
->type_table
[cltype15
] == idtype16
;
2896 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2897 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2449);
2900 var17
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode9
, var_listnode8
) /* concat on <self:ReduceAction22>*/;
2901 var_listnode9
= var17
;
2902 var18
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
2903 ((void (*)(val
*, val
*))(var18
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var18
, var_listnode9
) /* init_atopclassdef on <var18:ATopClassdef>*/;
2904 CHECK_NEW_parser_nodes__ATopClassdef(var18
);
2905 var_pclassdefnode7
= var18
;
2907 if (var_pclassdefnode7
== NULL
) {
2908 var20
= 0; /* is null */
2910 var20
= 1; /* arg is null and recv is not */
2913 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode7
) /* add on <var_listnode10:Array[Object]>*/;
2916 var21
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
2918 ((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>*/;
2919 CHECK_NEW_parser_nodes__AModule(var21
);
2920 var_pmodulenode1
= var21
;
2921 var_node_list
= var_pmodulenode1
;
2922 var23
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction22> */
2923 var24
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var23
) /* go_to on <var_p:Parser>*/;
2924 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var24
, var_node_list
) /* push on <var_p:Parser>*/;
2927 /* method parser#ReduceAction22#action for (self: Object, Parser) */
2928 void VIRTUAL_parser__ReduceAction22__action(val
* self
, val
* p0
) {
2929 parser__ReduceAction22__action(self
, p0
);
2932 /* method parser#ReduceAction23#action for (self: ReduceAction23, Parser) */
2933 void parser__ReduceAction23__action(val
* self
, val
* p0
) {
2934 val
* var_p
/* var p: Parser */;
2935 val
* var
/* : null */;
2936 val
* var_node_list
/* var node_list: nullable Object */;
2937 val
* var1
/* : nullable Object */;
2938 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2939 val
* var2
/* : nullable Object */;
2940 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2941 val
* var3
/* : nullable Object */;
2942 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2943 val
* var4
/* : nullable Object */;
2944 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2945 val
* var5
/* : Array[Object] */;
2946 val
* var_listnode4
/* var listnode4: Array[Object] */;
2947 val
* var6
/* : Array[Object] */;
2948 val
* var_listnode6
/* var listnode6: Array[Object] */;
2949 val
* var7
/* : Array[Object] */;
2950 val
* var_listnode10
/* var listnode10: Array[Object] */;
2951 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
2952 short int var8
/* : Bool */;
2955 val
* var_listnode3
/* var listnode3: nullable Object */;
2956 short int var9
/* : Bool */;
2959 val
* var12
/* : Array[Object] */;
2960 val
* var_listnode5
/* var listnode5: nullable Object */;
2961 short int var13
/* : Bool */;
2964 val
* var16
/* : Array[Object] */;
2965 val
* var17
/* : Array[Object] */;
2966 val
* var_listnode9
/* var listnode9: Array[Object] */;
2967 val
* var_listnode8
/* var listnode8: nullable Object */;
2968 short int var18
/* : Bool */;
2971 val
* var21
/* : Array[Object] */;
2972 val
* var22
/* : ATopClassdef */;
2973 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable ATopClassdef */;
2974 val
* var23
/* : null */;
2975 short int var24
/* : Bool */;
2976 val
* var25
/* : AModule */;
2977 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
2978 long var26
/* : Int */;
2979 long var27
/* : Int */;
2982 var_node_list
= var
;
2983 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2984 var_nodearraylist4
= var1
;
2985 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2986 var_nodearraylist3
= var2
;
2987 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2988 var_nodearraylist2
= var3
;
2989 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2990 var_nodearraylist1
= var4
;
2991 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
2992 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
2993 CHECK_NEW_array__Array(var5
);
2994 var_listnode4
= var5
;
2995 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
2996 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
2997 CHECK_NEW_array__Array(var6
);
2998 var_listnode6
= var6
;
2999 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
3000 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
3001 CHECK_NEW_array__Array(var7
);
3002 var_listnode10
= var7
;
3003 var_pmoduledeclnode2
= var_nodearraylist1
;
3004 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
3005 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
3006 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
3007 if(var_pmoduledeclnode2
== NULL
) {
3010 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
3013 var8
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
3017 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3018 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2480);
3021 var_listnode3
= var_nodearraylist2
;
3022 /* <var_listnode3:nullable Object> isa Array[Object] */
3023 cltype10
= type_array__Arraykernel__Object
.color
;
3024 idtype11
= type_array__Arraykernel__Object
.id
;
3025 if(var_listnode3
== NULL
) {
3028 if(cltype10
>= var_listnode3
->type
->table_size
) {
3031 var9
= var_listnode3
->type
->type_table
[cltype10
] == idtype11
;
3035 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3036 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2482);
3039 var12
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction23>*/;
3040 var_listnode4
= var12
;
3041 var_listnode5
= var_nodearraylist3
;
3042 /* <var_listnode5:nullable Object> isa Array[Object] */
3043 cltype14
= type_array__Arraykernel__Object
.color
;
3044 idtype15
= type_array__Arraykernel__Object
.id
;
3045 if(var_listnode5
== NULL
) {
3048 if(cltype14
>= var_listnode5
->type
->table_size
) {
3051 var13
= var_listnode5
->type
->type_table
[cltype14
] == idtype15
;
3055 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3056 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2485);
3059 var16
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction23>*/;
3060 var_listnode6
= var16
;
3061 var17
= NEW_array__Array(&type_array__Arraykernel__Object
);
3062 ((void (*)(val
*))(var17
->class->vft
[COLOR_array__Array__init
]))(var17
) /* init on <var17:Array[Object]>*/;
3063 CHECK_NEW_array__Array(var17
);
3064 var_listnode9
= var17
;
3065 var_listnode8
= var_nodearraylist4
;
3066 /* <var_listnode8:nullable Object> isa Array[Object] */
3067 cltype19
= type_array__Arraykernel__Object
.color
;
3068 idtype20
= type_array__Arraykernel__Object
.id
;
3069 if(var_listnode8
== NULL
) {
3072 if(cltype19
>= var_listnode8
->type
->table_size
) {
3075 var18
= var_listnode8
->type
->type_table
[cltype19
] == idtype20
;
3079 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3080 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2489);
3083 var21
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode9
, var_listnode8
) /* concat on <self:ReduceAction23>*/;
3084 var_listnode9
= var21
;
3085 var22
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
3086 ((void (*)(val
*, val
*))(var22
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var22
, var_listnode9
) /* init_atopclassdef on <var22:ATopClassdef>*/;
3087 CHECK_NEW_parser_nodes__ATopClassdef(var22
);
3088 var_pclassdefnode7
= var22
;
3090 if (var_pclassdefnode7
== NULL
) {
3091 var24
= 0; /* is null */
3093 var24
= 1; /* arg is null and recv is not */
3096 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode7
) /* add on <var_listnode10:Array[Object]>*/;
3099 var25
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
3100 ((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>*/;
3101 CHECK_NEW_parser_nodes__AModule(var25
);
3102 var_pmodulenode1
= var25
;
3103 var_node_list
= var_pmodulenode1
;
3104 var26
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction23> */
3105 var27
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var26
) /* go_to on <var_p:Parser>*/;
3106 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var27
, var_node_list
) /* push on <var_p:Parser>*/;
3109 /* method parser#ReduceAction23#action for (self: Object, Parser) */
3110 void VIRTUAL_parser__ReduceAction23__action(val
* self
, val
* p0
) {
3111 parser__ReduceAction23__action(self
, p0
);
3114 /* method parser#ReduceAction24#action for (self: ReduceAction24, Parser) */
3115 void parser__ReduceAction24__action(val
* self
, val
* p0
) {
3116 val
* var_p
/* var p: Parser */;
3117 val
* var
/* : null */;
3118 val
* var_node_list
/* var node_list: nullable Object */;
3119 val
* var1
/* : nullable Object */;
3120 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3121 val
* var2
/* : nullable Object */;
3122 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3123 val
* var3
/* : Array[Object] */;
3124 val
* var_listnode3
/* var listnode3: Array[Object] */;
3125 val
* var4
/* : Array[Object] */;
3126 val
* var_listnode4
/* var listnode4: Array[Object] */;
3127 val
* var5
/* : Array[Object] */;
3128 val
* var_listnode9
/* var listnode9: Array[Object] */;
3129 val
* var_listnode5
/* var listnode5: nullable Object */;
3130 short int var6
/* : Bool */;
3133 val
* var7
/* : Array[Object] */;
3134 val
* var_listnode8
/* var listnode8: Array[Object] */;
3135 val
* var_listnode7
/* var listnode7: nullable Object */;
3136 short int var8
/* : Bool */;
3139 val
* var11
/* : Array[Object] */;
3140 val
* var12
/* : ATopClassdef */;
3141 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable ATopClassdef */;
3142 val
* var13
/* : Array[Object] */;
3143 val
* var14
/* : null */;
3144 short int var15
/* : Bool */;
3145 val
* var16
/* : AModule */;
3146 val
* var17
/* : null */;
3147 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
3148 long var18
/* : Int */;
3149 long var19
/* : Int */;
3152 var_node_list
= var
;
3153 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3154 var_nodearraylist2
= var1
;
3155 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3156 var_nodearraylist1
= var2
;
3157 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
3158 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
3159 CHECK_NEW_array__Array(var3
);
3160 var_listnode3
= var3
;
3161 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
3162 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
3163 CHECK_NEW_array__Array(var4
);
3164 var_listnode4
= var4
;
3165 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
3166 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
3167 CHECK_NEW_array__Array(var5
);
3168 var_listnode9
= var5
;
3169 var_listnode5
= var_nodearraylist1
;
3170 /* <var_listnode5:nullable Object> isa Array[Object] */
3171 cltype
= type_array__Arraykernel__Object
.color
;
3172 idtype
= type_array__Arraykernel__Object
.id
;
3173 if(var_listnode5
== NULL
) {
3176 if(cltype
>= var_listnode5
->type
->table_size
) {
3179 var6
= var_listnode5
->type
->type_table
[cltype
] == idtype
;
3183 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3184 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2518);
3187 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
3188 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
3189 CHECK_NEW_array__Array(var7
);
3190 var_listnode8
= var7
;
3191 var_listnode7
= var_nodearraylist2
;
3192 /* <var_listnode7:nullable Object> isa Array[Object] */
3193 cltype9
= type_array__Arraykernel__Object
.color
;
3194 idtype10
= type_array__Arraykernel__Object
.id
;
3195 if(var_listnode7
== NULL
) {
3198 if(cltype9
>= var_listnode7
->type
->table_size
) {
3201 var8
= var_listnode7
->type
->type_table
[cltype9
] == idtype10
;
3205 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3206 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2521);
3209 var11
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode7
) /* concat on <self:ReduceAction24>*/;
3210 var_listnode8
= var11
;
3211 var12
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
3212 ((void (*)(val
*, val
*))(var12
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var12
, var_listnode8
) /* init_atopclassdef on <var12:ATopClassdef>*/;
3213 CHECK_NEW_parser_nodes__ATopClassdef(var12
);
3214 var_pclassdefnode6
= var12
;
3215 var13
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode9
, var_listnode5
) /* concat on <self:ReduceAction24>*/;
3216 var_listnode9
= var13
;
3218 if (var_pclassdefnode6
== NULL
) {
3219 var15
= 0; /* is null */
3221 var15
= 1; /* arg is null and recv is not */
3224 ((void (*)(val
*, val
*))(var_listnode9
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode9
, var_pclassdefnode6
) /* add on <var_listnode9:Array[Object]>*/;
3227 var16
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
3229 ((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>*/;
3230 CHECK_NEW_parser_nodes__AModule(var16
);
3231 var_pmodulenode1
= var16
;
3232 var_node_list
= var_pmodulenode1
;
3233 var18
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction24> */
3234 var19
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var18
) /* go_to on <var_p:Parser>*/;
3235 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var19
, var_node_list
) /* push on <var_p:Parser>*/;
3238 /* method parser#ReduceAction24#action for (self: Object, Parser) */
3239 void VIRTUAL_parser__ReduceAction24__action(val
* self
, val
* p0
) {
3240 parser__ReduceAction24__action(self
, p0
);
3243 /* method parser#ReduceAction25#action for (self: ReduceAction25, Parser) */
3244 void parser__ReduceAction25__action(val
* self
, val
* p0
) {
3245 val
* var_p
/* var p: Parser */;
3246 val
* var
/* : null */;
3247 val
* var_node_list
/* var node_list: nullable Object */;
3248 val
* var1
/* : nullable Object */;
3249 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3250 val
* var2
/* : nullable Object */;
3251 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3252 val
* var3
/* : nullable Object */;
3253 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3254 val
* var4
/* : Array[Object] */;
3255 val
* var_listnode3
/* var listnode3: Array[Object] */;
3256 val
* var5
/* : Array[Object] */;
3257 val
* var_listnode4
/* var listnode4: Array[Object] */;
3258 val
* var6
/* : Array[Object] */;
3259 val
* var_listnode9
/* var listnode9: Array[Object] */;
3260 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
3261 short int var7
/* : Bool */;
3264 val
* var_listnode5
/* var listnode5: nullable Object */;
3265 short int var8
/* : Bool */;
3268 val
* var11
/* : Array[Object] */;
3269 val
* var_listnode8
/* var listnode8: Array[Object] */;
3270 val
* var_listnode7
/* var listnode7: nullable Object */;
3271 short int var12
/* : Bool */;
3274 val
* var15
/* : Array[Object] */;
3275 val
* var16
/* : ATopClassdef */;
3276 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable ATopClassdef */;
3277 val
* var17
/* : Array[Object] */;
3278 val
* var18
/* : null */;
3279 short int var19
/* : Bool */;
3280 val
* var20
/* : AModule */;
3281 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
3282 long var21
/* : Int */;
3283 long var22
/* : Int */;
3286 var_node_list
= var
;
3287 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3288 var_nodearraylist3
= var1
;
3289 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3290 var_nodearraylist2
= var2
;
3291 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3292 var_nodearraylist1
= var3
;
3293 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
3294 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
3295 CHECK_NEW_array__Array(var4
);
3296 var_listnode3
= var4
;
3297 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
3298 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
3299 CHECK_NEW_array__Array(var5
);
3300 var_listnode4
= var5
;
3301 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
3302 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
3303 CHECK_NEW_array__Array(var6
);
3304 var_listnode9
= var6
;
3305 var_pmoduledeclnode2
= var_nodearraylist1
;
3306 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
3307 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
3308 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
3309 if(var_pmoduledeclnode2
== NULL
) {
3312 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
3315 var7
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
3319 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3320 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2552);
3323 var_listnode5
= var_nodearraylist2
;
3324 /* <var_listnode5:nullable Object> isa Array[Object] */
3325 cltype9
= type_array__Arraykernel__Object
.color
;
3326 idtype10
= type_array__Arraykernel__Object
.id
;
3327 if(var_listnode5
== NULL
) {
3330 if(cltype9
>= var_listnode5
->type
->table_size
) {
3333 var8
= var_listnode5
->type
->type_table
[cltype9
] == idtype10
;
3337 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3338 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2554);
3341 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
3342 ((void (*)(val
*))(var11
->class->vft
[COLOR_array__Array__init
]))(var11
) /* init on <var11:Array[Object]>*/;
3343 CHECK_NEW_array__Array(var11
);
3344 var_listnode8
= var11
;
3345 var_listnode7
= var_nodearraylist3
;
3346 /* <var_listnode7:nullable Object> isa Array[Object] */
3347 cltype13
= type_array__Arraykernel__Object
.color
;
3348 idtype14
= type_array__Arraykernel__Object
.id
;
3349 if(var_listnode7
== NULL
) {
3352 if(cltype13
>= var_listnode7
->type
->table_size
) {
3355 var12
= var_listnode7
->type
->type_table
[cltype13
] == idtype14
;
3359 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3360 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2557);
3363 var15
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode7
) /* concat on <self:ReduceAction25>*/;
3364 var_listnode8
= var15
;
3365 var16
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
3366 ((void (*)(val
*, val
*))(var16
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var16
, var_listnode8
) /* init_atopclassdef on <var16:ATopClassdef>*/;
3367 CHECK_NEW_parser_nodes__ATopClassdef(var16
);
3368 var_pclassdefnode6
= var16
;
3369 var17
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode9
, var_listnode5
) /* concat on <self:ReduceAction25>*/;
3370 var_listnode9
= var17
;
3372 if (var_pclassdefnode6
== NULL
) {
3373 var19
= 0; /* is null */
3375 var19
= 1; /* arg is null and recv is not */
3378 ((void (*)(val
*, val
*))(var_listnode9
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode9
, var_pclassdefnode6
) /* add on <var_listnode9:Array[Object]>*/;
3381 var20
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
3382 ((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>*/;
3383 CHECK_NEW_parser_nodes__AModule(var20
);
3384 var_pmodulenode1
= var20
;
3385 var_node_list
= var_pmodulenode1
;
3386 var21
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction25> */
3387 var22
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var21
) /* go_to on <var_p:Parser>*/;
3388 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var22
, var_node_list
) /* push on <var_p:Parser>*/;
3391 /* method parser#ReduceAction25#action for (self: Object, Parser) */
3392 void VIRTUAL_parser__ReduceAction25__action(val
* self
, val
* p0
) {
3393 parser__ReduceAction25__action(self
, p0
);
3396 /* method parser#ReduceAction26#action for (self: ReduceAction26, Parser) */
3397 void parser__ReduceAction26__action(val
* self
, val
* p0
) {
3398 val
* var_p
/* var p: Parser */;
3399 val
* var
/* : null */;
3400 val
* var_node_list
/* var node_list: nullable Object */;
3401 val
* var1
/* : nullable Object */;
3402 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3403 val
* var2
/* : nullable Object */;
3404 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3405 val
* var3
/* : nullable Object */;
3406 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3407 val
* var4
/* : Array[Object] */;
3408 val
* var_listnode4
/* var listnode4: Array[Object] */;
3409 val
* var5
/* : Array[Object] */;
3410 val
* var_listnode5
/* var listnode5: Array[Object] */;
3411 val
* var6
/* : Array[Object] */;
3412 val
* var_listnode10
/* var listnode10: Array[Object] */;
3413 val
* var_listnode3
/* var listnode3: nullable Object */;
3414 short int var7
/* : Bool */;
3417 val
* var8
/* : Array[Object] */;
3418 val
* var_listnode6
/* var listnode6: nullable Object */;
3419 short int var9
/* : Bool */;
3422 val
* var12
/* : Array[Object] */;
3423 val
* var_listnode9
/* var listnode9: Array[Object] */;
3424 val
* var_listnode8
/* var listnode8: nullable Object */;
3425 short int var13
/* : Bool */;
3428 val
* var16
/* : Array[Object] */;
3429 val
* var17
/* : ATopClassdef */;
3430 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable ATopClassdef */;
3431 val
* var18
/* : Array[Object] */;
3432 val
* var19
/* : null */;
3433 short int var20
/* : Bool */;
3434 val
* var21
/* : AModule */;
3435 val
* var22
/* : null */;
3436 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
3437 long var23
/* : Int */;
3438 long var24
/* : Int */;
3441 var_node_list
= var
;
3442 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3443 var_nodearraylist3
= var1
;
3444 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3445 var_nodearraylist2
= var2
;
3446 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3447 var_nodearraylist1
= var3
;
3448 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
3449 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
3450 CHECK_NEW_array__Array(var4
);
3451 var_listnode4
= var4
;
3452 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
3453 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
3454 CHECK_NEW_array__Array(var5
);
3455 var_listnode5
= var5
;
3456 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
3457 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
3458 CHECK_NEW_array__Array(var6
);
3459 var_listnode10
= var6
;
3460 var_listnode3
= var_nodearraylist1
;
3461 /* <var_listnode3:nullable Object> isa Array[Object] */
3462 cltype
= type_array__Arraykernel__Object
.color
;
3463 idtype
= type_array__Arraykernel__Object
.id
;
3464 if(var_listnode3
== NULL
) {
3467 if(cltype
>= var_listnode3
->type
->table_size
) {
3470 var7
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
3474 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3475 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2588);
3478 var8
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction26>*/;
3479 var_listnode4
= var8
;
3480 var_listnode6
= var_nodearraylist2
;
3481 /* <var_listnode6:nullable Object> isa Array[Object] */
3482 cltype10
= type_array__Arraykernel__Object
.color
;
3483 idtype11
= type_array__Arraykernel__Object
.id
;
3484 if(var_listnode6
== NULL
) {
3487 if(cltype10
>= var_listnode6
->type
->table_size
) {
3490 var9
= var_listnode6
->type
->type_table
[cltype10
] == idtype11
;
3494 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3495 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2591);
3498 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
3499 ((void (*)(val
*))(var12
->class->vft
[COLOR_array__Array__init
]))(var12
) /* init on <var12:Array[Object]>*/;
3500 CHECK_NEW_array__Array(var12
);
3501 var_listnode9
= var12
;
3502 var_listnode8
= var_nodearraylist3
;
3503 /* <var_listnode8:nullable Object> isa Array[Object] */
3504 cltype14
= type_array__Arraykernel__Object
.color
;
3505 idtype15
= type_array__Arraykernel__Object
.id
;
3506 if(var_listnode8
== NULL
) {
3509 if(cltype14
>= var_listnode8
->type
->table_size
) {
3512 var13
= var_listnode8
->type
->type_table
[cltype14
] == idtype15
;
3516 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3517 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2594);
3520 var16
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode9
, var_listnode8
) /* concat on <self:ReduceAction26>*/;
3521 var_listnode9
= var16
;
3522 var17
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
3523 ((void (*)(val
*, val
*))(var17
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var17
, var_listnode9
) /* init_atopclassdef on <var17:ATopClassdef>*/;
3524 CHECK_NEW_parser_nodes__ATopClassdef(var17
);
3525 var_pclassdefnode7
= var17
;
3526 var18
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode10
, var_listnode6
) /* concat on <self:ReduceAction26>*/;
3527 var_listnode10
= var18
;
3529 if (var_pclassdefnode7
== NULL
) {
3530 var20
= 0; /* is null */
3532 var20
= 1; /* arg is null and recv is not */
3535 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode7
) /* add on <var_listnode10:Array[Object]>*/;
3538 var21
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
3540 ((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>*/;
3541 CHECK_NEW_parser_nodes__AModule(var21
);
3542 var_pmodulenode1
= var21
;
3543 var_node_list
= var_pmodulenode1
;
3544 var23
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction26> */
3545 var24
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var23
) /* go_to on <var_p:Parser>*/;
3546 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var24
, var_node_list
) /* push on <var_p:Parser>*/;
3549 /* method parser#ReduceAction26#action for (self: Object, Parser) */
3550 void VIRTUAL_parser__ReduceAction26__action(val
* self
, val
* p0
) {
3551 parser__ReduceAction26__action(self
, p0
);
3554 /* method parser#ReduceAction27#action for (self: ReduceAction27, Parser) */
3555 void parser__ReduceAction27__action(val
* self
, val
* p0
) {
3556 val
* var_p
/* var p: Parser */;
3557 val
* var
/* : null */;
3558 val
* var_node_list
/* var node_list: nullable Object */;
3559 val
* var1
/* : nullable Object */;
3560 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3561 val
* var2
/* : nullable Object */;
3562 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3563 val
* var3
/* : nullable Object */;
3564 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3565 val
* var4
/* : nullable Object */;
3566 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3567 val
* var5
/* : Array[Object] */;
3568 val
* var_listnode4
/* var listnode4: Array[Object] */;
3569 val
* var6
/* : Array[Object] */;
3570 val
* var_listnode5
/* var listnode5: Array[Object] */;
3571 val
* var7
/* : Array[Object] */;
3572 val
* var_listnode10
/* var listnode10: Array[Object] */;
3573 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
3574 short int var8
/* : Bool */;
3577 val
* var_listnode3
/* var listnode3: nullable Object */;
3578 short int var9
/* : Bool */;
3581 val
* var12
/* : Array[Object] */;
3582 val
* var_listnode6
/* var listnode6: nullable Object */;
3583 short int var13
/* : Bool */;
3586 val
* var16
/* : Array[Object] */;
3587 val
* var_listnode9
/* var listnode9: Array[Object] */;
3588 val
* var_listnode8
/* var listnode8: nullable Object */;
3589 short int var17
/* : Bool */;
3592 val
* var20
/* : Array[Object] */;
3593 val
* var21
/* : ATopClassdef */;
3594 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable ATopClassdef */;
3595 val
* var22
/* : Array[Object] */;
3596 val
* var23
/* : null */;
3597 short int var24
/* : Bool */;
3598 val
* var25
/* : AModule */;
3599 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
3600 long var26
/* : Int */;
3601 long var27
/* : Int */;
3604 var_node_list
= var
;
3605 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3606 var_nodearraylist4
= var1
;
3607 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3608 var_nodearraylist3
= var2
;
3609 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3610 var_nodearraylist2
= var3
;
3611 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3612 var_nodearraylist1
= var4
;
3613 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
3614 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
3615 CHECK_NEW_array__Array(var5
);
3616 var_listnode4
= var5
;
3617 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
3618 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
3619 CHECK_NEW_array__Array(var6
);
3620 var_listnode5
= var6
;
3621 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
3622 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
3623 CHECK_NEW_array__Array(var7
);
3624 var_listnode10
= var7
;
3625 var_pmoduledeclnode2
= var_nodearraylist1
;
3626 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
3627 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
3628 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
3629 if(var_pmoduledeclnode2
== NULL
) {
3632 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
3635 var8
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
3639 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3640 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2626);
3643 var_listnode3
= var_nodearraylist2
;
3644 /* <var_listnode3:nullable Object> isa Array[Object] */
3645 cltype10
= type_array__Arraykernel__Object
.color
;
3646 idtype11
= type_array__Arraykernel__Object
.id
;
3647 if(var_listnode3
== NULL
) {
3650 if(cltype10
>= var_listnode3
->type
->table_size
) {
3653 var9
= var_listnode3
->type
->type_table
[cltype10
] == idtype11
;
3657 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3658 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2628);
3661 var12
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction27>*/;
3662 var_listnode4
= var12
;
3663 var_listnode6
= var_nodearraylist3
;
3664 /* <var_listnode6:nullable Object> isa Array[Object] */
3665 cltype14
= type_array__Arraykernel__Object
.color
;
3666 idtype15
= type_array__Arraykernel__Object
.id
;
3667 if(var_listnode6
== NULL
) {
3670 if(cltype14
>= var_listnode6
->type
->table_size
) {
3673 var13
= var_listnode6
->type
->type_table
[cltype14
] == idtype15
;
3677 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3678 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2631);
3681 var16
= NEW_array__Array(&type_array__Arraykernel__Object
);
3682 ((void (*)(val
*))(var16
->class->vft
[COLOR_array__Array__init
]))(var16
) /* init on <var16:Array[Object]>*/;
3683 CHECK_NEW_array__Array(var16
);
3684 var_listnode9
= var16
;
3685 var_listnode8
= var_nodearraylist4
;
3686 /* <var_listnode8:nullable Object> isa Array[Object] */
3687 cltype18
= type_array__Arraykernel__Object
.color
;
3688 idtype19
= type_array__Arraykernel__Object
.id
;
3689 if(var_listnode8
== NULL
) {
3692 if(cltype18
>= var_listnode8
->type
->table_size
) {
3695 var17
= var_listnode8
->type
->type_table
[cltype18
] == idtype19
;
3699 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3700 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2634);
3703 var20
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode9
, var_listnode8
) /* concat on <self:ReduceAction27>*/;
3704 var_listnode9
= var20
;
3705 var21
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
3706 ((void (*)(val
*, val
*))(var21
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var21
, var_listnode9
) /* init_atopclassdef on <var21:ATopClassdef>*/;
3707 CHECK_NEW_parser_nodes__ATopClassdef(var21
);
3708 var_pclassdefnode7
= var21
;
3709 var22
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode10
, var_listnode6
) /* concat on <self:ReduceAction27>*/;
3710 var_listnode10
= var22
;
3712 if (var_pclassdefnode7
== NULL
) {
3713 var24
= 0; /* is null */
3715 var24
= 1; /* arg is null and recv is not */
3718 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode7
) /* add on <var_listnode10:Array[Object]>*/;
3721 var25
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
3722 ((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>*/;
3723 CHECK_NEW_parser_nodes__AModule(var25
);
3724 var_pmodulenode1
= var25
;
3725 var_node_list
= var_pmodulenode1
;
3726 var26
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction27> */
3727 var27
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var26
) /* go_to on <var_p:Parser>*/;
3728 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var27
, var_node_list
) /* push on <var_p:Parser>*/;
3731 /* method parser#ReduceAction27#action for (self: Object, Parser) */
3732 void VIRTUAL_parser__ReduceAction27__action(val
* self
, val
* p0
) {
3733 parser__ReduceAction27__action(self
, p0
);
3736 /* method parser#ReduceAction28#action for (self: ReduceAction28, Parser) */
3737 void parser__ReduceAction28__action(val
* self
, val
* p0
) {
3738 val
* var_p
/* var p: Parser */;
3739 val
* var
/* : null */;
3740 val
* var_node_list
/* var node_list: nullable Object */;
3741 val
* var1
/* : nullable Object */;
3742 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3743 val
* var2
/* : nullable Object */;
3744 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3745 val
* var3
/* : nullable Object */;
3746 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3747 val
* var4
/* : Array[Object] */;
3748 val
* var_listnode3
/* var listnode3: Array[Object] */;
3749 val
* var5
/* : Array[Object] */;
3750 val
* var_listnode5
/* var listnode5: Array[Object] */;
3751 val
* var6
/* : Array[Object] */;
3752 val
* var_listnode10
/* var listnode10: Array[Object] */;
3753 val
* var_listnode4
/* var listnode4: nullable Object */;
3754 short int var7
/* : Bool */;
3757 val
* var8
/* : Array[Object] */;
3758 val
* var_listnode6
/* var listnode6: nullable Object */;
3759 short int var9
/* : Bool */;
3762 val
* var12
/* : Array[Object] */;
3763 val
* var_listnode9
/* var listnode9: Array[Object] */;
3764 val
* var_listnode8
/* var listnode8: nullable Object */;
3765 short int var13
/* : Bool */;
3768 val
* var16
/* : Array[Object] */;
3769 val
* var17
/* : ATopClassdef */;
3770 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable ATopClassdef */;
3771 val
* var18
/* : Array[Object] */;
3772 val
* var19
/* : null */;
3773 short int var20
/* : Bool */;
3774 val
* var21
/* : AModule */;
3775 val
* var22
/* : null */;
3776 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
3777 long var23
/* : Int */;
3778 long var24
/* : Int */;
3781 var_node_list
= var
;
3782 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3783 var_nodearraylist3
= var1
;
3784 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3785 var_nodearraylist2
= var2
;
3786 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3787 var_nodearraylist1
= var3
;
3788 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
3789 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
3790 CHECK_NEW_array__Array(var4
);
3791 var_listnode3
= var4
;
3792 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
3793 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
3794 CHECK_NEW_array__Array(var5
);
3795 var_listnode5
= var5
;
3796 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
3797 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
3798 CHECK_NEW_array__Array(var6
);
3799 var_listnode10
= var6
;
3800 var_listnode4
= var_nodearraylist1
;
3801 /* <var_listnode4:nullable Object> isa Array[Object] */
3802 cltype
= type_array__Arraykernel__Object
.color
;
3803 idtype
= type_array__Arraykernel__Object
.id
;
3804 if(var_listnode4
== NULL
) {
3807 if(cltype
>= var_listnode4
->type
->table_size
) {
3810 var7
= var_listnode4
->type
->type_table
[cltype
] == idtype
;
3814 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3815 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2665);
3818 var8
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction28>*/;
3819 var_listnode5
= var8
;
3820 var_listnode6
= var_nodearraylist2
;
3821 /* <var_listnode6:nullable Object> isa Array[Object] */
3822 cltype10
= type_array__Arraykernel__Object
.color
;
3823 idtype11
= type_array__Arraykernel__Object
.id
;
3824 if(var_listnode6
== NULL
) {
3827 if(cltype10
>= var_listnode6
->type
->table_size
) {
3830 var9
= var_listnode6
->type
->type_table
[cltype10
] == idtype11
;
3834 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3835 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2668);
3838 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
3839 ((void (*)(val
*))(var12
->class->vft
[COLOR_array__Array__init
]))(var12
) /* init on <var12:Array[Object]>*/;
3840 CHECK_NEW_array__Array(var12
);
3841 var_listnode9
= var12
;
3842 var_listnode8
= var_nodearraylist3
;
3843 /* <var_listnode8:nullable Object> isa Array[Object] */
3844 cltype14
= type_array__Arraykernel__Object
.color
;
3845 idtype15
= type_array__Arraykernel__Object
.id
;
3846 if(var_listnode8
== NULL
) {
3849 if(cltype14
>= var_listnode8
->type
->table_size
) {
3852 var13
= var_listnode8
->type
->type_table
[cltype14
] == idtype15
;
3856 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3857 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2671);
3860 var16
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode9
, var_listnode8
) /* concat on <self:ReduceAction28>*/;
3861 var_listnode9
= var16
;
3862 var17
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
3863 ((void (*)(val
*, val
*))(var17
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var17
, var_listnode9
) /* init_atopclassdef on <var17:ATopClassdef>*/;
3864 CHECK_NEW_parser_nodes__ATopClassdef(var17
);
3865 var_pclassdefnode7
= var17
;
3866 var18
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode10
, var_listnode6
) /* concat on <self:ReduceAction28>*/;
3867 var_listnode10
= var18
;
3869 if (var_pclassdefnode7
== NULL
) {
3870 var20
= 0; /* is null */
3872 var20
= 1; /* arg is null and recv is not */
3875 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode7
) /* add on <var_listnode10:Array[Object]>*/;
3878 var21
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
3880 ((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>*/;
3881 CHECK_NEW_parser_nodes__AModule(var21
);
3882 var_pmodulenode1
= var21
;
3883 var_node_list
= var_pmodulenode1
;
3884 var23
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction28> */
3885 var24
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var23
) /* go_to on <var_p:Parser>*/;
3886 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var24
, var_node_list
) /* push on <var_p:Parser>*/;
3889 /* method parser#ReduceAction28#action for (self: Object, Parser) */
3890 void VIRTUAL_parser__ReduceAction28__action(val
* self
, val
* p0
) {
3891 parser__ReduceAction28__action(self
, p0
);
3894 /* method parser#ReduceAction29#action for (self: ReduceAction29, Parser) */
3895 void parser__ReduceAction29__action(val
* self
, val
* p0
) {
3896 val
* var_p
/* var p: Parser */;
3897 val
* var
/* : null */;
3898 val
* var_node_list
/* var node_list: nullable Object */;
3899 val
* var1
/* : nullable Object */;
3900 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3901 val
* var2
/* : nullable Object */;
3902 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3903 val
* var3
/* : nullable Object */;
3904 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3905 val
* var4
/* : nullable Object */;
3906 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3907 val
* var5
/* : Array[Object] */;
3908 val
* var_listnode3
/* var listnode3: Array[Object] */;
3909 val
* var6
/* : Array[Object] */;
3910 val
* var_listnode5
/* var listnode5: Array[Object] */;
3911 val
* var7
/* : Array[Object] */;
3912 val
* var_listnode10
/* var listnode10: Array[Object] */;
3913 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
3914 short int var8
/* : Bool */;
3917 val
* var_listnode4
/* var listnode4: nullable Object */;
3918 short int var9
/* : Bool */;
3921 val
* var12
/* : Array[Object] */;
3922 val
* var_listnode6
/* var listnode6: nullable Object */;
3923 short int var13
/* : Bool */;
3926 val
* var16
/* : Array[Object] */;
3927 val
* var_listnode9
/* var listnode9: Array[Object] */;
3928 val
* var_listnode8
/* var listnode8: nullable Object */;
3929 short int var17
/* : Bool */;
3932 val
* var20
/* : Array[Object] */;
3933 val
* var21
/* : ATopClassdef */;
3934 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable ATopClassdef */;
3935 val
* var22
/* : Array[Object] */;
3936 val
* var23
/* : null */;
3937 short int var24
/* : Bool */;
3938 val
* var25
/* : AModule */;
3939 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
3940 long var26
/* : Int */;
3941 long var27
/* : Int */;
3944 var_node_list
= var
;
3945 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3946 var_nodearraylist4
= var1
;
3947 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3948 var_nodearraylist3
= var2
;
3949 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3950 var_nodearraylist2
= var3
;
3951 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3952 var_nodearraylist1
= var4
;
3953 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
3954 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
3955 CHECK_NEW_array__Array(var5
);
3956 var_listnode3
= var5
;
3957 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
3958 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
3959 CHECK_NEW_array__Array(var6
);
3960 var_listnode5
= var6
;
3961 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
3962 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
3963 CHECK_NEW_array__Array(var7
);
3964 var_listnode10
= var7
;
3965 var_pmoduledeclnode2
= var_nodearraylist1
;
3966 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
3967 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
3968 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
3969 if(var_pmoduledeclnode2
== NULL
) {
3972 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
3975 var8
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
3979 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3980 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2703);
3983 var_listnode4
= var_nodearraylist2
;
3984 /* <var_listnode4:nullable Object> isa Array[Object] */
3985 cltype10
= type_array__Arraykernel__Object
.color
;
3986 idtype11
= type_array__Arraykernel__Object
.id
;
3987 if(var_listnode4
== NULL
) {
3990 if(cltype10
>= var_listnode4
->type
->table_size
) {
3993 var9
= var_listnode4
->type
->type_table
[cltype10
] == idtype11
;
3997 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3998 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2705);
4001 var12
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction29>*/;
4002 var_listnode5
= var12
;
4003 var_listnode6
= var_nodearraylist3
;
4004 /* <var_listnode6:nullable Object> isa Array[Object] */
4005 cltype14
= type_array__Arraykernel__Object
.color
;
4006 idtype15
= type_array__Arraykernel__Object
.id
;
4007 if(var_listnode6
== NULL
) {
4010 if(cltype14
>= var_listnode6
->type
->table_size
) {
4013 var13
= var_listnode6
->type
->type_table
[cltype14
] == idtype15
;
4017 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4018 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2708);
4021 var16
= NEW_array__Array(&type_array__Arraykernel__Object
);
4022 ((void (*)(val
*))(var16
->class->vft
[COLOR_array__Array__init
]))(var16
) /* init on <var16:Array[Object]>*/;
4023 CHECK_NEW_array__Array(var16
);
4024 var_listnode9
= var16
;
4025 var_listnode8
= var_nodearraylist4
;
4026 /* <var_listnode8:nullable Object> isa Array[Object] */
4027 cltype18
= type_array__Arraykernel__Object
.color
;
4028 idtype19
= type_array__Arraykernel__Object
.id
;
4029 if(var_listnode8
== NULL
) {
4032 if(cltype18
>= var_listnode8
->type
->table_size
) {
4035 var17
= var_listnode8
->type
->type_table
[cltype18
] == idtype19
;
4039 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4040 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2711);
4043 var20
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode9
, var_listnode8
) /* concat on <self:ReduceAction29>*/;
4044 var_listnode9
= var20
;
4045 var21
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
4046 ((void (*)(val
*, val
*))(var21
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var21
, var_listnode9
) /* init_atopclassdef on <var21:ATopClassdef>*/;
4047 CHECK_NEW_parser_nodes__ATopClassdef(var21
);
4048 var_pclassdefnode7
= var21
;
4049 var22
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode10
, var_listnode6
) /* concat on <self:ReduceAction29>*/;
4050 var_listnode10
= var22
;
4052 if (var_pclassdefnode7
== NULL
) {
4053 var24
= 0; /* is null */
4055 var24
= 1; /* arg is null and recv is not */
4058 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode7
) /* add on <var_listnode10:Array[Object]>*/;
4061 var25
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
4062 ((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>*/;
4063 CHECK_NEW_parser_nodes__AModule(var25
);
4064 var_pmodulenode1
= var25
;
4065 var_node_list
= var_pmodulenode1
;
4066 var26
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction29> */
4067 var27
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var26
) /* go_to on <var_p:Parser>*/;
4068 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var27
, var_node_list
) /* push on <var_p:Parser>*/;
4071 /* method parser#ReduceAction29#action for (self: Object, Parser) */
4072 void VIRTUAL_parser__ReduceAction29__action(val
* self
, val
* p0
) {
4073 parser__ReduceAction29__action(self
, p0
);
4076 /* method parser#ReduceAction30#action for (self: ReduceAction30, Parser) */
4077 void parser__ReduceAction30__action(val
* self
, val
* p0
) {
4078 val
* var_p
/* var p: Parser */;
4079 val
* var
/* : null */;
4080 val
* var_node_list
/* var node_list: nullable Object */;
4081 val
* var1
/* : nullable Object */;
4082 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4083 val
* var2
/* : nullable Object */;
4084 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4085 val
* var3
/* : nullable Object */;
4086 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4087 val
* var4
/* : nullable Object */;
4088 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4089 val
* var5
/* : Array[Object] */;
4090 val
* var_listnode4
/* var listnode4: Array[Object] */;
4091 val
* var6
/* : Array[Object] */;
4092 val
* var_listnode6
/* var listnode6: Array[Object] */;
4093 val
* var7
/* : Array[Object] */;
4094 val
* var_listnode11
/* var listnode11: Array[Object] */;
4095 val
* var_listnode3
/* var listnode3: nullable Object */;
4096 short int var8
/* : Bool */;
4099 val
* var9
/* : Array[Object] */;
4100 val
* var_listnode5
/* var listnode5: nullable Object */;
4101 short int var10
/* : Bool */;
4104 val
* var13
/* : Array[Object] */;
4105 val
* var_listnode7
/* var listnode7: nullable Object */;
4106 short int var14
/* : Bool */;
4109 val
* var17
/* : Array[Object] */;
4110 val
* var_listnode10
/* var listnode10: Array[Object] */;
4111 val
* var_listnode9
/* var listnode9: nullable Object */;
4112 short int var18
/* : Bool */;
4115 val
* var21
/* : Array[Object] */;
4116 val
* var22
/* : ATopClassdef */;
4117 val
* var_pclassdefnode8
/* var pclassdefnode8: nullable ATopClassdef */;
4118 val
* var23
/* : Array[Object] */;
4119 val
* var24
/* : null */;
4120 short int var25
/* : Bool */;
4121 val
* var26
/* : AModule */;
4122 val
* var27
/* : null */;
4123 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
4124 long var28
/* : Int */;
4125 long var29
/* : Int */;
4128 var_node_list
= var
;
4129 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4130 var_nodearraylist4
= var1
;
4131 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4132 var_nodearraylist3
= var2
;
4133 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4134 var_nodearraylist2
= var3
;
4135 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4136 var_nodearraylist1
= var4
;
4137 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
4138 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
4139 CHECK_NEW_array__Array(var5
);
4140 var_listnode4
= var5
;
4141 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
4142 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
4143 CHECK_NEW_array__Array(var6
);
4144 var_listnode6
= var6
;
4145 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
4146 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
4147 CHECK_NEW_array__Array(var7
);
4148 var_listnode11
= var7
;
4149 var_listnode3
= var_nodearraylist1
;
4150 /* <var_listnode3:nullable Object> isa Array[Object] */
4151 cltype
= type_array__Arraykernel__Object
.color
;
4152 idtype
= type_array__Arraykernel__Object
.id
;
4153 if(var_listnode3
== NULL
) {
4156 if(cltype
>= var_listnode3
->type
->table_size
) {
4159 var8
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
4163 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4164 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2743);
4167 var9
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction30>*/;
4168 var_listnode4
= var9
;
4169 var_listnode5
= var_nodearraylist2
;
4170 /* <var_listnode5:nullable Object> isa Array[Object] */
4171 cltype11
= type_array__Arraykernel__Object
.color
;
4172 idtype12
= type_array__Arraykernel__Object
.id
;
4173 if(var_listnode5
== NULL
) {
4176 if(cltype11
>= var_listnode5
->type
->table_size
) {
4179 var10
= var_listnode5
->type
->type_table
[cltype11
] == idtype12
;
4183 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4184 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2746);
4187 var13
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction30>*/;
4188 var_listnode6
= var13
;
4189 var_listnode7
= var_nodearraylist3
;
4190 /* <var_listnode7:nullable Object> isa Array[Object] */
4191 cltype15
= type_array__Arraykernel__Object
.color
;
4192 idtype16
= type_array__Arraykernel__Object
.id
;
4193 if(var_listnode7
== NULL
) {
4196 if(cltype15
>= var_listnode7
->type
->table_size
) {
4199 var14
= var_listnode7
->type
->type_table
[cltype15
] == idtype16
;
4203 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4204 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2749);
4207 var17
= NEW_array__Array(&type_array__Arraykernel__Object
);
4208 ((void (*)(val
*))(var17
->class->vft
[COLOR_array__Array__init
]))(var17
) /* init on <var17:Array[Object]>*/;
4209 CHECK_NEW_array__Array(var17
);
4210 var_listnode10
= var17
;
4211 var_listnode9
= var_nodearraylist4
;
4212 /* <var_listnode9:nullable Object> isa Array[Object] */
4213 cltype19
= type_array__Arraykernel__Object
.color
;
4214 idtype20
= type_array__Arraykernel__Object
.id
;
4215 if(var_listnode9
== NULL
) {
4218 if(cltype19
>= var_listnode9
->type
->table_size
) {
4221 var18
= var_listnode9
->type
->type_table
[cltype19
] == idtype20
;
4225 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4226 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2752);
4229 var21
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode10
, var_listnode9
) /* concat on <self:ReduceAction30>*/;
4230 var_listnode10
= var21
;
4231 var22
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
4232 ((void (*)(val
*, val
*))(var22
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var22
, var_listnode10
) /* init_atopclassdef on <var22:ATopClassdef>*/;
4233 CHECK_NEW_parser_nodes__ATopClassdef(var22
);
4234 var_pclassdefnode8
= var22
;
4235 var23
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode11
, var_listnode7
) /* concat on <self:ReduceAction30>*/;
4236 var_listnode11
= var23
;
4238 if (var_pclassdefnode8
== NULL
) {
4239 var25
= 0; /* is null */
4241 var25
= 1; /* arg is null and recv is not */
4244 ((void (*)(val
*, val
*))(var_listnode11
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode11
, var_pclassdefnode8
) /* add on <var_listnode11:Array[Object]>*/;
4247 var26
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
4249 ((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>*/;
4250 CHECK_NEW_parser_nodes__AModule(var26
);
4251 var_pmodulenode1
= var26
;
4252 var_node_list
= var_pmodulenode1
;
4253 var28
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction30> */
4254 var29
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var28
) /* go_to on <var_p:Parser>*/;
4255 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var29
, var_node_list
) /* push on <var_p:Parser>*/;
4258 /* method parser#ReduceAction30#action for (self: Object, Parser) */
4259 void VIRTUAL_parser__ReduceAction30__action(val
* self
, val
* p0
) {
4260 parser__ReduceAction30__action(self
, p0
);
4263 /* method parser#ReduceAction31#action for (self: ReduceAction31, Parser) */
4264 void parser__ReduceAction31__action(val
* self
, val
* p0
) {
4265 val
* var_p
/* var p: Parser */;
4266 val
* var
/* : null */;
4267 val
* var_node_list
/* var node_list: nullable Object */;
4268 val
* var1
/* : nullable Object */;
4269 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4270 val
* var2
/* : nullable Object */;
4271 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4272 val
* var3
/* : nullable Object */;
4273 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4274 val
* var4
/* : nullable Object */;
4275 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4276 val
* var5
/* : nullable Object */;
4277 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4278 val
* var6
/* : Array[Object] */;
4279 val
* var_listnode4
/* var listnode4: Array[Object] */;
4280 val
* var7
/* : Array[Object] */;
4281 val
* var_listnode6
/* var listnode6: Array[Object] */;
4282 val
* var8
/* : Array[Object] */;
4283 val
* var_listnode11
/* var listnode11: Array[Object] */;
4284 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
4285 short int var9
/* : Bool */;
4288 val
* var_listnode3
/* var listnode3: nullable Object */;
4289 short int var10
/* : Bool */;
4292 val
* var13
/* : Array[Object] */;
4293 val
* var_listnode5
/* var listnode5: nullable Object */;
4294 short int var14
/* : Bool */;
4297 val
* var17
/* : Array[Object] */;
4298 val
* var_listnode7
/* var listnode7: nullable Object */;
4299 short int var18
/* : Bool */;
4302 val
* var21
/* : Array[Object] */;
4303 val
* var_listnode10
/* var listnode10: Array[Object] */;
4304 val
* var_listnode9
/* var listnode9: nullable Object */;
4305 short int var22
/* : Bool */;
4308 val
* var25
/* : Array[Object] */;
4309 val
* var26
/* : ATopClassdef */;
4310 val
* var_pclassdefnode8
/* var pclassdefnode8: nullable ATopClassdef */;
4311 val
* var27
/* : Array[Object] */;
4312 val
* var28
/* : null */;
4313 short int var29
/* : Bool */;
4314 val
* var30
/* : AModule */;
4315 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
4316 long var31
/* : Int */;
4317 long var32
/* : Int */;
4320 var_node_list
= var
;
4321 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4322 var_nodearraylist5
= var1
;
4323 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4324 var_nodearraylist4
= var2
;
4325 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4326 var_nodearraylist3
= var3
;
4327 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4328 var_nodearraylist2
= var4
;
4329 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4330 var_nodearraylist1
= var5
;
4331 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
4332 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
4333 CHECK_NEW_array__Array(var6
);
4334 var_listnode4
= var6
;
4335 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
4336 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
4337 CHECK_NEW_array__Array(var7
);
4338 var_listnode6
= var7
;
4339 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
4340 ((void (*)(val
*))(var8
->class->vft
[COLOR_array__Array__init
]))(var8
) /* init on <var8:Array[Object]>*/;
4341 CHECK_NEW_array__Array(var8
);
4342 var_listnode11
= var8
;
4343 var_pmoduledeclnode2
= var_nodearraylist1
;
4344 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
4345 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
4346 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
4347 if(var_pmoduledeclnode2
== NULL
) {
4350 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
4353 var9
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
4357 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4358 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2785);
4361 var_listnode3
= var_nodearraylist2
;
4362 /* <var_listnode3:nullable Object> isa Array[Object] */
4363 cltype11
= type_array__Arraykernel__Object
.color
;
4364 idtype12
= type_array__Arraykernel__Object
.id
;
4365 if(var_listnode3
== NULL
) {
4368 if(cltype11
>= var_listnode3
->type
->table_size
) {
4371 var10
= var_listnode3
->type
->type_table
[cltype11
] == idtype12
;
4375 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4376 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2787);
4379 var13
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction31>*/;
4380 var_listnode4
= var13
;
4381 var_listnode5
= var_nodearraylist3
;
4382 /* <var_listnode5:nullable Object> isa Array[Object] */
4383 cltype15
= type_array__Arraykernel__Object
.color
;
4384 idtype16
= type_array__Arraykernel__Object
.id
;
4385 if(var_listnode5
== NULL
) {
4388 if(cltype15
>= var_listnode5
->type
->table_size
) {
4391 var14
= var_listnode5
->type
->type_table
[cltype15
] == idtype16
;
4395 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4396 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2790);
4399 var17
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction31>*/;
4400 var_listnode6
= var17
;
4401 var_listnode7
= var_nodearraylist4
;
4402 /* <var_listnode7:nullable Object> isa Array[Object] */
4403 cltype19
= type_array__Arraykernel__Object
.color
;
4404 idtype20
= type_array__Arraykernel__Object
.id
;
4405 if(var_listnode7
== NULL
) {
4408 if(cltype19
>= var_listnode7
->type
->table_size
) {
4411 var18
= var_listnode7
->type
->type_table
[cltype19
] == idtype20
;
4415 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4416 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2793);
4419 var21
= NEW_array__Array(&type_array__Arraykernel__Object
);
4420 ((void (*)(val
*))(var21
->class->vft
[COLOR_array__Array__init
]))(var21
) /* init on <var21:Array[Object]>*/;
4421 CHECK_NEW_array__Array(var21
);
4422 var_listnode10
= var21
;
4423 var_listnode9
= var_nodearraylist5
;
4424 /* <var_listnode9:nullable Object> isa Array[Object] */
4425 cltype23
= type_array__Arraykernel__Object
.color
;
4426 idtype24
= type_array__Arraykernel__Object
.id
;
4427 if(var_listnode9
== NULL
) {
4430 if(cltype23
>= var_listnode9
->type
->table_size
) {
4433 var22
= var_listnode9
->type
->type_table
[cltype23
] == idtype24
;
4437 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4438 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2796);
4441 var25
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode10
, var_listnode9
) /* concat on <self:ReduceAction31>*/;
4442 var_listnode10
= var25
;
4443 var26
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
4444 ((void (*)(val
*, val
*))(var26
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var26
, var_listnode10
) /* init_atopclassdef on <var26:ATopClassdef>*/;
4445 CHECK_NEW_parser_nodes__ATopClassdef(var26
);
4446 var_pclassdefnode8
= var26
;
4447 var27
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode11
, var_listnode7
) /* concat on <self:ReduceAction31>*/;
4448 var_listnode11
= var27
;
4450 if (var_pclassdefnode8
== NULL
) {
4451 var29
= 0; /* is null */
4453 var29
= 1; /* arg is null and recv is not */
4456 ((void (*)(val
*, val
*))(var_listnode11
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode11
, var_pclassdefnode8
) /* add on <var_listnode11:Array[Object]>*/;
4459 var30
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
4460 ((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>*/;
4461 CHECK_NEW_parser_nodes__AModule(var30
);
4462 var_pmodulenode1
= var30
;
4463 var_node_list
= var_pmodulenode1
;
4464 var31
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction31> */
4465 var32
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var31
) /* go_to on <var_p:Parser>*/;
4466 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var32
, var_node_list
) /* push on <var_p:Parser>*/;
4469 /* method parser#ReduceAction31#action for (self: Object, Parser) */
4470 void VIRTUAL_parser__ReduceAction31__action(val
* self
, val
* p0
) {
4471 parser__ReduceAction31__action(self
, p0
);
4474 /* method parser#ReduceAction32#action for (self: ReduceAction32, Parser) */
4475 void parser__ReduceAction32__action(val
* self
, val
* p0
) {
4476 val
* var_p
/* var p: Parser */;
4477 val
* var
/* : null */;
4478 val
* var_node_list
/* var node_list: nullable Object */;
4479 val
* var1
/* : nullable Object */;
4480 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4481 val
* var2
/* : Array[Object] */;
4482 val
* var_listnode3
/* var listnode3: Array[Object] */;
4483 val
* var3
/* : Array[Object] */;
4484 val
* var_listnode4
/* var listnode4: Array[Object] */;
4485 val
* var4
/* : Array[Object] */;
4486 val
* var_listnode6
/* var listnode6: Array[Object] */;
4487 val
* var_pclassdefnode5
/* var pclassdefnode5: nullable Object */;
4488 short int var5
/* : Bool */;
4491 val
* var6
/* : null */;
4492 short int var7
/* : Bool */;
4493 val
* var8
/* : AModule */;
4494 val
* var9
/* : null */;
4495 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
4496 long var10
/* : Int */;
4497 long var11
/* : Int */;
4500 var_node_list
= var
;
4501 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4502 var_nodearraylist1
= var1
;
4503 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
4504 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
4505 CHECK_NEW_array__Array(var2
);
4506 var_listnode3
= var2
;
4507 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
4508 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
4509 CHECK_NEW_array__Array(var3
);
4510 var_listnode4
= var3
;
4511 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
4512 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
4513 CHECK_NEW_array__Array(var4
);
4514 var_listnode6
= var4
;
4515 var_pclassdefnode5
= var_nodearraylist1
;
4516 /* <var_pclassdefnode5:nullable Object> isa nullable AClassdef */
4517 cltype
= type_nullable_parser_nodes__AClassdef
.color
;
4518 idtype
= type_nullable_parser_nodes__AClassdef
.id
;
4519 if(var_pclassdefnode5
== NULL
) {
4522 if(cltype
>= var_pclassdefnode5
->type
->table_size
) {
4525 var5
= var_pclassdefnode5
->type
->type_table
[cltype
] == idtype
;
4529 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4530 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2825);
4534 if (var_pclassdefnode5
== NULL
) {
4535 var7
= 0; /* is null */
4537 var7
= 1; /* arg is null and recv is not */
4540 ((void (*)(val
*, val
*))(var_listnode6
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode6
, var_pclassdefnode5
) /* add on <var_listnode6:Array[Object]>*/;
4543 var8
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
4545 ((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>*/;
4546 CHECK_NEW_parser_nodes__AModule(var8
);
4547 var_pmodulenode1
= var8
;
4548 var_node_list
= var_pmodulenode1
;
4549 var10
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction32> */
4550 var11
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var10
) /* go_to on <var_p:Parser>*/;
4551 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var11
, var_node_list
) /* push on <var_p:Parser>*/;
4554 /* method parser#ReduceAction32#action for (self: Object, Parser) */
4555 void VIRTUAL_parser__ReduceAction32__action(val
* self
, val
* p0
) {
4556 parser__ReduceAction32__action(self
, p0
);
4559 /* method parser#ReduceAction33#action for (self: ReduceAction33, Parser) */
4560 void parser__ReduceAction33__action(val
* self
, val
* p0
) {
4561 val
* var_p
/* var p: Parser */;
4562 val
* var
/* : null */;
4563 val
* var_node_list
/* var node_list: nullable Object */;
4564 val
* var1
/* : nullable Object */;
4565 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4566 val
* var2
/* : nullable Object */;
4567 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4568 val
* var3
/* : Array[Object] */;
4569 val
* var_listnode3
/* var listnode3: Array[Object] */;
4570 val
* var4
/* : Array[Object] */;
4571 val
* var_listnode4
/* var listnode4: Array[Object] */;
4572 val
* var5
/* : Array[Object] */;
4573 val
* var_listnode6
/* var listnode6: Array[Object] */;
4574 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
4575 short int var6
/* : Bool */;
4578 val
* var_pclassdefnode5
/* var pclassdefnode5: nullable Object */;
4579 short int var7
/* : Bool */;
4582 val
* var10
/* : null */;
4583 short int var11
/* : Bool */;
4584 val
* var12
/* : AModule */;
4585 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
4586 long var13
/* : Int */;
4587 long var14
/* : Int */;
4590 var_node_list
= var
;
4591 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4592 var_nodearraylist2
= var1
;
4593 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4594 var_nodearraylist1
= var2
;
4595 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
4596 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
4597 CHECK_NEW_array__Array(var3
);
4598 var_listnode3
= var3
;
4599 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
4600 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
4601 CHECK_NEW_array__Array(var4
);
4602 var_listnode4
= var4
;
4603 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
4604 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
4605 CHECK_NEW_array__Array(var5
);
4606 var_listnode6
= var5
;
4607 var_pmoduledeclnode2
= var_nodearraylist1
;
4608 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
4609 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
4610 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
4611 if(var_pmoduledeclnode2
== NULL
) {
4614 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
4617 var6
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
4621 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4622 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2850);
4625 var_pclassdefnode5
= var_nodearraylist2
;
4626 /* <var_pclassdefnode5:nullable Object> isa nullable AClassdef */
4627 cltype8
= type_nullable_parser_nodes__AClassdef
.color
;
4628 idtype9
= type_nullable_parser_nodes__AClassdef
.id
;
4629 if(var_pclassdefnode5
== NULL
) {
4632 if(cltype8
>= var_pclassdefnode5
->type
->table_size
) {
4635 var7
= var_pclassdefnode5
->type
->type_table
[cltype8
] == idtype9
;
4639 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4640 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2852);
4644 if (var_pclassdefnode5
== NULL
) {
4645 var11
= 0; /* is null */
4647 var11
= 1; /* arg is null and recv is not */
4650 ((void (*)(val
*, val
*))(var_listnode6
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode6
, var_pclassdefnode5
) /* add on <var_listnode6:Array[Object]>*/;
4653 var12
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
4654 ((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>*/;
4655 CHECK_NEW_parser_nodes__AModule(var12
);
4656 var_pmodulenode1
= var12
;
4657 var_node_list
= var_pmodulenode1
;
4658 var13
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction33> */
4659 var14
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var13
) /* go_to on <var_p:Parser>*/;
4660 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var14
, var_node_list
) /* push on <var_p:Parser>*/;
4663 /* method parser#ReduceAction33#action for (self: Object, Parser) */
4664 void VIRTUAL_parser__ReduceAction33__action(val
* self
, val
* p0
) {
4665 parser__ReduceAction33__action(self
, p0
);
4668 /* method parser#ReduceAction34#action for (self: ReduceAction34, Parser) */
4669 void parser__ReduceAction34__action(val
* self
, val
* p0
) {
4670 val
* var_p
/* var p: Parser */;
4671 val
* var
/* : null */;
4672 val
* var_node_list
/* var node_list: nullable Object */;
4673 val
* var1
/* : nullable Object */;
4674 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4675 val
* var2
/* : nullable Object */;
4676 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4677 val
* var3
/* : Array[Object] */;
4678 val
* var_listnode4
/* var listnode4: Array[Object] */;
4679 val
* var4
/* : Array[Object] */;
4680 val
* var_listnode5
/* var listnode5: Array[Object] */;
4681 val
* var5
/* : Array[Object] */;
4682 val
* var_listnode7
/* var listnode7: Array[Object] */;
4683 val
* var_listnode3
/* var listnode3: nullable Object */;
4684 short int var6
/* : Bool */;
4687 val
* var7
/* : Array[Object] */;
4688 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable Object */;
4689 short int var8
/* : Bool */;
4692 val
* var11
/* : null */;
4693 short int var12
/* : Bool */;
4694 val
* var13
/* : AModule */;
4695 val
* var14
/* : null */;
4696 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
4697 long var15
/* : Int */;
4698 long var16
/* : Int */;
4701 var_node_list
= var
;
4702 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4703 var_nodearraylist2
= var1
;
4704 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4705 var_nodearraylist1
= var2
;
4706 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
4707 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
4708 CHECK_NEW_array__Array(var3
);
4709 var_listnode4
= var3
;
4710 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
4711 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
4712 CHECK_NEW_array__Array(var4
);
4713 var_listnode5
= var4
;
4714 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
4715 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
4716 CHECK_NEW_array__Array(var5
);
4717 var_listnode7
= var5
;
4718 var_listnode3
= var_nodearraylist1
;
4719 /* <var_listnode3:nullable Object> isa Array[Object] */
4720 cltype
= type_array__Arraykernel__Object
.color
;
4721 idtype
= type_array__Arraykernel__Object
.id
;
4722 if(var_listnode3
== NULL
) {
4725 if(cltype
>= var_listnode3
->type
->table_size
) {
4728 var6
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
4732 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4733 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2877);
4736 var7
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction34>*/;
4737 var_listnode4
= var7
;
4738 var_pclassdefnode6
= var_nodearraylist2
;
4739 /* <var_pclassdefnode6:nullable Object> isa nullable AClassdef */
4740 cltype9
= type_nullable_parser_nodes__AClassdef
.color
;
4741 idtype10
= type_nullable_parser_nodes__AClassdef
.id
;
4742 if(var_pclassdefnode6
== NULL
) {
4745 if(cltype9
>= var_pclassdefnode6
->type
->table_size
) {
4748 var8
= var_pclassdefnode6
->type
->type_table
[cltype9
] == idtype10
;
4752 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4753 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2880);
4757 if (var_pclassdefnode6
== NULL
) {
4758 var12
= 0; /* is null */
4760 var12
= 1; /* arg is null and recv is not */
4763 ((void (*)(val
*, val
*))(var_listnode7
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode7
, var_pclassdefnode6
) /* add on <var_listnode7:Array[Object]>*/;
4766 var13
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
4768 ((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>*/;
4769 CHECK_NEW_parser_nodes__AModule(var13
);
4770 var_pmodulenode1
= var13
;
4771 var_node_list
= var_pmodulenode1
;
4772 var15
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction34> */
4773 var16
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var15
) /* go_to on <var_p:Parser>*/;
4774 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var16
, var_node_list
) /* push on <var_p:Parser>*/;
4777 /* method parser#ReduceAction34#action for (self: Object, Parser) */
4778 void VIRTUAL_parser__ReduceAction34__action(val
* self
, val
* p0
) {
4779 parser__ReduceAction34__action(self
, p0
);
4782 /* method parser#ReduceAction35#action for (self: ReduceAction35, Parser) */
4783 void parser__ReduceAction35__action(val
* self
, val
* p0
) {
4784 val
* var_p
/* var p: Parser */;
4785 val
* var
/* : null */;
4786 val
* var_node_list
/* var node_list: nullable Object */;
4787 val
* var1
/* : nullable Object */;
4788 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4789 val
* var2
/* : nullable Object */;
4790 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4791 val
* var3
/* : nullable Object */;
4792 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4793 val
* var4
/* : Array[Object] */;
4794 val
* var_listnode4
/* var listnode4: Array[Object] */;
4795 val
* var5
/* : Array[Object] */;
4796 val
* var_listnode5
/* var listnode5: Array[Object] */;
4797 val
* var6
/* : Array[Object] */;
4798 val
* var_listnode7
/* var listnode7: Array[Object] */;
4799 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
4800 short int var7
/* : Bool */;
4803 val
* var_listnode3
/* var listnode3: nullable Object */;
4804 short int var8
/* : Bool */;
4807 val
* var11
/* : Array[Object] */;
4808 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable Object */;
4809 short int var12
/* : Bool */;
4812 val
* var15
/* : null */;
4813 short int var16
/* : Bool */;
4814 val
* var17
/* : AModule */;
4815 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
4816 long var18
/* : Int */;
4817 long var19
/* : Int */;
4820 var_node_list
= var
;
4821 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4822 var_nodearraylist3
= var1
;
4823 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4824 var_nodearraylist2
= var2
;
4825 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4826 var_nodearraylist1
= var3
;
4827 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
4828 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
4829 CHECK_NEW_array__Array(var4
);
4830 var_listnode4
= var4
;
4831 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
4832 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
4833 CHECK_NEW_array__Array(var5
);
4834 var_listnode5
= var5
;
4835 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
4836 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
4837 CHECK_NEW_array__Array(var6
);
4838 var_listnode7
= var6
;
4839 var_pmoduledeclnode2
= var_nodearraylist1
;
4840 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
4841 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
4842 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
4843 if(var_pmoduledeclnode2
== NULL
) {
4846 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
4849 var7
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
4853 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4854 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2906);
4857 var_listnode3
= var_nodearraylist2
;
4858 /* <var_listnode3:nullable Object> isa Array[Object] */
4859 cltype9
= type_array__Arraykernel__Object
.color
;
4860 idtype10
= type_array__Arraykernel__Object
.id
;
4861 if(var_listnode3
== NULL
) {
4864 if(cltype9
>= var_listnode3
->type
->table_size
) {
4867 var8
= var_listnode3
->type
->type_table
[cltype9
] == idtype10
;
4871 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4872 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2908);
4875 var11
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction35>*/;
4876 var_listnode4
= var11
;
4877 var_pclassdefnode6
= var_nodearraylist3
;
4878 /* <var_pclassdefnode6:nullable Object> isa nullable AClassdef */
4879 cltype13
= type_nullable_parser_nodes__AClassdef
.color
;
4880 idtype14
= type_nullable_parser_nodes__AClassdef
.id
;
4881 if(var_pclassdefnode6
== NULL
) {
4884 if(cltype13
>= var_pclassdefnode6
->type
->table_size
) {
4887 var12
= var_pclassdefnode6
->type
->type_table
[cltype13
] == idtype14
;
4891 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4892 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2911);
4896 if (var_pclassdefnode6
== NULL
) {
4897 var16
= 0; /* is null */
4899 var16
= 1; /* arg is null and recv is not */
4902 ((void (*)(val
*, val
*))(var_listnode7
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode7
, var_pclassdefnode6
) /* add on <var_listnode7:Array[Object]>*/;
4905 var17
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
4906 ((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>*/;
4907 CHECK_NEW_parser_nodes__AModule(var17
);
4908 var_pmodulenode1
= var17
;
4909 var_node_list
= var_pmodulenode1
;
4910 var18
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction35> */
4911 var19
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var18
) /* go_to on <var_p:Parser>*/;
4912 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var19
, var_node_list
) /* push on <var_p:Parser>*/;
4915 /* method parser#ReduceAction35#action for (self: Object, Parser) */
4916 void VIRTUAL_parser__ReduceAction35__action(val
* self
, val
* p0
) {
4917 parser__ReduceAction35__action(self
, p0
);
4920 /* method parser#ReduceAction36#action for (self: ReduceAction36, Parser) */
4921 void parser__ReduceAction36__action(val
* self
, val
* p0
) {
4922 val
* var_p
/* var p: Parser */;
4923 val
* var
/* : null */;
4924 val
* var_node_list
/* var node_list: nullable Object */;
4925 val
* var1
/* : nullable Object */;
4926 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4927 val
* var2
/* : nullable Object */;
4928 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4929 val
* var3
/* : Array[Object] */;
4930 val
* var_listnode3
/* var listnode3: Array[Object] */;
4931 val
* var4
/* : Array[Object] */;
4932 val
* var_listnode5
/* var listnode5: Array[Object] */;
4933 val
* var5
/* : Array[Object] */;
4934 val
* var_listnode7
/* var listnode7: Array[Object] */;
4935 val
* var_listnode4
/* var listnode4: nullable Object */;
4936 short int var6
/* : Bool */;
4939 val
* var7
/* : Array[Object] */;
4940 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable Object */;
4941 short int var8
/* : Bool */;
4944 val
* var11
/* : null */;
4945 short int var12
/* : Bool */;
4946 val
* var13
/* : AModule */;
4947 val
* var14
/* : null */;
4948 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
4949 long var15
/* : Int */;
4950 long var16
/* : Int */;
4953 var_node_list
= var
;
4954 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4955 var_nodearraylist2
= var1
;
4956 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4957 var_nodearraylist1
= var2
;
4958 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
4959 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
4960 CHECK_NEW_array__Array(var3
);
4961 var_listnode3
= var3
;
4962 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
4963 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
4964 CHECK_NEW_array__Array(var4
);
4965 var_listnode5
= var4
;
4966 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
4967 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
4968 CHECK_NEW_array__Array(var5
);
4969 var_listnode7
= var5
;
4970 var_listnode4
= var_nodearraylist1
;
4971 /* <var_listnode4:nullable Object> isa Array[Object] */
4972 cltype
= type_array__Arraykernel__Object
.color
;
4973 idtype
= type_array__Arraykernel__Object
.id
;
4974 if(var_listnode4
== NULL
) {
4977 if(cltype
>= var_listnode4
->type
->table_size
) {
4980 var6
= var_listnode4
->type
->type_table
[cltype
] == idtype
;
4984 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4985 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2936);
4988 var7
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction36>*/;
4989 var_listnode5
= var7
;
4990 var_pclassdefnode6
= var_nodearraylist2
;
4991 /* <var_pclassdefnode6:nullable Object> isa nullable AClassdef */
4992 cltype9
= type_nullable_parser_nodes__AClassdef
.color
;
4993 idtype10
= type_nullable_parser_nodes__AClassdef
.id
;
4994 if(var_pclassdefnode6
== NULL
) {
4997 if(cltype9
>= var_pclassdefnode6
->type
->table_size
) {
5000 var8
= var_pclassdefnode6
->type
->type_table
[cltype9
] == idtype10
;
5004 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5005 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2939);
5009 if (var_pclassdefnode6
== NULL
) {
5010 var12
= 0; /* is null */
5012 var12
= 1; /* arg is null and recv is not */
5015 ((void (*)(val
*, val
*))(var_listnode7
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode7
, var_pclassdefnode6
) /* add on <var_listnode7:Array[Object]>*/;
5018 var13
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
5020 ((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>*/;
5021 CHECK_NEW_parser_nodes__AModule(var13
);
5022 var_pmodulenode1
= var13
;
5023 var_node_list
= var_pmodulenode1
;
5024 var15
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction36> */
5025 var16
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var15
) /* go_to on <var_p:Parser>*/;
5026 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var16
, var_node_list
) /* push on <var_p:Parser>*/;
5029 /* method parser#ReduceAction36#action for (self: Object, Parser) */
5030 void VIRTUAL_parser__ReduceAction36__action(val
* self
, val
* p0
) {
5031 parser__ReduceAction36__action(self
, p0
);
5034 /* method parser#ReduceAction37#action for (self: ReduceAction37, Parser) */
5035 void parser__ReduceAction37__action(val
* self
, val
* p0
) {
5036 val
* var_p
/* var p: Parser */;
5037 val
* var
/* : null */;
5038 val
* var_node_list
/* var node_list: nullable Object */;
5039 val
* var1
/* : nullable Object */;
5040 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5041 val
* var2
/* : nullable Object */;
5042 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5043 val
* var3
/* : nullable Object */;
5044 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5045 val
* var4
/* : Array[Object] */;
5046 val
* var_listnode3
/* var listnode3: Array[Object] */;
5047 val
* var5
/* : Array[Object] */;
5048 val
* var_listnode5
/* var listnode5: Array[Object] */;
5049 val
* var6
/* : Array[Object] */;
5050 val
* var_listnode7
/* var listnode7: Array[Object] */;
5051 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
5052 short int var7
/* : Bool */;
5055 val
* var_listnode4
/* var listnode4: nullable Object */;
5056 short int var8
/* : Bool */;
5059 val
* var11
/* : Array[Object] */;
5060 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable Object */;
5061 short int var12
/* : Bool */;
5064 val
* var15
/* : null */;
5065 short int var16
/* : Bool */;
5066 val
* var17
/* : AModule */;
5067 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
5068 long var18
/* : Int */;
5069 long var19
/* : Int */;
5072 var_node_list
= var
;
5073 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5074 var_nodearraylist3
= var1
;
5075 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5076 var_nodearraylist2
= var2
;
5077 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5078 var_nodearraylist1
= var3
;
5079 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
5080 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
5081 CHECK_NEW_array__Array(var4
);
5082 var_listnode3
= var4
;
5083 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
5084 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
5085 CHECK_NEW_array__Array(var5
);
5086 var_listnode5
= var5
;
5087 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
5088 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
5089 CHECK_NEW_array__Array(var6
);
5090 var_listnode7
= var6
;
5091 var_pmoduledeclnode2
= var_nodearraylist1
;
5092 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
5093 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
5094 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
5095 if(var_pmoduledeclnode2
== NULL
) {
5098 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
5101 var7
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
5105 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5106 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2965);
5109 var_listnode4
= var_nodearraylist2
;
5110 /* <var_listnode4:nullable Object> isa Array[Object] */
5111 cltype9
= type_array__Arraykernel__Object
.color
;
5112 idtype10
= type_array__Arraykernel__Object
.id
;
5113 if(var_listnode4
== NULL
) {
5116 if(cltype9
>= var_listnode4
->type
->table_size
) {
5119 var8
= var_listnode4
->type
->type_table
[cltype9
] == idtype10
;
5123 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5124 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2967);
5127 var11
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction37>*/;
5128 var_listnode5
= var11
;
5129 var_pclassdefnode6
= var_nodearraylist3
;
5130 /* <var_pclassdefnode6:nullable Object> isa nullable AClassdef */
5131 cltype13
= type_nullable_parser_nodes__AClassdef
.color
;
5132 idtype14
= type_nullable_parser_nodes__AClassdef
.id
;
5133 if(var_pclassdefnode6
== NULL
) {
5136 if(cltype13
>= var_pclassdefnode6
->type
->table_size
) {
5139 var12
= var_pclassdefnode6
->type
->type_table
[cltype13
] == idtype14
;
5143 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5144 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2970);
5148 if (var_pclassdefnode6
== NULL
) {
5149 var16
= 0; /* is null */
5151 var16
= 1; /* arg is null and recv is not */
5154 ((void (*)(val
*, val
*))(var_listnode7
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode7
, var_pclassdefnode6
) /* add on <var_listnode7:Array[Object]>*/;
5157 var17
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
5158 ((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>*/;
5159 CHECK_NEW_parser_nodes__AModule(var17
);
5160 var_pmodulenode1
= var17
;
5161 var_node_list
= var_pmodulenode1
;
5162 var18
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction37> */
5163 var19
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var18
) /* go_to on <var_p:Parser>*/;
5164 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var19
, var_node_list
) /* push on <var_p:Parser>*/;
5167 /* method parser#ReduceAction37#action for (self: Object, Parser) */
5168 void VIRTUAL_parser__ReduceAction37__action(val
* self
, val
* p0
) {
5169 parser__ReduceAction37__action(self
, p0
);
5172 /* method parser#ReduceAction38#action for (self: ReduceAction38, Parser) */
5173 void parser__ReduceAction38__action(val
* self
, val
* p0
) {
5174 val
* var_p
/* var p: Parser */;
5175 val
* var
/* : null */;
5176 val
* var_node_list
/* var node_list: nullable Object */;
5177 val
* var1
/* : nullable Object */;
5178 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5179 val
* var2
/* : nullable Object */;
5180 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5181 val
* var3
/* : nullable Object */;
5182 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5183 val
* var4
/* : Array[Object] */;
5184 val
* var_listnode4
/* var listnode4: Array[Object] */;
5185 val
* var5
/* : Array[Object] */;
5186 val
* var_listnode6
/* var listnode6: Array[Object] */;
5187 val
* var6
/* : Array[Object] */;
5188 val
* var_listnode8
/* var listnode8: Array[Object] */;
5189 val
* var_listnode3
/* var listnode3: nullable Object */;
5190 short int var7
/* : Bool */;
5193 val
* var8
/* : Array[Object] */;
5194 val
* var_listnode5
/* var listnode5: nullable Object */;
5195 short int var9
/* : Bool */;
5198 val
* var12
/* : Array[Object] */;
5199 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable Object */;
5200 short int var13
/* : Bool */;
5203 val
* var16
/* : null */;
5204 short int var17
/* : Bool */;
5205 val
* var18
/* : AModule */;
5206 val
* var19
/* : null */;
5207 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
5208 long var20
/* : Int */;
5209 long var21
/* : Int */;
5212 var_node_list
= var
;
5213 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5214 var_nodearraylist3
= var1
;
5215 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5216 var_nodearraylist2
= var2
;
5217 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5218 var_nodearraylist1
= var3
;
5219 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
5220 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
5221 CHECK_NEW_array__Array(var4
);
5222 var_listnode4
= var4
;
5223 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
5224 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
5225 CHECK_NEW_array__Array(var5
);
5226 var_listnode6
= var5
;
5227 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
5228 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
5229 CHECK_NEW_array__Array(var6
);
5230 var_listnode8
= var6
;
5231 var_listnode3
= var_nodearraylist1
;
5232 /* <var_listnode3:nullable Object> isa Array[Object] */
5233 cltype
= type_array__Arraykernel__Object
.color
;
5234 idtype
= type_array__Arraykernel__Object
.id
;
5235 if(var_listnode3
== NULL
) {
5238 if(cltype
>= var_listnode3
->type
->table_size
) {
5241 var7
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
5245 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5246 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2996);
5249 var8
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction38>*/;
5250 var_listnode4
= var8
;
5251 var_listnode5
= var_nodearraylist2
;
5252 /* <var_listnode5:nullable Object> isa Array[Object] */
5253 cltype10
= type_array__Arraykernel__Object
.color
;
5254 idtype11
= type_array__Arraykernel__Object
.id
;
5255 if(var_listnode5
== NULL
) {
5258 if(cltype10
>= var_listnode5
->type
->table_size
) {
5261 var9
= var_listnode5
->type
->type_table
[cltype10
] == idtype11
;
5265 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5266 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 2999);
5269 var12
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction38>*/;
5270 var_listnode6
= var12
;
5271 var_pclassdefnode7
= var_nodearraylist3
;
5272 /* <var_pclassdefnode7:nullable Object> isa nullable AClassdef */
5273 cltype14
= type_nullable_parser_nodes__AClassdef
.color
;
5274 idtype15
= type_nullable_parser_nodes__AClassdef
.id
;
5275 if(var_pclassdefnode7
== NULL
) {
5278 if(cltype14
>= var_pclassdefnode7
->type
->table_size
) {
5281 var13
= var_pclassdefnode7
->type
->type_table
[cltype14
] == idtype15
;
5285 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5286 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3002);
5290 if (var_pclassdefnode7
== NULL
) {
5291 var17
= 0; /* is null */
5293 var17
= 1; /* arg is null and recv is not */
5296 ((void (*)(val
*, val
*))(var_listnode8
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode8
, var_pclassdefnode7
) /* add on <var_listnode8:Array[Object]>*/;
5299 var18
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
5301 ((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>*/;
5302 CHECK_NEW_parser_nodes__AModule(var18
);
5303 var_pmodulenode1
= var18
;
5304 var_node_list
= var_pmodulenode1
;
5305 var20
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction38> */
5306 var21
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var20
) /* go_to on <var_p:Parser>*/;
5307 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var21
, var_node_list
) /* push on <var_p:Parser>*/;
5310 /* method parser#ReduceAction38#action for (self: Object, Parser) */
5311 void VIRTUAL_parser__ReduceAction38__action(val
* self
, val
* p0
) {
5312 parser__ReduceAction38__action(self
, p0
);
5315 /* method parser#ReduceAction39#action for (self: ReduceAction39, Parser) */
5316 void parser__ReduceAction39__action(val
* self
, val
* p0
) {
5317 val
* var_p
/* var p: Parser */;
5318 val
* var
/* : null */;
5319 val
* var_node_list
/* var node_list: nullable Object */;
5320 val
* var1
/* : nullable Object */;
5321 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5322 val
* var2
/* : nullable Object */;
5323 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5324 val
* var3
/* : nullable Object */;
5325 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5326 val
* var4
/* : nullable Object */;
5327 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5328 val
* var5
/* : Array[Object] */;
5329 val
* var_listnode4
/* var listnode4: Array[Object] */;
5330 val
* var6
/* : Array[Object] */;
5331 val
* var_listnode6
/* var listnode6: Array[Object] */;
5332 val
* var7
/* : Array[Object] */;
5333 val
* var_listnode8
/* var listnode8: Array[Object] */;
5334 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
5335 short int var8
/* : Bool */;
5338 val
* var_listnode3
/* var listnode3: nullable Object */;
5339 short int var9
/* : Bool */;
5342 val
* var12
/* : Array[Object] */;
5343 val
* var_listnode5
/* var listnode5: nullable Object */;
5344 short int var13
/* : Bool */;
5347 val
* var16
/* : Array[Object] */;
5348 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable Object */;
5349 short int var17
/* : Bool */;
5352 val
* var20
/* : null */;
5353 short int var21
/* : Bool */;
5354 val
* var22
/* : AModule */;
5355 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
5356 long var23
/* : Int */;
5357 long var24
/* : Int */;
5360 var_node_list
= var
;
5361 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5362 var_nodearraylist4
= var1
;
5363 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5364 var_nodearraylist3
= var2
;
5365 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5366 var_nodearraylist2
= var3
;
5367 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5368 var_nodearraylist1
= var4
;
5369 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
5370 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
5371 CHECK_NEW_array__Array(var5
);
5372 var_listnode4
= var5
;
5373 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
5374 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
5375 CHECK_NEW_array__Array(var6
);
5376 var_listnode6
= var6
;
5377 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
5378 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
5379 CHECK_NEW_array__Array(var7
);
5380 var_listnode8
= var7
;
5381 var_pmoduledeclnode2
= var_nodearraylist1
;
5382 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
5383 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
5384 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
5385 if(var_pmoduledeclnode2
== NULL
) {
5388 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
5391 var8
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
5395 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5396 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3029);
5399 var_listnode3
= var_nodearraylist2
;
5400 /* <var_listnode3:nullable Object> isa Array[Object] */
5401 cltype10
= type_array__Arraykernel__Object
.color
;
5402 idtype11
= type_array__Arraykernel__Object
.id
;
5403 if(var_listnode3
== NULL
) {
5406 if(cltype10
>= var_listnode3
->type
->table_size
) {
5409 var9
= var_listnode3
->type
->type_table
[cltype10
] == idtype11
;
5413 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5414 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3031);
5417 var12
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction39>*/;
5418 var_listnode4
= var12
;
5419 var_listnode5
= var_nodearraylist3
;
5420 /* <var_listnode5:nullable Object> isa Array[Object] */
5421 cltype14
= type_array__Arraykernel__Object
.color
;
5422 idtype15
= type_array__Arraykernel__Object
.id
;
5423 if(var_listnode5
== NULL
) {
5426 if(cltype14
>= var_listnode5
->type
->table_size
) {
5429 var13
= var_listnode5
->type
->type_table
[cltype14
] == idtype15
;
5433 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5434 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3034);
5437 var16
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction39>*/;
5438 var_listnode6
= var16
;
5439 var_pclassdefnode7
= var_nodearraylist4
;
5440 /* <var_pclassdefnode7:nullable Object> isa nullable AClassdef */
5441 cltype18
= type_nullable_parser_nodes__AClassdef
.color
;
5442 idtype19
= type_nullable_parser_nodes__AClassdef
.id
;
5443 if(var_pclassdefnode7
== NULL
) {
5446 if(cltype18
>= var_pclassdefnode7
->type
->table_size
) {
5449 var17
= var_pclassdefnode7
->type
->type_table
[cltype18
] == idtype19
;
5453 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5454 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3037);
5458 if (var_pclassdefnode7
== NULL
) {
5459 var21
= 0; /* is null */
5461 var21
= 1; /* arg is null and recv is not */
5464 ((void (*)(val
*, val
*))(var_listnode8
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode8
, var_pclassdefnode7
) /* add on <var_listnode8:Array[Object]>*/;
5467 var22
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
5468 ((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>*/;
5469 CHECK_NEW_parser_nodes__AModule(var22
);
5470 var_pmodulenode1
= var22
;
5471 var_node_list
= var_pmodulenode1
;
5472 var23
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction39> */
5473 var24
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var23
) /* go_to on <var_p:Parser>*/;
5474 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var24
, var_node_list
) /* push on <var_p:Parser>*/;
5477 /* method parser#ReduceAction39#action for (self: Object, Parser) */
5478 void VIRTUAL_parser__ReduceAction39__action(val
* self
, val
* p0
) {
5479 parser__ReduceAction39__action(self
, p0
);
5482 /* method parser#ReduceAction40#action for (self: ReduceAction40, Parser) */
5483 void parser__ReduceAction40__action(val
* self
, val
* p0
) {
5484 val
* var_p
/* var p: Parser */;
5485 val
* var
/* : null */;
5486 val
* var_node_list
/* var node_list: nullable Object */;
5487 val
* var1
/* : nullable Object */;
5488 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5489 val
* var2
/* : nullable Object */;
5490 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5491 val
* var3
/* : Array[Object] */;
5492 val
* var_listnode3
/* var listnode3: Array[Object] */;
5493 val
* var4
/* : Array[Object] */;
5494 val
* var_listnode4
/* var listnode4: Array[Object] */;
5495 val
* var5
/* : Array[Object] */;
5496 val
* var_listnode7
/* var listnode7: Array[Object] */;
5497 val
* var_listnode5
/* var listnode5: nullable Object */;
5498 short int var6
/* : Bool */;
5501 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable Object */;
5502 short int var7
/* : Bool */;
5505 val
* var10
/* : Array[Object] */;
5506 val
* var11
/* : null */;
5507 short int var12
/* : Bool */;
5508 val
* var13
/* : AModule */;
5509 val
* var14
/* : null */;
5510 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
5511 long var15
/* : Int */;
5512 long var16
/* : Int */;
5515 var_node_list
= var
;
5516 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5517 var_nodearraylist2
= var1
;
5518 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5519 var_nodearraylist1
= var2
;
5520 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
5521 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
5522 CHECK_NEW_array__Array(var3
);
5523 var_listnode3
= var3
;
5524 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
5525 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
5526 CHECK_NEW_array__Array(var4
);
5527 var_listnode4
= var4
;
5528 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
5529 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
5530 CHECK_NEW_array__Array(var5
);
5531 var_listnode7
= var5
;
5532 var_listnode5
= var_nodearraylist1
;
5533 /* <var_listnode5:nullable Object> isa Array[Object] */
5534 cltype
= type_array__Arraykernel__Object
.color
;
5535 idtype
= type_array__Arraykernel__Object
.id
;
5536 if(var_listnode5
== NULL
) {
5539 if(cltype
>= var_listnode5
->type
->table_size
) {
5542 var6
= var_listnode5
->type
->type_table
[cltype
] == idtype
;
5546 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5547 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3062);
5550 var_pclassdefnode6
= var_nodearraylist2
;
5551 /* <var_pclassdefnode6:nullable Object> isa nullable AClassdef */
5552 cltype8
= type_nullable_parser_nodes__AClassdef
.color
;
5553 idtype9
= type_nullable_parser_nodes__AClassdef
.id
;
5554 if(var_pclassdefnode6
== NULL
) {
5557 if(cltype8
>= var_pclassdefnode6
->type
->table_size
) {
5560 var7
= var_pclassdefnode6
->type
->type_table
[cltype8
] == idtype9
;
5564 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5565 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3064);
5568 var10
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode7
, var_listnode5
) /* concat on <self:ReduceAction40>*/;
5569 var_listnode7
= var10
;
5571 if (var_pclassdefnode6
== NULL
) {
5572 var12
= 0; /* is null */
5574 var12
= 1; /* arg is null and recv is not */
5577 ((void (*)(val
*, val
*))(var_listnode7
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode7
, var_pclassdefnode6
) /* add on <var_listnode7:Array[Object]>*/;
5580 var13
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
5582 ((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>*/;
5583 CHECK_NEW_parser_nodes__AModule(var13
);
5584 var_pmodulenode1
= var13
;
5585 var_node_list
= var_pmodulenode1
;
5586 var15
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction40> */
5587 var16
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var15
) /* go_to on <var_p:Parser>*/;
5588 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var16
, var_node_list
) /* push on <var_p:Parser>*/;
5591 /* method parser#ReduceAction40#action for (self: Object, Parser) */
5592 void VIRTUAL_parser__ReduceAction40__action(val
* self
, val
* p0
) {
5593 parser__ReduceAction40__action(self
, p0
);
5596 /* method parser#ReduceAction41#action for (self: ReduceAction41, Parser) */
5597 void parser__ReduceAction41__action(val
* self
, val
* p0
) {
5598 val
* var_p
/* var p: Parser */;
5599 val
* var
/* : null */;
5600 val
* var_node_list
/* var node_list: nullable Object */;
5601 val
* var1
/* : nullable Object */;
5602 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5603 val
* var2
/* : nullable Object */;
5604 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5605 val
* var3
/* : nullable Object */;
5606 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5607 val
* var4
/* : Array[Object] */;
5608 val
* var_listnode3
/* var listnode3: Array[Object] */;
5609 val
* var5
/* : Array[Object] */;
5610 val
* var_listnode4
/* var listnode4: Array[Object] */;
5611 val
* var6
/* : Array[Object] */;
5612 val
* var_listnode7
/* var listnode7: Array[Object] */;
5613 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
5614 short int var7
/* : Bool */;
5617 val
* var_listnode5
/* var listnode5: nullable Object */;
5618 short int var8
/* : Bool */;
5621 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable Object */;
5622 short int var11
/* : Bool */;
5625 val
* var14
/* : Array[Object] */;
5626 val
* var15
/* : null */;
5627 short int var16
/* : Bool */;
5628 val
* var17
/* : AModule */;
5629 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
5630 long var18
/* : Int */;
5631 long var19
/* : Int */;
5634 var_node_list
= var
;
5635 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5636 var_nodearraylist3
= var1
;
5637 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5638 var_nodearraylist2
= var2
;
5639 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5640 var_nodearraylist1
= var3
;
5641 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
5642 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
5643 CHECK_NEW_array__Array(var4
);
5644 var_listnode3
= var4
;
5645 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
5646 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
5647 CHECK_NEW_array__Array(var5
);
5648 var_listnode4
= var5
;
5649 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
5650 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
5651 CHECK_NEW_array__Array(var6
);
5652 var_listnode7
= var6
;
5653 var_pmoduledeclnode2
= var_nodearraylist1
;
5654 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
5655 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
5656 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
5657 if(var_pmoduledeclnode2
== NULL
) {
5660 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
5663 var7
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
5667 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5668 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3091);
5671 var_listnode5
= var_nodearraylist2
;
5672 /* <var_listnode5:nullable Object> isa Array[Object] */
5673 cltype9
= type_array__Arraykernel__Object
.color
;
5674 idtype10
= type_array__Arraykernel__Object
.id
;
5675 if(var_listnode5
== NULL
) {
5678 if(cltype9
>= var_listnode5
->type
->table_size
) {
5681 var8
= var_listnode5
->type
->type_table
[cltype9
] == idtype10
;
5685 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5686 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3093);
5689 var_pclassdefnode6
= var_nodearraylist3
;
5690 /* <var_pclassdefnode6:nullable Object> isa nullable AClassdef */
5691 cltype12
= type_nullable_parser_nodes__AClassdef
.color
;
5692 idtype13
= type_nullable_parser_nodes__AClassdef
.id
;
5693 if(var_pclassdefnode6
== NULL
) {
5696 if(cltype12
>= var_pclassdefnode6
->type
->table_size
) {
5699 var11
= var_pclassdefnode6
->type
->type_table
[cltype12
] == idtype13
;
5703 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5704 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3095);
5707 var14
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode7
, var_listnode5
) /* concat on <self:ReduceAction41>*/;
5708 var_listnode7
= var14
;
5710 if (var_pclassdefnode6
== NULL
) {
5711 var16
= 0; /* is null */
5713 var16
= 1; /* arg is null and recv is not */
5716 ((void (*)(val
*, val
*))(var_listnode7
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode7
, var_pclassdefnode6
) /* add on <var_listnode7:Array[Object]>*/;
5719 var17
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
5720 ((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>*/;
5721 CHECK_NEW_parser_nodes__AModule(var17
);
5722 var_pmodulenode1
= var17
;
5723 var_node_list
= var_pmodulenode1
;
5724 var18
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction41> */
5725 var19
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var18
) /* go_to on <var_p:Parser>*/;
5726 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var19
, var_node_list
) /* push on <var_p:Parser>*/;
5729 /* method parser#ReduceAction41#action for (self: Object, Parser) */
5730 void VIRTUAL_parser__ReduceAction41__action(val
* self
, val
* p0
) {
5731 parser__ReduceAction41__action(self
, p0
);
5734 /* method parser#ReduceAction42#action for (self: ReduceAction42, Parser) */
5735 void parser__ReduceAction42__action(val
* self
, val
* p0
) {
5736 val
* var_p
/* var p: Parser */;
5737 val
* var
/* : null */;
5738 val
* var_node_list
/* var node_list: nullable Object */;
5739 val
* var1
/* : nullable Object */;
5740 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5741 val
* var2
/* : nullable Object */;
5742 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5743 val
* var3
/* : nullable Object */;
5744 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5745 val
* var4
/* : Array[Object] */;
5746 val
* var_listnode4
/* var listnode4: Array[Object] */;
5747 val
* var5
/* : Array[Object] */;
5748 val
* var_listnode5
/* var listnode5: Array[Object] */;
5749 val
* var6
/* : Array[Object] */;
5750 val
* var_listnode8
/* var listnode8: Array[Object] */;
5751 val
* var_listnode3
/* var listnode3: nullable Object */;
5752 short int var7
/* : Bool */;
5755 val
* var8
/* : Array[Object] */;
5756 val
* var_listnode6
/* var listnode6: nullable Object */;
5757 short int var9
/* : Bool */;
5760 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable Object */;
5761 short int var12
/* : Bool */;
5764 val
* var15
/* : Array[Object] */;
5765 val
* var16
/* : null */;
5766 short int var17
/* : Bool */;
5767 val
* var18
/* : AModule */;
5768 val
* var19
/* : null */;
5769 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
5770 long var20
/* : Int */;
5771 long var21
/* : Int */;
5774 var_node_list
= var
;
5775 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5776 var_nodearraylist3
= var1
;
5777 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5778 var_nodearraylist2
= var2
;
5779 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5780 var_nodearraylist1
= var3
;
5781 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
5782 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
5783 CHECK_NEW_array__Array(var4
);
5784 var_listnode4
= var4
;
5785 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
5786 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
5787 CHECK_NEW_array__Array(var5
);
5788 var_listnode5
= var5
;
5789 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
5790 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
5791 CHECK_NEW_array__Array(var6
);
5792 var_listnode8
= var6
;
5793 var_listnode3
= var_nodearraylist1
;
5794 /* <var_listnode3:nullable Object> isa Array[Object] */
5795 cltype
= type_array__Arraykernel__Object
.color
;
5796 idtype
= type_array__Arraykernel__Object
.id
;
5797 if(var_listnode3
== NULL
) {
5800 if(cltype
>= var_listnode3
->type
->table_size
) {
5803 var7
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
5807 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5808 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3122);
5811 var8
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction42>*/;
5812 var_listnode4
= var8
;
5813 var_listnode6
= var_nodearraylist2
;
5814 /* <var_listnode6:nullable Object> isa Array[Object] */
5815 cltype10
= type_array__Arraykernel__Object
.color
;
5816 idtype11
= type_array__Arraykernel__Object
.id
;
5817 if(var_listnode6
== NULL
) {
5820 if(cltype10
>= var_listnode6
->type
->table_size
) {
5823 var9
= var_listnode6
->type
->type_table
[cltype10
] == idtype11
;
5827 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5828 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3125);
5831 var_pclassdefnode7
= var_nodearraylist3
;
5832 /* <var_pclassdefnode7:nullable Object> isa nullable AClassdef */
5833 cltype13
= type_nullable_parser_nodes__AClassdef
.color
;
5834 idtype14
= type_nullable_parser_nodes__AClassdef
.id
;
5835 if(var_pclassdefnode7
== NULL
) {
5838 if(cltype13
>= var_pclassdefnode7
->type
->table_size
) {
5841 var12
= var_pclassdefnode7
->type
->type_table
[cltype13
] == idtype14
;
5845 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5846 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3127);
5849 var15
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode6
) /* concat on <self:ReduceAction42>*/;
5850 var_listnode8
= var15
;
5852 if (var_pclassdefnode7
== NULL
) {
5853 var17
= 0; /* is null */
5855 var17
= 1; /* arg is null and recv is not */
5858 ((void (*)(val
*, val
*))(var_listnode8
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode8
, var_pclassdefnode7
) /* add on <var_listnode8:Array[Object]>*/;
5861 var18
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
5863 ((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>*/;
5864 CHECK_NEW_parser_nodes__AModule(var18
);
5865 var_pmodulenode1
= var18
;
5866 var_node_list
= var_pmodulenode1
;
5867 var20
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction42> */
5868 var21
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var20
) /* go_to on <var_p:Parser>*/;
5869 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var21
, var_node_list
) /* push on <var_p:Parser>*/;
5872 /* method parser#ReduceAction42#action for (self: Object, Parser) */
5873 void VIRTUAL_parser__ReduceAction42__action(val
* self
, val
* p0
) {
5874 parser__ReduceAction42__action(self
, p0
);
5877 /* method parser#ReduceAction43#action for (self: ReduceAction43, Parser) */
5878 void parser__ReduceAction43__action(val
* self
, val
* p0
) {
5879 val
* var_p
/* var p: Parser */;
5880 val
* var
/* : null */;
5881 val
* var_node_list
/* var node_list: nullable Object */;
5882 val
* var1
/* : nullable Object */;
5883 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5884 val
* var2
/* : nullable Object */;
5885 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5886 val
* var3
/* : nullable Object */;
5887 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5888 val
* var4
/* : nullable Object */;
5889 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5890 val
* var5
/* : Array[Object] */;
5891 val
* var_listnode4
/* var listnode4: Array[Object] */;
5892 val
* var6
/* : Array[Object] */;
5893 val
* var_listnode5
/* var listnode5: Array[Object] */;
5894 val
* var7
/* : Array[Object] */;
5895 val
* var_listnode8
/* var listnode8: Array[Object] */;
5896 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
5897 short int var8
/* : Bool */;
5900 val
* var_listnode3
/* var listnode3: nullable Object */;
5901 short int var9
/* : Bool */;
5904 val
* var12
/* : Array[Object] */;
5905 val
* var_listnode6
/* var listnode6: nullable Object */;
5906 short int var13
/* : Bool */;
5909 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable Object */;
5910 short int var16
/* : Bool */;
5913 val
* var19
/* : Array[Object] */;
5914 val
* var20
/* : null */;
5915 short int var21
/* : Bool */;
5916 val
* var22
/* : AModule */;
5917 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
5918 long var23
/* : Int */;
5919 long var24
/* : Int */;
5922 var_node_list
= var
;
5923 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5924 var_nodearraylist4
= var1
;
5925 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5926 var_nodearraylist3
= var2
;
5927 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5928 var_nodearraylist2
= var3
;
5929 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5930 var_nodearraylist1
= var4
;
5931 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
5932 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
5933 CHECK_NEW_array__Array(var5
);
5934 var_listnode4
= var5
;
5935 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
5936 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
5937 CHECK_NEW_array__Array(var6
);
5938 var_listnode5
= var6
;
5939 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
5940 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
5941 CHECK_NEW_array__Array(var7
);
5942 var_listnode8
= var7
;
5943 var_pmoduledeclnode2
= var_nodearraylist1
;
5944 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
5945 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
5946 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
5947 if(var_pmoduledeclnode2
== NULL
) {
5950 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
5953 var8
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
5957 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5958 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3155);
5961 var_listnode3
= var_nodearraylist2
;
5962 /* <var_listnode3:nullable Object> isa Array[Object] */
5963 cltype10
= type_array__Arraykernel__Object
.color
;
5964 idtype11
= type_array__Arraykernel__Object
.id
;
5965 if(var_listnode3
== NULL
) {
5968 if(cltype10
>= var_listnode3
->type
->table_size
) {
5971 var9
= var_listnode3
->type
->type_table
[cltype10
] == idtype11
;
5975 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5976 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3157);
5979 var12
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction43>*/;
5980 var_listnode4
= var12
;
5981 var_listnode6
= var_nodearraylist3
;
5982 /* <var_listnode6:nullable Object> isa Array[Object] */
5983 cltype14
= type_array__Arraykernel__Object
.color
;
5984 idtype15
= type_array__Arraykernel__Object
.id
;
5985 if(var_listnode6
== NULL
) {
5988 if(cltype14
>= var_listnode6
->type
->table_size
) {
5991 var13
= var_listnode6
->type
->type_table
[cltype14
] == idtype15
;
5995 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5996 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3160);
5999 var_pclassdefnode7
= var_nodearraylist4
;
6000 /* <var_pclassdefnode7:nullable Object> isa nullable AClassdef */
6001 cltype17
= type_nullable_parser_nodes__AClassdef
.color
;
6002 idtype18
= type_nullable_parser_nodes__AClassdef
.id
;
6003 if(var_pclassdefnode7
== NULL
) {
6006 if(cltype17
>= var_pclassdefnode7
->type
->table_size
) {
6009 var16
= var_pclassdefnode7
->type
->type_table
[cltype17
] == idtype18
;
6013 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6014 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3162);
6017 var19
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode6
) /* concat on <self:ReduceAction43>*/;
6018 var_listnode8
= var19
;
6020 if (var_pclassdefnode7
== NULL
) {
6021 var21
= 0; /* is null */
6023 var21
= 1; /* arg is null and recv is not */
6026 ((void (*)(val
*, val
*))(var_listnode8
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode8
, var_pclassdefnode7
) /* add on <var_listnode8:Array[Object]>*/;
6029 var22
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
6030 ((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>*/;
6031 CHECK_NEW_parser_nodes__AModule(var22
);
6032 var_pmodulenode1
= var22
;
6033 var_node_list
= var_pmodulenode1
;
6034 var23
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction43> */
6035 var24
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var23
) /* go_to on <var_p:Parser>*/;
6036 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var24
, var_node_list
) /* push on <var_p:Parser>*/;
6039 /* method parser#ReduceAction43#action for (self: Object, Parser) */
6040 void VIRTUAL_parser__ReduceAction43__action(val
* self
, val
* p0
) {
6041 parser__ReduceAction43__action(self
, p0
);
6044 /* method parser#ReduceAction44#action for (self: ReduceAction44, Parser) */
6045 void parser__ReduceAction44__action(val
* self
, val
* p0
) {
6046 val
* var_p
/* var p: Parser */;
6047 val
* var
/* : null */;
6048 val
* var_node_list
/* var node_list: nullable Object */;
6049 val
* var1
/* : nullable Object */;
6050 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6051 val
* var2
/* : nullable Object */;
6052 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6053 val
* var3
/* : nullable Object */;
6054 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6055 val
* var4
/* : Array[Object] */;
6056 val
* var_listnode3
/* var listnode3: Array[Object] */;
6057 val
* var5
/* : Array[Object] */;
6058 val
* var_listnode5
/* var listnode5: Array[Object] */;
6059 val
* var6
/* : Array[Object] */;
6060 val
* var_listnode8
/* var listnode8: Array[Object] */;
6061 val
* var_listnode4
/* var listnode4: nullable Object */;
6062 short int var7
/* : Bool */;
6065 val
* var8
/* : Array[Object] */;
6066 val
* var_listnode6
/* var listnode6: nullable Object */;
6067 short int var9
/* : Bool */;
6070 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable Object */;
6071 short int var12
/* : Bool */;
6074 val
* var15
/* : Array[Object] */;
6075 val
* var16
/* : null */;
6076 short int var17
/* : Bool */;
6077 val
* var18
/* : AModule */;
6078 val
* var19
/* : null */;
6079 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
6080 long var20
/* : Int */;
6081 long var21
/* : Int */;
6084 var_node_list
= var
;
6085 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6086 var_nodearraylist3
= var1
;
6087 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6088 var_nodearraylist2
= var2
;
6089 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6090 var_nodearraylist1
= var3
;
6091 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
6092 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
6093 CHECK_NEW_array__Array(var4
);
6094 var_listnode3
= var4
;
6095 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
6096 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
6097 CHECK_NEW_array__Array(var5
);
6098 var_listnode5
= var5
;
6099 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
6100 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
6101 CHECK_NEW_array__Array(var6
);
6102 var_listnode8
= var6
;
6103 var_listnode4
= var_nodearraylist1
;
6104 /* <var_listnode4:nullable Object> isa Array[Object] */
6105 cltype
= type_array__Arraykernel__Object
.color
;
6106 idtype
= type_array__Arraykernel__Object
.id
;
6107 if(var_listnode4
== NULL
) {
6110 if(cltype
>= var_listnode4
->type
->table_size
) {
6113 var7
= var_listnode4
->type
->type_table
[cltype
] == idtype
;
6117 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6118 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3189);
6121 var8
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction44>*/;
6122 var_listnode5
= var8
;
6123 var_listnode6
= var_nodearraylist2
;
6124 /* <var_listnode6:nullable Object> isa Array[Object] */
6125 cltype10
= type_array__Arraykernel__Object
.color
;
6126 idtype11
= type_array__Arraykernel__Object
.id
;
6127 if(var_listnode6
== NULL
) {
6130 if(cltype10
>= var_listnode6
->type
->table_size
) {
6133 var9
= var_listnode6
->type
->type_table
[cltype10
] == idtype11
;
6137 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6138 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3192);
6141 var_pclassdefnode7
= var_nodearraylist3
;
6142 /* <var_pclassdefnode7:nullable Object> isa nullable AClassdef */
6143 cltype13
= type_nullable_parser_nodes__AClassdef
.color
;
6144 idtype14
= type_nullable_parser_nodes__AClassdef
.id
;
6145 if(var_pclassdefnode7
== NULL
) {
6148 if(cltype13
>= var_pclassdefnode7
->type
->table_size
) {
6151 var12
= var_pclassdefnode7
->type
->type_table
[cltype13
] == idtype14
;
6155 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6156 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3194);
6159 var15
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode6
) /* concat on <self:ReduceAction44>*/;
6160 var_listnode8
= var15
;
6162 if (var_pclassdefnode7
== NULL
) {
6163 var17
= 0; /* is null */
6165 var17
= 1; /* arg is null and recv is not */
6168 ((void (*)(val
*, val
*))(var_listnode8
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode8
, var_pclassdefnode7
) /* add on <var_listnode8:Array[Object]>*/;
6171 var18
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
6173 ((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>*/;
6174 CHECK_NEW_parser_nodes__AModule(var18
);
6175 var_pmodulenode1
= var18
;
6176 var_node_list
= var_pmodulenode1
;
6177 var20
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction44> */
6178 var21
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var20
) /* go_to on <var_p:Parser>*/;
6179 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var21
, var_node_list
) /* push on <var_p:Parser>*/;
6182 /* method parser#ReduceAction44#action for (self: Object, Parser) */
6183 void VIRTUAL_parser__ReduceAction44__action(val
* self
, val
* p0
) {
6184 parser__ReduceAction44__action(self
, p0
);
6187 /* method parser#ReduceAction45#action for (self: ReduceAction45, Parser) */
6188 void parser__ReduceAction45__action(val
* self
, val
* p0
) {
6189 val
* var_p
/* var p: Parser */;
6190 val
* var
/* : null */;
6191 val
* var_node_list
/* var node_list: nullable Object */;
6192 val
* var1
/* : nullable Object */;
6193 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6194 val
* var2
/* : nullable Object */;
6195 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6196 val
* var3
/* : nullable Object */;
6197 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6198 val
* var4
/* : nullable Object */;
6199 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6200 val
* var5
/* : Array[Object] */;
6201 val
* var_listnode3
/* var listnode3: Array[Object] */;
6202 val
* var6
/* : Array[Object] */;
6203 val
* var_listnode5
/* var listnode5: Array[Object] */;
6204 val
* var7
/* : Array[Object] */;
6205 val
* var_listnode8
/* var listnode8: Array[Object] */;
6206 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
6207 short int var8
/* : Bool */;
6210 val
* var_listnode4
/* var listnode4: nullable Object */;
6211 short int var9
/* : Bool */;
6214 val
* var12
/* : Array[Object] */;
6215 val
* var_listnode6
/* var listnode6: nullable Object */;
6216 short int var13
/* : Bool */;
6219 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable Object */;
6220 short int var16
/* : Bool */;
6223 val
* var19
/* : Array[Object] */;
6224 val
* var20
/* : null */;
6225 short int var21
/* : Bool */;
6226 val
* var22
/* : AModule */;
6227 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
6228 long var23
/* : Int */;
6229 long var24
/* : Int */;
6232 var_node_list
= var
;
6233 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6234 var_nodearraylist4
= var1
;
6235 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6236 var_nodearraylist3
= var2
;
6237 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6238 var_nodearraylist2
= var3
;
6239 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6240 var_nodearraylist1
= var4
;
6241 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
6242 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
6243 CHECK_NEW_array__Array(var5
);
6244 var_listnode3
= var5
;
6245 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
6246 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
6247 CHECK_NEW_array__Array(var6
);
6248 var_listnode5
= var6
;
6249 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
6250 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
6251 CHECK_NEW_array__Array(var7
);
6252 var_listnode8
= var7
;
6253 var_pmoduledeclnode2
= var_nodearraylist1
;
6254 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
6255 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
6256 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
6257 if(var_pmoduledeclnode2
== NULL
) {
6260 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
6263 var8
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
6267 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6268 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3222);
6271 var_listnode4
= var_nodearraylist2
;
6272 /* <var_listnode4:nullable Object> isa Array[Object] */
6273 cltype10
= type_array__Arraykernel__Object
.color
;
6274 idtype11
= type_array__Arraykernel__Object
.id
;
6275 if(var_listnode4
== NULL
) {
6278 if(cltype10
>= var_listnode4
->type
->table_size
) {
6281 var9
= var_listnode4
->type
->type_table
[cltype10
] == idtype11
;
6285 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6286 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3224);
6289 var12
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction45>*/;
6290 var_listnode5
= var12
;
6291 var_listnode6
= var_nodearraylist3
;
6292 /* <var_listnode6:nullable Object> isa Array[Object] */
6293 cltype14
= type_array__Arraykernel__Object
.color
;
6294 idtype15
= type_array__Arraykernel__Object
.id
;
6295 if(var_listnode6
== NULL
) {
6298 if(cltype14
>= var_listnode6
->type
->table_size
) {
6301 var13
= var_listnode6
->type
->type_table
[cltype14
] == idtype15
;
6305 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6306 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3227);
6309 var_pclassdefnode7
= var_nodearraylist4
;
6310 /* <var_pclassdefnode7:nullable Object> isa nullable AClassdef */
6311 cltype17
= type_nullable_parser_nodes__AClassdef
.color
;
6312 idtype18
= type_nullable_parser_nodes__AClassdef
.id
;
6313 if(var_pclassdefnode7
== NULL
) {
6316 if(cltype17
>= var_pclassdefnode7
->type
->table_size
) {
6319 var16
= var_pclassdefnode7
->type
->type_table
[cltype17
] == idtype18
;
6323 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6324 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3229);
6327 var19
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode6
) /* concat on <self:ReduceAction45>*/;
6328 var_listnode8
= var19
;
6330 if (var_pclassdefnode7
== NULL
) {
6331 var21
= 0; /* is null */
6333 var21
= 1; /* arg is null and recv is not */
6336 ((void (*)(val
*, val
*))(var_listnode8
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode8
, var_pclassdefnode7
) /* add on <var_listnode8:Array[Object]>*/;
6339 var22
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
6340 ((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>*/;
6341 CHECK_NEW_parser_nodes__AModule(var22
);
6342 var_pmodulenode1
= var22
;
6343 var_node_list
= var_pmodulenode1
;
6344 var23
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction45> */
6345 var24
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var23
) /* go_to on <var_p:Parser>*/;
6346 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var24
, var_node_list
) /* push on <var_p:Parser>*/;
6349 /* method parser#ReduceAction45#action for (self: Object, Parser) */
6350 void VIRTUAL_parser__ReduceAction45__action(val
* self
, val
* p0
) {
6351 parser__ReduceAction45__action(self
, p0
);
6354 /* method parser#ReduceAction46#action for (self: ReduceAction46, Parser) */
6355 void parser__ReduceAction46__action(val
* self
, val
* p0
) {
6356 val
* var_p
/* var p: Parser */;
6357 val
* var
/* : null */;
6358 val
* var_node_list
/* var node_list: nullable Object */;
6359 val
* var1
/* : nullable Object */;
6360 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6361 val
* var2
/* : nullable Object */;
6362 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6363 val
* var3
/* : nullable Object */;
6364 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6365 val
* var4
/* : nullable Object */;
6366 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6367 val
* var5
/* : Array[Object] */;
6368 val
* var_listnode4
/* var listnode4: Array[Object] */;
6369 val
* var6
/* : Array[Object] */;
6370 val
* var_listnode6
/* var listnode6: Array[Object] */;
6371 val
* var7
/* : Array[Object] */;
6372 val
* var_listnode9
/* var listnode9: Array[Object] */;
6373 val
* var_listnode3
/* var listnode3: nullable Object */;
6374 short int var8
/* : Bool */;
6377 val
* var9
/* : Array[Object] */;
6378 val
* var_listnode5
/* var listnode5: nullable Object */;
6379 short int var10
/* : Bool */;
6382 val
* var13
/* : Array[Object] */;
6383 val
* var_listnode7
/* var listnode7: nullable Object */;
6384 short int var14
/* : Bool */;
6387 val
* var_pclassdefnode8
/* var pclassdefnode8: nullable Object */;
6388 short int var17
/* : Bool */;
6391 val
* var20
/* : Array[Object] */;
6392 val
* var21
/* : null */;
6393 short int var22
/* : Bool */;
6394 val
* var23
/* : AModule */;
6395 val
* var24
/* : null */;
6396 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
6397 long var25
/* : Int */;
6398 long var26
/* : Int */;
6401 var_node_list
= var
;
6402 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6403 var_nodearraylist4
= var1
;
6404 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6405 var_nodearraylist3
= var2
;
6406 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6407 var_nodearraylist2
= var3
;
6408 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6409 var_nodearraylist1
= var4
;
6410 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
6411 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
6412 CHECK_NEW_array__Array(var5
);
6413 var_listnode4
= var5
;
6414 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
6415 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
6416 CHECK_NEW_array__Array(var6
);
6417 var_listnode6
= var6
;
6418 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
6419 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
6420 CHECK_NEW_array__Array(var7
);
6421 var_listnode9
= var7
;
6422 var_listnode3
= var_nodearraylist1
;
6423 /* <var_listnode3:nullable Object> isa Array[Object] */
6424 cltype
= type_array__Arraykernel__Object
.color
;
6425 idtype
= type_array__Arraykernel__Object
.id
;
6426 if(var_listnode3
== NULL
) {
6429 if(cltype
>= var_listnode3
->type
->table_size
) {
6432 var8
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
6436 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6437 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3257);
6440 var9
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction46>*/;
6441 var_listnode4
= var9
;
6442 var_listnode5
= var_nodearraylist2
;
6443 /* <var_listnode5:nullable Object> isa Array[Object] */
6444 cltype11
= type_array__Arraykernel__Object
.color
;
6445 idtype12
= type_array__Arraykernel__Object
.id
;
6446 if(var_listnode5
== NULL
) {
6449 if(cltype11
>= var_listnode5
->type
->table_size
) {
6452 var10
= var_listnode5
->type
->type_table
[cltype11
] == idtype12
;
6456 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6457 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3260);
6460 var13
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction46>*/;
6461 var_listnode6
= var13
;
6462 var_listnode7
= var_nodearraylist3
;
6463 /* <var_listnode7:nullable Object> isa Array[Object] */
6464 cltype15
= type_array__Arraykernel__Object
.color
;
6465 idtype16
= type_array__Arraykernel__Object
.id
;
6466 if(var_listnode7
== NULL
) {
6469 if(cltype15
>= var_listnode7
->type
->table_size
) {
6472 var14
= var_listnode7
->type
->type_table
[cltype15
] == idtype16
;
6476 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6477 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3263);
6480 var_pclassdefnode8
= var_nodearraylist4
;
6481 /* <var_pclassdefnode8:nullable Object> isa nullable AClassdef */
6482 cltype18
= type_nullable_parser_nodes__AClassdef
.color
;
6483 idtype19
= type_nullable_parser_nodes__AClassdef
.id
;
6484 if(var_pclassdefnode8
== NULL
) {
6487 if(cltype18
>= var_pclassdefnode8
->type
->table_size
) {
6490 var17
= var_pclassdefnode8
->type
->type_table
[cltype18
] == idtype19
;
6494 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6495 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3265);
6498 var20
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode9
, var_listnode7
) /* concat on <self:ReduceAction46>*/;
6499 var_listnode9
= var20
;
6501 if (var_pclassdefnode8
== NULL
) {
6502 var22
= 0; /* is null */
6504 var22
= 1; /* arg is null and recv is not */
6507 ((void (*)(val
*, val
*))(var_listnode9
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode9
, var_pclassdefnode8
) /* add on <var_listnode9:Array[Object]>*/;
6510 var23
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
6512 ((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>*/;
6513 CHECK_NEW_parser_nodes__AModule(var23
);
6514 var_pmodulenode1
= var23
;
6515 var_node_list
= var_pmodulenode1
;
6516 var25
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction46> */
6517 var26
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var25
) /* go_to on <var_p:Parser>*/;
6518 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var26
, var_node_list
) /* push on <var_p:Parser>*/;
6521 /* method parser#ReduceAction46#action for (self: Object, Parser) */
6522 void VIRTUAL_parser__ReduceAction46__action(val
* self
, val
* p0
) {
6523 parser__ReduceAction46__action(self
, p0
);
6526 /* method parser#ReduceAction47#action for (self: ReduceAction47, Parser) */
6527 void parser__ReduceAction47__action(val
* self
, val
* p0
) {
6528 val
* var_p
/* var p: Parser */;
6529 val
* var
/* : null */;
6530 val
* var_node_list
/* var node_list: nullable Object */;
6531 val
* var1
/* : nullable Object */;
6532 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6533 val
* var2
/* : nullable Object */;
6534 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6535 val
* var3
/* : nullable Object */;
6536 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6537 val
* var4
/* : nullable Object */;
6538 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6539 val
* var5
/* : nullable Object */;
6540 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6541 val
* var6
/* : Array[Object] */;
6542 val
* var_listnode4
/* var listnode4: Array[Object] */;
6543 val
* var7
/* : Array[Object] */;
6544 val
* var_listnode6
/* var listnode6: Array[Object] */;
6545 val
* var8
/* : Array[Object] */;
6546 val
* var_listnode9
/* var listnode9: Array[Object] */;
6547 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
6548 short int var9
/* : Bool */;
6551 val
* var_listnode3
/* var listnode3: nullable Object */;
6552 short int var10
/* : Bool */;
6555 val
* var13
/* : Array[Object] */;
6556 val
* var_listnode5
/* var listnode5: nullable Object */;
6557 short int var14
/* : Bool */;
6560 val
* var17
/* : Array[Object] */;
6561 val
* var_listnode7
/* var listnode7: nullable Object */;
6562 short int var18
/* : Bool */;
6565 val
* var_pclassdefnode8
/* var pclassdefnode8: nullable Object */;
6566 short int var21
/* : Bool */;
6569 val
* var24
/* : Array[Object] */;
6570 val
* var25
/* : null */;
6571 short int var26
/* : Bool */;
6572 val
* var27
/* : AModule */;
6573 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
6574 long var28
/* : Int */;
6575 long var29
/* : Int */;
6578 var_node_list
= var
;
6579 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6580 var_nodearraylist5
= var1
;
6581 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6582 var_nodearraylist4
= var2
;
6583 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6584 var_nodearraylist3
= var3
;
6585 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6586 var_nodearraylist2
= var4
;
6587 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6588 var_nodearraylist1
= var5
;
6589 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
6590 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
6591 CHECK_NEW_array__Array(var6
);
6592 var_listnode4
= var6
;
6593 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
6594 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
6595 CHECK_NEW_array__Array(var7
);
6596 var_listnode6
= var7
;
6597 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
6598 ((void (*)(val
*))(var8
->class->vft
[COLOR_array__Array__init
]))(var8
) /* init on <var8:Array[Object]>*/;
6599 CHECK_NEW_array__Array(var8
);
6600 var_listnode9
= var8
;
6601 var_pmoduledeclnode2
= var_nodearraylist1
;
6602 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
6603 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
6604 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
6605 if(var_pmoduledeclnode2
== NULL
) {
6608 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
6611 var9
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
6615 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6616 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3294);
6619 var_listnode3
= var_nodearraylist2
;
6620 /* <var_listnode3:nullable Object> isa Array[Object] */
6621 cltype11
= type_array__Arraykernel__Object
.color
;
6622 idtype12
= type_array__Arraykernel__Object
.id
;
6623 if(var_listnode3
== NULL
) {
6626 if(cltype11
>= var_listnode3
->type
->table_size
) {
6629 var10
= var_listnode3
->type
->type_table
[cltype11
] == idtype12
;
6633 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6634 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3296);
6637 var13
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction47>*/;
6638 var_listnode4
= var13
;
6639 var_listnode5
= var_nodearraylist3
;
6640 /* <var_listnode5:nullable Object> isa Array[Object] */
6641 cltype15
= type_array__Arraykernel__Object
.color
;
6642 idtype16
= type_array__Arraykernel__Object
.id
;
6643 if(var_listnode5
== NULL
) {
6646 if(cltype15
>= var_listnode5
->type
->table_size
) {
6649 var14
= var_listnode5
->type
->type_table
[cltype15
] == idtype16
;
6653 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6654 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3299);
6657 var17
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction47>*/;
6658 var_listnode6
= var17
;
6659 var_listnode7
= var_nodearraylist4
;
6660 /* <var_listnode7:nullable Object> isa Array[Object] */
6661 cltype19
= type_array__Arraykernel__Object
.color
;
6662 idtype20
= type_array__Arraykernel__Object
.id
;
6663 if(var_listnode7
== NULL
) {
6666 if(cltype19
>= var_listnode7
->type
->table_size
) {
6669 var18
= var_listnode7
->type
->type_table
[cltype19
] == idtype20
;
6673 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6674 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3302);
6677 var_pclassdefnode8
= var_nodearraylist5
;
6678 /* <var_pclassdefnode8:nullable Object> isa nullable AClassdef */
6679 cltype22
= type_nullable_parser_nodes__AClassdef
.color
;
6680 idtype23
= type_nullable_parser_nodes__AClassdef
.id
;
6681 if(var_pclassdefnode8
== NULL
) {
6684 if(cltype22
>= var_pclassdefnode8
->type
->table_size
) {
6687 var21
= var_pclassdefnode8
->type
->type_table
[cltype22
] == idtype23
;
6691 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6692 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3304);
6695 var24
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode9
, var_listnode7
) /* concat on <self:ReduceAction47>*/;
6696 var_listnode9
= var24
;
6698 if (var_pclassdefnode8
== NULL
) {
6699 var26
= 0; /* is null */
6701 var26
= 1; /* arg is null and recv is not */
6704 ((void (*)(val
*, val
*))(var_listnode9
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode9
, var_pclassdefnode8
) /* add on <var_listnode9:Array[Object]>*/;
6707 var27
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
6708 ((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>*/;
6709 CHECK_NEW_parser_nodes__AModule(var27
);
6710 var_pmodulenode1
= var27
;
6711 var_node_list
= var_pmodulenode1
;
6712 var28
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction47> */
6713 var29
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var28
) /* go_to on <var_p:Parser>*/;
6714 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var29
, var_node_list
) /* push on <var_p:Parser>*/;
6717 /* method parser#ReduceAction47#action for (self: Object, Parser) */
6718 void VIRTUAL_parser__ReduceAction47__action(val
* self
, val
* p0
) {
6719 parser__ReduceAction47__action(self
, p0
);
6722 /* method parser#ReduceAction48#action for (self: ReduceAction48, Parser) */
6723 void parser__ReduceAction48__action(val
* self
, val
* p0
) {
6724 val
* var_p
/* var p: Parser */;
6725 val
* var
/* : null */;
6726 val
* var_node_list
/* var node_list: nullable Object */;
6727 val
* var1
/* : nullable Object */;
6728 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6729 val
* var2
/* : nullable Object */;
6730 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6731 val
* var3
/* : Array[Object] */;
6732 val
* var_listnode3
/* var listnode3: Array[Object] */;
6733 val
* var4
/* : Array[Object] */;
6734 val
* var_listnode4
/* var listnode4: Array[Object] */;
6735 val
* var5
/* : Array[Object] */;
6736 val
* var_listnode9
/* var listnode9: Array[Object] */;
6737 val
* var6
/* : Array[Object] */;
6738 val
* var_listnode7
/* var listnode7: Array[Object] */;
6739 val
* var_listnode6
/* var listnode6: nullable Object */;
6740 short int var7
/* : Bool */;
6743 val
* var8
/* : Array[Object] */;
6744 val
* var9
/* : ATopClassdef */;
6745 val
* var_pclassdefnode5
/* var pclassdefnode5: nullable ATopClassdef */;
6746 val
* var_pclassdefnode8
/* var pclassdefnode8: nullable Object */;
6747 short int var10
/* : Bool */;
6750 val
* var13
/* : null */;
6751 short int var14
/* : Bool */;
6752 val
* var15
/* : null */;
6753 short int var16
/* : Bool */;
6754 val
* var17
/* : AModule */;
6755 val
* var18
/* : null */;
6756 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
6757 long var19
/* : Int */;
6758 long var20
/* : Int */;
6761 var_node_list
= var
;
6762 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6763 var_nodearraylist2
= var1
;
6764 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6765 var_nodearraylist1
= var2
;
6766 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
6767 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
6768 CHECK_NEW_array__Array(var3
);
6769 var_listnode3
= var3
;
6770 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
6771 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
6772 CHECK_NEW_array__Array(var4
);
6773 var_listnode4
= var4
;
6774 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
6775 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
6776 CHECK_NEW_array__Array(var5
);
6777 var_listnode9
= var5
;
6778 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
6779 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
6780 CHECK_NEW_array__Array(var6
);
6781 var_listnode7
= var6
;
6782 var_listnode6
= var_nodearraylist1
;
6783 /* <var_listnode6:nullable Object> isa Array[Object] */
6784 cltype
= type_array__Arraykernel__Object
.color
;
6785 idtype
= type_array__Arraykernel__Object
.id
;
6786 if(var_listnode6
== NULL
) {
6789 if(cltype
>= var_listnode6
->type
->table_size
) {
6792 var7
= var_listnode6
->type
->type_table
[cltype
] == idtype
;
6796 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6797 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3331);
6800 var8
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode7
, var_listnode6
) /* concat on <self:ReduceAction48>*/;
6801 var_listnode7
= var8
;
6802 var9
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
6803 ((void (*)(val
*, val
*))(var9
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var9
, var_listnode7
) /* init_atopclassdef on <var9:ATopClassdef>*/;
6804 CHECK_NEW_parser_nodes__ATopClassdef(var9
);
6805 var_pclassdefnode5
= var9
;
6806 var_pclassdefnode8
= var_nodearraylist2
;
6807 /* <var_pclassdefnode8:nullable Object> isa nullable AClassdef */
6808 cltype11
= type_nullable_parser_nodes__AClassdef
.color
;
6809 idtype12
= type_nullable_parser_nodes__AClassdef
.id
;
6810 if(var_pclassdefnode8
== NULL
) {
6813 if(cltype11
>= var_pclassdefnode8
->type
->table_size
) {
6816 var10
= var_pclassdefnode8
->type
->type_table
[cltype11
] == idtype12
;
6820 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6821 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3337);
6825 if (var_pclassdefnode5
== NULL
) {
6826 var14
= 0; /* is null */
6828 var14
= 1; /* arg is null and recv is not */
6831 ((void (*)(val
*, val
*))(var_listnode9
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode9
, var_pclassdefnode5
) /* add on <var_listnode9:Array[Object]>*/;
6835 if (var_pclassdefnode8
== NULL
) {
6836 var16
= 0; /* is null */
6838 var16
= 1; /* arg is null and recv is not */
6841 ((void (*)(val
*, val
*))(var_listnode9
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode9
, var_pclassdefnode8
) /* add on <var_listnode9:Array[Object]>*/;
6844 var17
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
6846 ((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>*/;
6847 CHECK_NEW_parser_nodes__AModule(var17
);
6848 var_pmodulenode1
= var17
;
6849 var_node_list
= var_pmodulenode1
;
6850 var19
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction48> */
6851 var20
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var19
) /* go_to on <var_p:Parser>*/;
6852 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var20
, var_node_list
) /* push on <var_p:Parser>*/;
6855 /* method parser#ReduceAction48#action for (self: Object, Parser) */
6856 void VIRTUAL_parser__ReduceAction48__action(val
* self
, val
* p0
) {
6857 parser__ReduceAction48__action(self
, p0
);
6860 /* method parser#ReduceAction49#action for (self: ReduceAction49, Parser) */
6861 void parser__ReduceAction49__action(val
* self
, val
* p0
) {
6862 val
* var_p
/* var p: Parser */;
6863 val
* var
/* : null */;
6864 val
* var_node_list
/* var node_list: nullable Object */;
6865 val
* var1
/* : nullable Object */;
6866 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6867 val
* var2
/* : nullable Object */;
6868 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6869 val
* var3
/* : nullable Object */;
6870 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6871 val
* var4
/* : Array[Object] */;
6872 val
* var_listnode3
/* var listnode3: Array[Object] */;
6873 val
* var5
/* : Array[Object] */;
6874 val
* var_listnode4
/* var listnode4: Array[Object] */;
6875 val
* var6
/* : Array[Object] */;
6876 val
* var_listnode9
/* var listnode9: Array[Object] */;
6877 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
6878 short int var7
/* : Bool */;
6881 val
* var8
/* : Array[Object] */;
6882 val
* var_listnode7
/* var listnode7: Array[Object] */;
6883 val
* var_listnode6
/* var listnode6: nullable Object */;
6884 short int var9
/* : Bool */;
6887 val
* var12
/* : Array[Object] */;
6888 val
* var13
/* : ATopClassdef */;
6889 val
* var_pclassdefnode5
/* var pclassdefnode5: nullable ATopClassdef */;
6890 val
* var_pclassdefnode8
/* var pclassdefnode8: nullable Object */;
6891 short int var14
/* : Bool */;
6894 val
* var17
/* : null */;
6895 short int var18
/* : Bool */;
6896 val
* var19
/* : null */;
6897 short int var20
/* : Bool */;
6898 val
* var21
/* : AModule */;
6899 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
6900 long var22
/* : Int */;
6901 long var23
/* : Int */;
6904 var_node_list
= var
;
6905 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6906 var_nodearraylist3
= var1
;
6907 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6908 var_nodearraylist2
= var2
;
6909 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6910 var_nodearraylist1
= var3
;
6911 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
6912 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
6913 CHECK_NEW_array__Array(var4
);
6914 var_listnode3
= var4
;
6915 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
6916 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
6917 CHECK_NEW_array__Array(var5
);
6918 var_listnode4
= var5
;
6919 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
6920 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
6921 CHECK_NEW_array__Array(var6
);
6922 var_listnode9
= var6
;
6923 var_pmoduledeclnode2
= var_nodearraylist1
;
6924 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
6925 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
6926 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
6927 if(var_pmoduledeclnode2
== NULL
) {
6930 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
6933 var7
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
6937 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6938 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3366);
6941 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
6942 ((void (*)(val
*))(var8
->class->vft
[COLOR_array__Array__init
]))(var8
) /* init on <var8:Array[Object]>*/;
6943 CHECK_NEW_array__Array(var8
);
6944 var_listnode7
= var8
;
6945 var_listnode6
= var_nodearraylist2
;
6946 /* <var_listnode6:nullable Object> isa Array[Object] */
6947 cltype10
= type_array__Arraykernel__Object
.color
;
6948 idtype11
= type_array__Arraykernel__Object
.id
;
6949 if(var_listnode6
== NULL
) {
6952 if(cltype10
>= var_listnode6
->type
->table_size
) {
6955 var9
= var_listnode6
->type
->type_table
[cltype10
] == idtype11
;
6959 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6960 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3369);
6963 var12
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode7
, var_listnode6
) /* concat on <self:ReduceAction49>*/;
6964 var_listnode7
= var12
;
6965 var13
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
6966 ((void (*)(val
*, val
*))(var13
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var13
, var_listnode7
) /* init_atopclassdef on <var13:ATopClassdef>*/;
6967 CHECK_NEW_parser_nodes__ATopClassdef(var13
);
6968 var_pclassdefnode5
= var13
;
6969 var_pclassdefnode8
= var_nodearraylist3
;
6970 /* <var_pclassdefnode8:nullable Object> isa nullable AClassdef */
6971 cltype15
= type_nullable_parser_nodes__AClassdef
.color
;
6972 idtype16
= type_nullable_parser_nodes__AClassdef
.id
;
6973 if(var_pclassdefnode8
== NULL
) {
6976 if(cltype15
>= var_pclassdefnode8
->type
->table_size
) {
6979 var14
= var_pclassdefnode8
->type
->type_table
[cltype15
] == idtype16
;
6983 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6984 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3375);
6988 if (var_pclassdefnode5
== NULL
) {
6989 var18
= 0; /* is null */
6991 var18
= 1; /* arg is null and recv is not */
6994 ((void (*)(val
*, val
*))(var_listnode9
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode9
, var_pclassdefnode5
) /* add on <var_listnode9:Array[Object]>*/;
6998 if (var_pclassdefnode8
== NULL
) {
6999 var20
= 0; /* is null */
7001 var20
= 1; /* arg is null and recv is not */
7004 ((void (*)(val
*, val
*))(var_listnode9
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode9
, var_pclassdefnode8
) /* add on <var_listnode9:Array[Object]>*/;
7007 var21
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
7008 ((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>*/;
7009 CHECK_NEW_parser_nodes__AModule(var21
);
7010 var_pmodulenode1
= var21
;
7011 var_node_list
= var_pmodulenode1
;
7012 var22
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction49> */
7013 var23
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var22
) /* go_to on <var_p:Parser>*/;
7014 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var23
, var_node_list
) /* push on <var_p:Parser>*/;
7017 /* method parser#ReduceAction49#action for (self: Object, Parser) */
7018 void VIRTUAL_parser__ReduceAction49__action(val
* self
, val
* p0
) {
7019 parser__ReduceAction49__action(self
, p0
);
7022 /* method parser#ReduceAction50#action for (self: ReduceAction50, Parser) */
7023 void parser__ReduceAction50__action(val
* self
, val
* p0
) {
7024 val
* var_p
/* var p: Parser */;
7025 val
* var
/* : null */;
7026 val
* var_node_list
/* var node_list: nullable Object */;
7027 val
* var1
/* : nullable Object */;
7028 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7029 val
* var2
/* : nullable Object */;
7030 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7031 val
* var3
/* : nullable Object */;
7032 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7033 val
* var4
/* : Array[Object] */;
7034 val
* var_listnode4
/* var listnode4: Array[Object] */;
7035 val
* var5
/* : Array[Object] */;
7036 val
* var_listnode5
/* var listnode5: Array[Object] */;
7037 val
* var6
/* : Array[Object] */;
7038 val
* var_listnode10
/* var listnode10: Array[Object] */;
7039 val
* var_listnode3
/* var listnode3: nullable Object */;
7040 short int var7
/* : Bool */;
7043 val
* var8
/* : Array[Object] */;
7044 val
* var9
/* : Array[Object] */;
7045 val
* var_listnode8
/* var listnode8: Array[Object] */;
7046 val
* var_listnode7
/* var listnode7: nullable Object */;
7047 short int var10
/* : Bool */;
7050 val
* var13
/* : Array[Object] */;
7051 val
* var14
/* : ATopClassdef */;
7052 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable ATopClassdef */;
7053 val
* var_pclassdefnode9
/* var pclassdefnode9: nullable Object */;
7054 short int var15
/* : Bool */;
7057 val
* var18
/* : null */;
7058 short int var19
/* : Bool */;
7059 val
* var20
/* : null */;
7060 short int var21
/* : Bool */;
7061 val
* var22
/* : AModule */;
7062 val
* var23
/* : null */;
7063 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
7064 long var24
/* : Int */;
7065 long var25
/* : Int */;
7068 var_node_list
= var
;
7069 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7070 var_nodearraylist3
= var1
;
7071 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7072 var_nodearraylist2
= var2
;
7073 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7074 var_nodearraylist1
= var3
;
7075 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
7076 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
7077 CHECK_NEW_array__Array(var4
);
7078 var_listnode4
= var4
;
7079 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
7080 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
7081 CHECK_NEW_array__Array(var5
);
7082 var_listnode5
= var5
;
7083 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
7084 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
7085 CHECK_NEW_array__Array(var6
);
7086 var_listnode10
= var6
;
7087 var_listnode3
= var_nodearraylist1
;
7088 /* <var_listnode3:nullable Object> isa Array[Object] */
7089 cltype
= type_array__Arraykernel__Object
.color
;
7090 idtype
= type_array__Arraykernel__Object
.id
;
7091 if(var_listnode3
== NULL
) {
7094 if(cltype
>= var_listnode3
->type
->table_size
) {
7097 var7
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
7101 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7102 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3404);
7105 var8
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction50>*/;
7106 var_listnode4
= var8
;
7107 var9
= NEW_array__Array(&type_array__Arraykernel__Object
);
7108 ((void (*)(val
*))(var9
->class->vft
[COLOR_array__Array__init
]))(var9
) /* init on <var9:Array[Object]>*/;
7109 CHECK_NEW_array__Array(var9
);
7110 var_listnode8
= var9
;
7111 var_listnode7
= var_nodearraylist2
;
7112 /* <var_listnode7:nullable Object> isa Array[Object] */
7113 cltype11
= type_array__Arraykernel__Object
.color
;
7114 idtype12
= type_array__Arraykernel__Object
.id
;
7115 if(var_listnode7
== NULL
) {
7118 if(cltype11
>= var_listnode7
->type
->table_size
) {
7121 var10
= var_listnode7
->type
->type_table
[cltype11
] == idtype12
;
7125 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7126 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3408);
7129 var13
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode7
) /* concat on <self:ReduceAction50>*/;
7130 var_listnode8
= var13
;
7131 var14
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
7132 ((void (*)(val
*, val
*))(var14
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var14
, var_listnode8
) /* init_atopclassdef on <var14:ATopClassdef>*/;
7133 CHECK_NEW_parser_nodes__ATopClassdef(var14
);
7134 var_pclassdefnode6
= var14
;
7135 var_pclassdefnode9
= var_nodearraylist3
;
7136 /* <var_pclassdefnode9:nullable Object> isa nullable AClassdef */
7137 cltype16
= type_nullable_parser_nodes__AClassdef
.color
;
7138 idtype17
= type_nullable_parser_nodes__AClassdef
.id
;
7139 if(var_pclassdefnode9
== NULL
) {
7142 if(cltype16
>= var_pclassdefnode9
->type
->table_size
) {
7145 var15
= var_pclassdefnode9
->type
->type_table
[cltype16
] == idtype17
;
7149 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7150 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3414);
7154 if (var_pclassdefnode6
== NULL
) {
7155 var19
= 0; /* is null */
7157 var19
= 1; /* arg is null and recv is not */
7160 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode6
) /* add on <var_listnode10:Array[Object]>*/;
7164 if (var_pclassdefnode9
== NULL
) {
7165 var21
= 0; /* is null */
7167 var21
= 1; /* arg is null and recv is not */
7170 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode9
) /* add on <var_listnode10:Array[Object]>*/;
7173 var22
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
7175 ((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>*/;
7176 CHECK_NEW_parser_nodes__AModule(var22
);
7177 var_pmodulenode1
= var22
;
7178 var_node_list
= var_pmodulenode1
;
7179 var24
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction50> */
7180 var25
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var24
) /* go_to on <var_p:Parser>*/;
7181 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var25
, var_node_list
) /* push on <var_p:Parser>*/;
7184 /* method parser#ReduceAction50#action for (self: Object, Parser) */
7185 void VIRTUAL_parser__ReduceAction50__action(val
* self
, val
* p0
) {
7186 parser__ReduceAction50__action(self
, p0
);
7189 /* method parser#ReduceAction51#action for (self: ReduceAction51, Parser) */
7190 void parser__ReduceAction51__action(val
* self
, val
* p0
) {
7191 val
* var_p
/* var p: Parser */;
7192 val
* var
/* : null */;
7193 val
* var_node_list
/* var node_list: nullable Object */;
7194 val
* var1
/* : nullable Object */;
7195 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7196 val
* var2
/* : nullable Object */;
7197 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7198 val
* var3
/* : nullable Object */;
7199 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7200 val
* var4
/* : nullable Object */;
7201 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7202 val
* var5
/* : Array[Object] */;
7203 val
* var_listnode4
/* var listnode4: Array[Object] */;
7204 val
* var6
/* : Array[Object] */;
7205 val
* var_listnode5
/* var listnode5: Array[Object] */;
7206 val
* var7
/* : Array[Object] */;
7207 val
* var_listnode10
/* var listnode10: Array[Object] */;
7208 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
7209 short int var8
/* : Bool */;
7212 val
* var_listnode3
/* var listnode3: nullable Object */;
7213 short int var9
/* : Bool */;
7216 val
* var12
/* : Array[Object] */;
7217 val
* var13
/* : Array[Object] */;
7218 val
* var_listnode8
/* var listnode8: Array[Object] */;
7219 val
* var_listnode7
/* var listnode7: nullable Object */;
7220 short int var14
/* : Bool */;
7223 val
* var17
/* : Array[Object] */;
7224 val
* var18
/* : ATopClassdef */;
7225 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable ATopClassdef */;
7226 val
* var_pclassdefnode9
/* var pclassdefnode9: nullable Object */;
7227 short int var19
/* : Bool */;
7230 val
* var22
/* : null */;
7231 short int var23
/* : Bool */;
7232 val
* var24
/* : null */;
7233 short int var25
/* : Bool */;
7234 val
* var26
/* : AModule */;
7235 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
7236 long var27
/* : Int */;
7237 long var28
/* : Int */;
7240 var_node_list
= var
;
7241 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7242 var_nodearraylist4
= var1
;
7243 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7244 var_nodearraylist3
= var2
;
7245 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7246 var_nodearraylist2
= var3
;
7247 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7248 var_nodearraylist1
= var4
;
7249 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
7250 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
7251 CHECK_NEW_array__Array(var5
);
7252 var_listnode4
= var5
;
7253 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
7254 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
7255 CHECK_NEW_array__Array(var6
);
7256 var_listnode5
= var6
;
7257 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
7258 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
7259 CHECK_NEW_array__Array(var7
);
7260 var_listnode10
= var7
;
7261 var_pmoduledeclnode2
= var_nodearraylist1
;
7262 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
7263 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
7264 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
7265 if(var_pmoduledeclnode2
== NULL
) {
7268 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
7271 var8
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
7275 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7276 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3444);
7279 var_listnode3
= var_nodearraylist2
;
7280 /* <var_listnode3:nullable Object> isa Array[Object] */
7281 cltype10
= type_array__Arraykernel__Object
.color
;
7282 idtype11
= type_array__Arraykernel__Object
.id
;
7283 if(var_listnode3
== NULL
) {
7286 if(cltype10
>= var_listnode3
->type
->table_size
) {
7289 var9
= var_listnode3
->type
->type_table
[cltype10
] == idtype11
;
7293 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7294 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3446);
7297 var12
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction51>*/;
7298 var_listnode4
= var12
;
7299 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
7300 ((void (*)(val
*))(var13
->class->vft
[COLOR_array__Array__init
]))(var13
) /* init on <var13:Array[Object]>*/;
7301 CHECK_NEW_array__Array(var13
);
7302 var_listnode8
= var13
;
7303 var_listnode7
= var_nodearraylist3
;
7304 /* <var_listnode7:nullable Object> isa Array[Object] */
7305 cltype15
= type_array__Arraykernel__Object
.color
;
7306 idtype16
= type_array__Arraykernel__Object
.id
;
7307 if(var_listnode7
== NULL
) {
7310 if(cltype15
>= var_listnode7
->type
->table_size
) {
7313 var14
= var_listnode7
->type
->type_table
[cltype15
] == idtype16
;
7317 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7318 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3450);
7321 var17
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode7
) /* concat on <self:ReduceAction51>*/;
7322 var_listnode8
= var17
;
7323 var18
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
7324 ((void (*)(val
*, val
*))(var18
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var18
, var_listnode8
) /* init_atopclassdef on <var18:ATopClassdef>*/;
7325 CHECK_NEW_parser_nodes__ATopClassdef(var18
);
7326 var_pclassdefnode6
= var18
;
7327 var_pclassdefnode9
= var_nodearraylist4
;
7328 /* <var_pclassdefnode9:nullable Object> isa nullable AClassdef */
7329 cltype20
= type_nullable_parser_nodes__AClassdef
.color
;
7330 idtype21
= type_nullable_parser_nodes__AClassdef
.id
;
7331 if(var_pclassdefnode9
== NULL
) {
7334 if(cltype20
>= var_pclassdefnode9
->type
->table_size
) {
7337 var19
= var_pclassdefnode9
->type
->type_table
[cltype20
] == idtype21
;
7341 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7342 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3456);
7346 if (var_pclassdefnode6
== NULL
) {
7347 var23
= 0; /* is null */
7349 var23
= 1; /* arg is null and recv is not */
7352 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode6
) /* add on <var_listnode10:Array[Object]>*/;
7356 if (var_pclassdefnode9
== NULL
) {
7357 var25
= 0; /* is null */
7359 var25
= 1; /* arg is null and recv is not */
7362 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode9
) /* add on <var_listnode10:Array[Object]>*/;
7365 var26
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
7366 ((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>*/;
7367 CHECK_NEW_parser_nodes__AModule(var26
);
7368 var_pmodulenode1
= var26
;
7369 var_node_list
= var_pmodulenode1
;
7370 var27
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction51> */
7371 var28
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var27
) /* go_to on <var_p:Parser>*/;
7372 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var28
, var_node_list
) /* push on <var_p:Parser>*/;
7375 /* method parser#ReduceAction51#action for (self: Object, Parser) */
7376 void VIRTUAL_parser__ReduceAction51__action(val
* self
, val
* p0
) {
7377 parser__ReduceAction51__action(self
, p0
);
7380 /* method parser#ReduceAction52#action for (self: ReduceAction52, Parser) */
7381 void parser__ReduceAction52__action(val
* self
, val
* p0
) {
7382 val
* var_p
/* var p: Parser */;
7383 val
* var
/* : null */;
7384 val
* var_node_list
/* var node_list: nullable Object */;
7385 val
* var1
/* : nullable Object */;
7386 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7387 val
* var2
/* : nullable Object */;
7388 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7389 val
* var3
/* : nullable Object */;
7390 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7391 val
* var4
/* : Array[Object] */;
7392 val
* var_listnode3
/* var listnode3: Array[Object] */;
7393 val
* var5
/* : Array[Object] */;
7394 val
* var_listnode5
/* var listnode5: Array[Object] */;
7395 val
* var6
/* : Array[Object] */;
7396 val
* var_listnode10
/* var listnode10: Array[Object] */;
7397 val
* var_listnode4
/* var listnode4: nullable Object */;
7398 short int var7
/* : Bool */;
7401 val
* var8
/* : Array[Object] */;
7402 val
* var9
/* : Array[Object] */;
7403 val
* var_listnode8
/* var listnode8: Array[Object] */;
7404 val
* var_listnode7
/* var listnode7: nullable Object */;
7405 short int var10
/* : Bool */;
7408 val
* var13
/* : Array[Object] */;
7409 val
* var14
/* : ATopClassdef */;
7410 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable ATopClassdef */;
7411 val
* var_pclassdefnode9
/* var pclassdefnode9: nullable Object */;
7412 short int var15
/* : Bool */;
7415 val
* var18
/* : null */;
7416 short int var19
/* : Bool */;
7417 val
* var20
/* : null */;
7418 short int var21
/* : Bool */;
7419 val
* var22
/* : AModule */;
7420 val
* var23
/* : null */;
7421 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
7422 long var24
/* : Int */;
7423 long var25
/* : Int */;
7426 var_node_list
= var
;
7427 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7428 var_nodearraylist3
= var1
;
7429 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7430 var_nodearraylist2
= var2
;
7431 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7432 var_nodearraylist1
= var3
;
7433 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
7434 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
7435 CHECK_NEW_array__Array(var4
);
7436 var_listnode3
= var4
;
7437 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
7438 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
7439 CHECK_NEW_array__Array(var5
);
7440 var_listnode5
= var5
;
7441 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
7442 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
7443 CHECK_NEW_array__Array(var6
);
7444 var_listnode10
= var6
;
7445 var_listnode4
= var_nodearraylist1
;
7446 /* <var_listnode4:nullable Object> isa Array[Object] */
7447 cltype
= type_array__Arraykernel__Object
.color
;
7448 idtype
= type_array__Arraykernel__Object
.id
;
7449 if(var_listnode4
== NULL
) {
7452 if(cltype
>= var_listnode4
->type
->table_size
) {
7455 var7
= var_listnode4
->type
->type_table
[cltype
] == idtype
;
7459 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7460 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3485);
7463 var8
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction52>*/;
7464 var_listnode5
= var8
;
7465 var9
= NEW_array__Array(&type_array__Arraykernel__Object
);
7466 ((void (*)(val
*))(var9
->class->vft
[COLOR_array__Array__init
]))(var9
) /* init on <var9:Array[Object]>*/;
7467 CHECK_NEW_array__Array(var9
);
7468 var_listnode8
= var9
;
7469 var_listnode7
= var_nodearraylist2
;
7470 /* <var_listnode7:nullable Object> isa Array[Object] */
7471 cltype11
= type_array__Arraykernel__Object
.color
;
7472 idtype12
= type_array__Arraykernel__Object
.id
;
7473 if(var_listnode7
== NULL
) {
7476 if(cltype11
>= var_listnode7
->type
->table_size
) {
7479 var10
= var_listnode7
->type
->type_table
[cltype11
] == idtype12
;
7483 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7484 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3489);
7487 var13
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode7
) /* concat on <self:ReduceAction52>*/;
7488 var_listnode8
= var13
;
7489 var14
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
7490 ((void (*)(val
*, val
*))(var14
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var14
, var_listnode8
) /* init_atopclassdef on <var14:ATopClassdef>*/;
7491 CHECK_NEW_parser_nodes__ATopClassdef(var14
);
7492 var_pclassdefnode6
= var14
;
7493 var_pclassdefnode9
= var_nodearraylist3
;
7494 /* <var_pclassdefnode9:nullable Object> isa nullable AClassdef */
7495 cltype16
= type_nullable_parser_nodes__AClassdef
.color
;
7496 idtype17
= type_nullable_parser_nodes__AClassdef
.id
;
7497 if(var_pclassdefnode9
== NULL
) {
7500 if(cltype16
>= var_pclassdefnode9
->type
->table_size
) {
7503 var15
= var_pclassdefnode9
->type
->type_table
[cltype16
] == idtype17
;
7507 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7508 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3495);
7512 if (var_pclassdefnode6
== NULL
) {
7513 var19
= 0; /* is null */
7515 var19
= 1; /* arg is null and recv is not */
7518 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode6
) /* add on <var_listnode10:Array[Object]>*/;
7522 if (var_pclassdefnode9
== NULL
) {
7523 var21
= 0; /* is null */
7525 var21
= 1; /* arg is null and recv is not */
7528 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode9
) /* add on <var_listnode10:Array[Object]>*/;
7531 var22
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
7533 ((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>*/;
7534 CHECK_NEW_parser_nodes__AModule(var22
);
7535 var_pmodulenode1
= var22
;
7536 var_node_list
= var_pmodulenode1
;
7537 var24
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction52> */
7538 var25
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var24
) /* go_to on <var_p:Parser>*/;
7539 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var25
, var_node_list
) /* push on <var_p:Parser>*/;
7542 /* method parser#ReduceAction52#action for (self: Object, Parser) */
7543 void VIRTUAL_parser__ReduceAction52__action(val
* self
, val
* p0
) {
7544 parser__ReduceAction52__action(self
, p0
);
7547 /* method parser#ReduceAction53#action for (self: ReduceAction53, Parser) */
7548 void parser__ReduceAction53__action(val
* self
, val
* p0
) {
7549 val
* var_p
/* var p: Parser */;
7550 val
* var
/* : null */;
7551 val
* var_node_list
/* var node_list: nullable Object */;
7552 val
* var1
/* : nullable Object */;
7553 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7554 val
* var2
/* : nullable Object */;
7555 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7556 val
* var3
/* : nullable Object */;
7557 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7558 val
* var4
/* : nullable Object */;
7559 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7560 val
* var5
/* : Array[Object] */;
7561 val
* var_listnode3
/* var listnode3: Array[Object] */;
7562 val
* var6
/* : Array[Object] */;
7563 val
* var_listnode5
/* var listnode5: Array[Object] */;
7564 val
* var7
/* : Array[Object] */;
7565 val
* var_listnode10
/* var listnode10: Array[Object] */;
7566 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
7567 short int var8
/* : Bool */;
7570 val
* var_listnode4
/* var listnode4: nullable Object */;
7571 short int var9
/* : Bool */;
7574 val
* var12
/* : Array[Object] */;
7575 val
* var13
/* : Array[Object] */;
7576 val
* var_listnode8
/* var listnode8: Array[Object] */;
7577 val
* var_listnode7
/* var listnode7: nullable Object */;
7578 short int var14
/* : Bool */;
7581 val
* var17
/* : Array[Object] */;
7582 val
* var18
/* : ATopClassdef */;
7583 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable ATopClassdef */;
7584 val
* var_pclassdefnode9
/* var pclassdefnode9: nullable Object */;
7585 short int var19
/* : Bool */;
7588 val
* var22
/* : null */;
7589 short int var23
/* : Bool */;
7590 val
* var24
/* : null */;
7591 short int var25
/* : Bool */;
7592 val
* var26
/* : AModule */;
7593 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
7594 long var27
/* : Int */;
7595 long var28
/* : Int */;
7598 var_node_list
= var
;
7599 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7600 var_nodearraylist4
= var1
;
7601 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7602 var_nodearraylist3
= var2
;
7603 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7604 var_nodearraylist2
= var3
;
7605 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7606 var_nodearraylist1
= var4
;
7607 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
7608 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
7609 CHECK_NEW_array__Array(var5
);
7610 var_listnode3
= var5
;
7611 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
7612 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
7613 CHECK_NEW_array__Array(var6
);
7614 var_listnode5
= var6
;
7615 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
7616 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
7617 CHECK_NEW_array__Array(var7
);
7618 var_listnode10
= var7
;
7619 var_pmoduledeclnode2
= var_nodearraylist1
;
7620 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
7621 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
7622 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
7623 if(var_pmoduledeclnode2
== NULL
) {
7626 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
7629 var8
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
7633 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7634 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3525);
7637 var_listnode4
= var_nodearraylist2
;
7638 /* <var_listnode4:nullable Object> isa Array[Object] */
7639 cltype10
= type_array__Arraykernel__Object
.color
;
7640 idtype11
= type_array__Arraykernel__Object
.id
;
7641 if(var_listnode4
== NULL
) {
7644 if(cltype10
>= var_listnode4
->type
->table_size
) {
7647 var9
= var_listnode4
->type
->type_table
[cltype10
] == idtype11
;
7651 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7652 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3527);
7655 var12
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction53>*/;
7656 var_listnode5
= var12
;
7657 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
7658 ((void (*)(val
*))(var13
->class->vft
[COLOR_array__Array__init
]))(var13
) /* init on <var13:Array[Object]>*/;
7659 CHECK_NEW_array__Array(var13
);
7660 var_listnode8
= var13
;
7661 var_listnode7
= var_nodearraylist3
;
7662 /* <var_listnode7:nullable Object> isa Array[Object] */
7663 cltype15
= type_array__Arraykernel__Object
.color
;
7664 idtype16
= type_array__Arraykernel__Object
.id
;
7665 if(var_listnode7
== NULL
) {
7668 if(cltype15
>= var_listnode7
->type
->table_size
) {
7671 var14
= var_listnode7
->type
->type_table
[cltype15
] == idtype16
;
7675 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7676 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3531);
7679 var17
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode7
) /* concat on <self:ReduceAction53>*/;
7680 var_listnode8
= var17
;
7681 var18
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
7682 ((void (*)(val
*, val
*))(var18
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var18
, var_listnode8
) /* init_atopclassdef on <var18:ATopClassdef>*/;
7683 CHECK_NEW_parser_nodes__ATopClassdef(var18
);
7684 var_pclassdefnode6
= var18
;
7685 var_pclassdefnode9
= var_nodearraylist4
;
7686 /* <var_pclassdefnode9:nullable Object> isa nullable AClassdef */
7687 cltype20
= type_nullable_parser_nodes__AClassdef
.color
;
7688 idtype21
= type_nullable_parser_nodes__AClassdef
.id
;
7689 if(var_pclassdefnode9
== NULL
) {
7692 if(cltype20
>= var_pclassdefnode9
->type
->table_size
) {
7695 var19
= var_pclassdefnode9
->type
->type_table
[cltype20
] == idtype21
;
7699 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7700 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3537);
7704 if (var_pclassdefnode6
== NULL
) {
7705 var23
= 0; /* is null */
7707 var23
= 1; /* arg is null and recv is not */
7710 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode6
) /* add on <var_listnode10:Array[Object]>*/;
7714 if (var_pclassdefnode9
== NULL
) {
7715 var25
= 0; /* is null */
7717 var25
= 1; /* arg is null and recv is not */
7720 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode9
) /* add on <var_listnode10:Array[Object]>*/;
7723 var26
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
7724 ((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>*/;
7725 CHECK_NEW_parser_nodes__AModule(var26
);
7726 var_pmodulenode1
= var26
;
7727 var_node_list
= var_pmodulenode1
;
7728 var27
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction53> */
7729 var28
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var27
) /* go_to on <var_p:Parser>*/;
7730 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var28
, var_node_list
) /* push on <var_p:Parser>*/;
7733 /* method parser#ReduceAction53#action for (self: Object, Parser) */
7734 void VIRTUAL_parser__ReduceAction53__action(val
* self
, val
* p0
) {
7735 parser__ReduceAction53__action(self
, p0
);
7738 /* method parser#ReduceAction54#action for (self: ReduceAction54, Parser) */
7739 void parser__ReduceAction54__action(val
* self
, val
* p0
) {
7740 val
* var_p
/* var p: Parser */;
7741 val
* var
/* : null */;
7742 val
* var_node_list
/* var node_list: nullable Object */;
7743 val
* var1
/* : nullable Object */;
7744 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7745 val
* var2
/* : nullable Object */;
7746 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7747 val
* var3
/* : nullable Object */;
7748 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7749 val
* var4
/* : nullable Object */;
7750 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7751 val
* var5
/* : Array[Object] */;
7752 val
* var_listnode4
/* var listnode4: Array[Object] */;
7753 val
* var6
/* : Array[Object] */;
7754 val
* var_listnode6
/* var listnode6: Array[Object] */;
7755 val
* var7
/* : Array[Object] */;
7756 val
* var_listnode11
/* var listnode11: Array[Object] */;
7757 val
* var_listnode3
/* var listnode3: nullable Object */;
7758 short int var8
/* : Bool */;
7761 val
* var9
/* : Array[Object] */;
7762 val
* var_listnode5
/* var listnode5: nullable Object */;
7763 short int var10
/* : Bool */;
7766 val
* var13
/* : Array[Object] */;
7767 val
* var14
/* : Array[Object] */;
7768 val
* var_listnode9
/* var listnode9: Array[Object] */;
7769 val
* var_listnode8
/* var listnode8: nullable Object */;
7770 short int var15
/* : Bool */;
7773 val
* var18
/* : Array[Object] */;
7774 val
* var19
/* : ATopClassdef */;
7775 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable ATopClassdef */;
7776 val
* var_pclassdefnode10
/* var pclassdefnode10: nullable Object */;
7777 short int var20
/* : Bool */;
7780 val
* var23
/* : null */;
7781 short int var24
/* : Bool */;
7782 val
* var25
/* : null */;
7783 short int var26
/* : Bool */;
7784 val
* var27
/* : AModule */;
7785 val
* var28
/* : null */;
7786 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
7787 long var29
/* : Int */;
7788 long var30
/* : Int */;
7791 var_node_list
= var
;
7792 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7793 var_nodearraylist4
= var1
;
7794 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7795 var_nodearraylist3
= var2
;
7796 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7797 var_nodearraylist2
= var3
;
7798 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7799 var_nodearraylist1
= var4
;
7800 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
7801 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
7802 CHECK_NEW_array__Array(var5
);
7803 var_listnode4
= var5
;
7804 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
7805 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
7806 CHECK_NEW_array__Array(var6
);
7807 var_listnode6
= var6
;
7808 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
7809 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
7810 CHECK_NEW_array__Array(var7
);
7811 var_listnode11
= var7
;
7812 var_listnode3
= var_nodearraylist1
;
7813 /* <var_listnode3:nullable Object> isa Array[Object] */
7814 cltype
= type_array__Arraykernel__Object
.color
;
7815 idtype
= type_array__Arraykernel__Object
.id
;
7816 if(var_listnode3
== NULL
) {
7819 if(cltype
>= var_listnode3
->type
->table_size
) {
7822 var8
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
7826 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7827 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3567);
7830 var9
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction54>*/;
7831 var_listnode4
= var9
;
7832 var_listnode5
= var_nodearraylist2
;
7833 /* <var_listnode5:nullable Object> isa Array[Object] */
7834 cltype11
= type_array__Arraykernel__Object
.color
;
7835 idtype12
= type_array__Arraykernel__Object
.id
;
7836 if(var_listnode5
== NULL
) {
7839 if(cltype11
>= var_listnode5
->type
->table_size
) {
7842 var10
= var_listnode5
->type
->type_table
[cltype11
] == idtype12
;
7846 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7847 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3570);
7850 var13
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction54>*/;
7851 var_listnode6
= var13
;
7852 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
7853 ((void (*)(val
*))(var14
->class->vft
[COLOR_array__Array__init
]))(var14
) /* init on <var14:Array[Object]>*/;
7854 CHECK_NEW_array__Array(var14
);
7855 var_listnode9
= var14
;
7856 var_listnode8
= var_nodearraylist3
;
7857 /* <var_listnode8:nullable Object> isa Array[Object] */
7858 cltype16
= type_array__Arraykernel__Object
.color
;
7859 idtype17
= type_array__Arraykernel__Object
.id
;
7860 if(var_listnode8
== NULL
) {
7863 if(cltype16
>= var_listnode8
->type
->table_size
) {
7866 var15
= var_listnode8
->type
->type_table
[cltype16
] == idtype17
;
7870 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7871 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3574);
7874 var18
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode9
, var_listnode8
) /* concat on <self:ReduceAction54>*/;
7875 var_listnode9
= var18
;
7876 var19
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
7877 ((void (*)(val
*, val
*))(var19
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var19
, var_listnode9
) /* init_atopclassdef on <var19:ATopClassdef>*/;
7878 CHECK_NEW_parser_nodes__ATopClassdef(var19
);
7879 var_pclassdefnode7
= var19
;
7880 var_pclassdefnode10
= var_nodearraylist4
;
7881 /* <var_pclassdefnode10:nullable Object> isa nullable AClassdef */
7882 cltype21
= type_nullable_parser_nodes__AClassdef
.color
;
7883 idtype22
= type_nullable_parser_nodes__AClassdef
.id
;
7884 if(var_pclassdefnode10
== NULL
) {
7887 if(cltype21
>= var_pclassdefnode10
->type
->table_size
) {
7890 var20
= var_pclassdefnode10
->type
->type_table
[cltype21
] == idtype22
;
7894 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7895 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3580);
7899 if (var_pclassdefnode7
== NULL
) {
7900 var24
= 0; /* is null */
7902 var24
= 1; /* arg is null and recv is not */
7905 ((void (*)(val
*, val
*))(var_listnode11
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode11
, var_pclassdefnode7
) /* add on <var_listnode11:Array[Object]>*/;
7909 if (var_pclassdefnode10
== NULL
) {
7910 var26
= 0; /* is null */
7912 var26
= 1; /* arg is null and recv is not */
7915 ((void (*)(val
*, val
*))(var_listnode11
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode11
, var_pclassdefnode10
) /* add on <var_listnode11:Array[Object]>*/;
7918 var27
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
7920 ((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>*/;
7921 CHECK_NEW_parser_nodes__AModule(var27
);
7922 var_pmodulenode1
= var27
;
7923 var_node_list
= var_pmodulenode1
;
7924 var29
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction54> */
7925 var30
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var29
) /* go_to on <var_p:Parser>*/;
7926 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var30
, var_node_list
) /* push on <var_p:Parser>*/;
7929 /* method parser#ReduceAction54#action for (self: Object, Parser) */
7930 void VIRTUAL_parser__ReduceAction54__action(val
* self
, val
* p0
) {
7931 parser__ReduceAction54__action(self
, p0
);
7934 /* method parser#ReduceAction55#action for (self: ReduceAction55, Parser) */
7935 void parser__ReduceAction55__action(val
* self
, val
* p0
) {
7936 val
* var_p
/* var p: Parser */;
7937 val
* var
/* : null */;
7938 val
* var_node_list
/* var node_list: nullable Object */;
7939 val
* var1
/* : nullable Object */;
7940 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7941 val
* var2
/* : nullable Object */;
7942 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7943 val
* var3
/* : nullable Object */;
7944 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7945 val
* var4
/* : nullable Object */;
7946 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7947 val
* var5
/* : nullable Object */;
7948 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7949 val
* var6
/* : Array[Object] */;
7950 val
* var_listnode4
/* var listnode4: Array[Object] */;
7951 val
* var7
/* : Array[Object] */;
7952 val
* var_listnode6
/* var listnode6: Array[Object] */;
7953 val
* var8
/* : Array[Object] */;
7954 val
* var_listnode11
/* var listnode11: Array[Object] */;
7955 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
7956 short int var9
/* : Bool */;
7959 val
* var_listnode3
/* var listnode3: nullable Object */;
7960 short int var10
/* : Bool */;
7963 val
* var13
/* : Array[Object] */;
7964 val
* var_listnode5
/* var listnode5: nullable Object */;
7965 short int var14
/* : Bool */;
7968 val
* var17
/* : Array[Object] */;
7969 val
* var18
/* : Array[Object] */;
7970 val
* var_listnode9
/* var listnode9: Array[Object] */;
7971 val
* var_listnode8
/* var listnode8: nullable Object */;
7972 short int var19
/* : Bool */;
7975 val
* var22
/* : Array[Object] */;
7976 val
* var23
/* : ATopClassdef */;
7977 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable ATopClassdef */;
7978 val
* var_pclassdefnode10
/* var pclassdefnode10: nullable Object */;
7979 short int var24
/* : Bool */;
7982 val
* var27
/* : null */;
7983 short int var28
/* : Bool */;
7984 val
* var29
/* : null */;
7985 short int var30
/* : Bool */;
7986 val
* var31
/* : AModule */;
7987 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
7988 long var32
/* : Int */;
7989 long var33
/* : Int */;
7992 var_node_list
= var
;
7993 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7994 var_nodearraylist5
= var1
;
7995 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7996 var_nodearraylist4
= var2
;
7997 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7998 var_nodearraylist3
= var3
;
7999 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8000 var_nodearraylist2
= var4
;
8001 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8002 var_nodearraylist1
= var5
;
8003 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
8004 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
8005 CHECK_NEW_array__Array(var6
);
8006 var_listnode4
= var6
;
8007 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
8008 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
8009 CHECK_NEW_array__Array(var7
);
8010 var_listnode6
= var7
;
8011 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
8012 ((void (*)(val
*))(var8
->class->vft
[COLOR_array__Array__init
]))(var8
) /* init on <var8:Array[Object]>*/;
8013 CHECK_NEW_array__Array(var8
);
8014 var_listnode11
= var8
;
8015 var_pmoduledeclnode2
= var_nodearraylist1
;
8016 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
8017 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
8018 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
8019 if(var_pmoduledeclnode2
== NULL
) {
8022 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
8025 var9
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
8029 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8030 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3611);
8033 var_listnode3
= var_nodearraylist2
;
8034 /* <var_listnode3:nullable Object> isa Array[Object] */
8035 cltype11
= type_array__Arraykernel__Object
.color
;
8036 idtype12
= type_array__Arraykernel__Object
.id
;
8037 if(var_listnode3
== NULL
) {
8040 if(cltype11
>= var_listnode3
->type
->table_size
) {
8043 var10
= var_listnode3
->type
->type_table
[cltype11
] == idtype12
;
8047 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8048 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3613);
8051 var13
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction55>*/;
8052 var_listnode4
= var13
;
8053 var_listnode5
= var_nodearraylist3
;
8054 /* <var_listnode5:nullable Object> isa Array[Object] */
8055 cltype15
= type_array__Arraykernel__Object
.color
;
8056 idtype16
= type_array__Arraykernel__Object
.id
;
8057 if(var_listnode5
== NULL
) {
8060 if(cltype15
>= var_listnode5
->type
->table_size
) {
8063 var14
= var_listnode5
->type
->type_table
[cltype15
] == idtype16
;
8067 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8068 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3616);
8071 var17
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction55>*/;
8072 var_listnode6
= var17
;
8073 var18
= NEW_array__Array(&type_array__Arraykernel__Object
);
8074 ((void (*)(val
*))(var18
->class->vft
[COLOR_array__Array__init
]))(var18
) /* init on <var18:Array[Object]>*/;
8075 CHECK_NEW_array__Array(var18
);
8076 var_listnode9
= var18
;
8077 var_listnode8
= var_nodearraylist4
;
8078 /* <var_listnode8:nullable Object> isa Array[Object] */
8079 cltype20
= type_array__Arraykernel__Object
.color
;
8080 idtype21
= type_array__Arraykernel__Object
.id
;
8081 if(var_listnode8
== NULL
) {
8084 if(cltype20
>= var_listnode8
->type
->table_size
) {
8087 var19
= var_listnode8
->type
->type_table
[cltype20
] == idtype21
;
8091 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8092 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3620);
8095 var22
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode9
, var_listnode8
) /* concat on <self:ReduceAction55>*/;
8096 var_listnode9
= var22
;
8097 var23
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
8098 ((void (*)(val
*, val
*))(var23
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var23
, var_listnode9
) /* init_atopclassdef on <var23:ATopClassdef>*/;
8099 CHECK_NEW_parser_nodes__ATopClassdef(var23
);
8100 var_pclassdefnode7
= var23
;
8101 var_pclassdefnode10
= var_nodearraylist5
;
8102 /* <var_pclassdefnode10:nullable Object> isa nullable AClassdef */
8103 cltype25
= type_nullable_parser_nodes__AClassdef
.color
;
8104 idtype26
= type_nullable_parser_nodes__AClassdef
.id
;
8105 if(var_pclassdefnode10
== NULL
) {
8108 if(cltype25
>= var_pclassdefnode10
->type
->table_size
) {
8111 var24
= var_pclassdefnode10
->type
->type_table
[cltype25
] == idtype26
;
8115 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8116 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3626);
8120 if (var_pclassdefnode7
== NULL
) {
8121 var28
= 0; /* is null */
8123 var28
= 1; /* arg is null and recv is not */
8126 ((void (*)(val
*, val
*))(var_listnode11
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode11
, var_pclassdefnode7
) /* add on <var_listnode11:Array[Object]>*/;
8130 if (var_pclassdefnode10
== NULL
) {
8131 var30
= 0; /* is null */
8133 var30
= 1; /* arg is null and recv is not */
8136 ((void (*)(val
*, val
*))(var_listnode11
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode11
, var_pclassdefnode10
) /* add on <var_listnode11:Array[Object]>*/;
8139 var31
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
8140 ((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>*/;
8141 CHECK_NEW_parser_nodes__AModule(var31
);
8142 var_pmodulenode1
= var31
;
8143 var_node_list
= var_pmodulenode1
;
8144 var32
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction55> */
8145 var33
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var32
) /* go_to on <var_p:Parser>*/;
8146 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var33
, var_node_list
) /* push on <var_p:Parser>*/;
8149 /* method parser#ReduceAction55#action for (self: Object, Parser) */
8150 void VIRTUAL_parser__ReduceAction55__action(val
* self
, val
* p0
) {
8151 parser__ReduceAction55__action(self
, p0
);
8154 /* method parser#ReduceAction56#action for (self: ReduceAction56, Parser) */
8155 void parser__ReduceAction56__action(val
* self
, val
* p0
) {
8156 val
* var_p
/* var p: Parser */;
8157 val
* var
/* : null */;
8158 val
* var_node_list
/* var node_list: nullable Object */;
8159 val
* var1
/* : nullable Object */;
8160 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8161 val
* var2
/* : nullable Object */;
8162 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8163 val
* var3
/* : nullable Object */;
8164 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8165 val
* var4
/* : Array[Object] */;
8166 val
* var_listnode3
/* var listnode3: Array[Object] */;
8167 val
* var5
/* : Array[Object] */;
8168 val
* var_listnode4
/* var listnode4: Array[Object] */;
8169 val
* var6
/* : Array[Object] */;
8170 val
* var_listnode10
/* var listnode10: Array[Object] */;
8171 val
* var_listnode5
/* var listnode5: nullable Object */;
8172 short int var7
/* : Bool */;
8175 val
* var8
/* : Array[Object] */;
8176 val
* var_listnode8
/* var listnode8: Array[Object] */;
8177 val
* var_listnode7
/* var listnode7: nullable Object */;
8178 short int var9
/* : Bool */;
8181 val
* var12
/* : Array[Object] */;
8182 val
* var13
/* : ATopClassdef */;
8183 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable ATopClassdef */;
8184 val
* var_pclassdefnode9
/* var pclassdefnode9: nullable Object */;
8185 short int var14
/* : Bool */;
8188 val
* var17
/* : Array[Object] */;
8189 val
* var18
/* : null */;
8190 short int var19
/* : Bool */;
8191 val
* var20
/* : null */;
8192 short int var21
/* : Bool */;
8193 val
* var22
/* : AModule */;
8194 val
* var23
/* : null */;
8195 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
8196 long var24
/* : Int */;
8197 long var25
/* : Int */;
8200 var_node_list
= var
;
8201 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8202 var_nodearraylist3
= var1
;
8203 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8204 var_nodearraylist2
= var2
;
8205 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8206 var_nodearraylist1
= var3
;
8207 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
8208 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
8209 CHECK_NEW_array__Array(var4
);
8210 var_listnode3
= var4
;
8211 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
8212 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
8213 CHECK_NEW_array__Array(var5
);
8214 var_listnode4
= var5
;
8215 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
8216 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
8217 CHECK_NEW_array__Array(var6
);
8218 var_listnode10
= var6
;
8219 var_listnode5
= var_nodearraylist1
;
8220 /* <var_listnode5:nullable Object> isa Array[Object] */
8221 cltype
= type_array__Arraykernel__Object
.color
;
8222 idtype
= type_array__Arraykernel__Object
.id
;
8223 if(var_listnode5
== NULL
) {
8226 if(cltype
>= var_listnode5
->type
->table_size
) {
8229 var7
= var_listnode5
->type
->type_table
[cltype
] == idtype
;
8233 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8234 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3655);
8237 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
8238 ((void (*)(val
*))(var8
->class->vft
[COLOR_array__Array__init
]))(var8
) /* init on <var8:Array[Object]>*/;
8239 CHECK_NEW_array__Array(var8
);
8240 var_listnode8
= var8
;
8241 var_listnode7
= var_nodearraylist2
;
8242 /* <var_listnode7:nullable Object> isa Array[Object] */
8243 cltype10
= type_array__Arraykernel__Object
.color
;
8244 idtype11
= type_array__Arraykernel__Object
.id
;
8245 if(var_listnode7
== NULL
) {
8248 if(cltype10
>= var_listnode7
->type
->table_size
) {
8251 var9
= var_listnode7
->type
->type_table
[cltype10
] == idtype11
;
8255 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8256 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3658);
8259 var12
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode7
) /* concat on <self:ReduceAction56>*/;
8260 var_listnode8
= var12
;
8261 var13
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
8262 ((void (*)(val
*, val
*))(var13
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var13
, var_listnode8
) /* init_atopclassdef on <var13:ATopClassdef>*/;
8263 CHECK_NEW_parser_nodes__ATopClassdef(var13
);
8264 var_pclassdefnode6
= var13
;
8265 var_pclassdefnode9
= var_nodearraylist3
;
8266 /* <var_pclassdefnode9:nullable Object> isa nullable AClassdef */
8267 cltype15
= type_nullable_parser_nodes__AClassdef
.color
;
8268 idtype16
= type_nullable_parser_nodes__AClassdef
.id
;
8269 if(var_pclassdefnode9
== NULL
) {
8272 if(cltype15
>= var_pclassdefnode9
->type
->table_size
) {
8275 var14
= var_pclassdefnode9
->type
->type_table
[cltype15
] == idtype16
;
8279 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8280 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3664);
8283 var17
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode10
, var_listnode5
) /* concat on <self:ReduceAction56>*/;
8284 var_listnode10
= var17
;
8286 if (var_pclassdefnode6
== NULL
) {
8287 var19
= 0; /* is null */
8289 var19
= 1; /* arg is null and recv is not */
8292 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode6
) /* add on <var_listnode10:Array[Object]>*/;
8296 if (var_pclassdefnode9
== NULL
) {
8297 var21
= 0; /* is null */
8299 var21
= 1; /* arg is null and recv is not */
8302 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode9
) /* add on <var_listnode10:Array[Object]>*/;
8305 var22
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
8307 ((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>*/;
8308 CHECK_NEW_parser_nodes__AModule(var22
);
8309 var_pmodulenode1
= var22
;
8310 var_node_list
= var_pmodulenode1
;
8311 var24
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction56> */
8312 var25
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var24
) /* go_to on <var_p:Parser>*/;
8313 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var25
, var_node_list
) /* push on <var_p:Parser>*/;
8316 /* method parser#ReduceAction56#action for (self: Object, Parser) */
8317 void VIRTUAL_parser__ReduceAction56__action(val
* self
, val
* p0
) {
8318 parser__ReduceAction56__action(self
, p0
);
8321 /* method parser#ReduceAction57#action for (self: ReduceAction57, Parser) */
8322 void parser__ReduceAction57__action(val
* self
, val
* p0
) {
8323 val
* var_p
/* var p: Parser */;
8324 val
* var
/* : null */;
8325 val
* var_node_list
/* var node_list: nullable Object */;
8326 val
* var1
/* : nullable Object */;
8327 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8328 val
* var2
/* : nullable Object */;
8329 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8330 val
* var3
/* : nullable Object */;
8331 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8332 val
* var4
/* : nullable Object */;
8333 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8334 val
* var5
/* : Array[Object] */;
8335 val
* var_listnode3
/* var listnode3: Array[Object] */;
8336 val
* var6
/* : Array[Object] */;
8337 val
* var_listnode4
/* var listnode4: Array[Object] */;
8338 val
* var7
/* : Array[Object] */;
8339 val
* var_listnode10
/* var listnode10: Array[Object] */;
8340 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
8341 short int var8
/* : Bool */;
8344 val
* var_listnode5
/* var listnode5: nullable Object */;
8345 short int var9
/* : Bool */;
8348 val
* var12
/* : Array[Object] */;
8349 val
* var_listnode8
/* var listnode8: Array[Object] */;
8350 val
* var_listnode7
/* var listnode7: nullable Object */;
8351 short int var13
/* : Bool */;
8354 val
* var16
/* : Array[Object] */;
8355 val
* var17
/* : ATopClassdef */;
8356 val
* var_pclassdefnode6
/* var pclassdefnode6: nullable ATopClassdef */;
8357 val
* var_pclassdefnode9
/* var pclassdefnode9: nullable Object */;
8358 short int var18
/* : Bool */;
8361 val
* var21
/* : Array[Object] */;
8362 val
* var22
/* : null */;
8363 short int var23
/* : Bool */;
8364 val
* var24
/* : null */;
8365 short int var25
/* : Bool */;
8366 val
* var26
/* : AModule */;
8367 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
8368 long var27
/* : Int */;
8369 long var28
/* : Int */;
8372 var_node_list
= var
;
8373 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8374 var_nodearraylist4
= var1
;
8375 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8376 var_nodearraylist3
= var2
;
8377 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8378 var_nodearraylist2
= var3
;
8379 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8380 var_nodearraylist1
= var4
;
8381 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
8382 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
8383 CHECK_NEW_array__Array(var5
);
8384 var_listnode3
= var5
;
8385 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
8386 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
8387 CHECK_NEW_array__Array(var6
);
8388 var_listnode4
= var6
;
8389 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
8390 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
8391 CHECK_NEW_array__Array(var7
);
8392 var_listnode10
= var7
;
8393 var_pmoduledeclnode2
= var_nodearraylist1
;
8394 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
8395 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
8396 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
8397 if(var_pmoduledeclnode2
== NULL
) {
8400 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
8403 var8
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
8407 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8408 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3695);
8411 var_listnode5
= var_nodearraylist2
;
8412 /* <var_listnode5:nullable Object> isa Array[Object] */
8413 cltype10
= type_array__Arraykernel__Object
.color
;
8414 idtype11
= type_array__Arraykernel__Object
.id
;
8415 if(var_listnode5
== NULL
) {
8418 if(cltype10
>= var_listnode5
->type
->table_size
) {
8421 var9
= var_listnode5
->type
->type_table
[cltype10
] == idtype11
;
8425 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8426 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3697);
8429 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
8430 ((void (*)(val
*))(var12
->class->vft
[COLOR_array__Array__init
]))(var12
) /* init on <var12:Array[Object]>*/;
8431 CHECK_NEW_array__Array(var12
);
8432 var_listnode8
= var12
;
8433 var_listnode7
= var_nodearraylist3
;
8434 /* <var_listnode7:nullable Object> isa Array[Object] */
8435 cltype14
= type_array__Arraykernel__Object
.color
;
8436 idtype15
= type_array__Arraykernel__Object
.id
;
8437 if(var_listnode7
== NULL
) {
8440 if(cltype14
>= var_listnode7
->type
->table_size
) {
8443 var13
= var_listnode7
->type
->type_table
[cltype14
] == idtype15
;
8447 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8448 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3700);
8451 var16
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode8
, var_listnode7
) /* concat on <self:ReduceAction57>*/;
8452 var_listnode8
= var16
;
8453 var17
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
8454 ((void (*)(val
*, val
*))(var17
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var17
, var_listnode8
) /* init_atopclassdef on <var17:ATopClassdef>*/;
8455 CHECK_NEW_parser_nodes__ATopClassdef(var17
);
8456 var_pclassdefnode6
= var17
;
8457 var_pclassdefnode9
= var_nodearraylist4
;
8458 /* <var_pclassdefnode9:nullable Object> isa nullable AClassdef */
8459 cltype19
= type_nullable_parser_nodes__AClassdef
.color
;
8460 idtype20
= type_nullable_parser_nodes__AClassdef
.id
;
8461 if(var_pclassdefnode9
== NULL
) {
8464 if(cltype19
>= var_pclassdefnode9
->type
->table_size
) {
8467 var18
= var_pclassdefnode9
->type
->type_table
[cltype19
] == idtype20
;
8471 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8472 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3706);
8475 var21
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode10
, var_listnode5
) /* concat on <self:ReduceAction57>*/;
8476 var_listnode10
= var21
;
8478 if (var_pclassdefnode6
== NULL
) {
8479 var23
= 0; /* is null */
8481 var23
= 1; /* arg is null and recv is not */
8484 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode6
) /* add on <var_listnode10:Array[Object]>*/;
8488 if (var_pclassdefnode9
== NULL
) {
8489 var25
= 0; /* is null */
8491 var25
= 1; /* arg is null and recv is not */
8494 ((void (*)(val
*, val
*))(var_listnode10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode10
, var_pclassdefnode9
) /* add on <var_listnode10:Array[Object]>*/;
8497 var26
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
8498 ((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>*/;
8499 CHECK_NEW_parser_nodes__AModule(var26
);
8500 var_pmodulenode1
= var26
;
8501 var_node_list
= var_pmodulenode1
;
8502 var27
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction57> */
8503 var28
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var27
) /* go_to on <var_p:Parser>*/;
8504 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var28
, var_node_list
) /* push on <var_p:Parser>*/;
8507 /* method parser#ReduceAction57#action for (self: Object, Parser) */
8508 void VIRTUAL_parser__ReduceAction57__action(val
* self
, val
* p0
) {
8509 parser__ReduceAction57__action(self
, p0
);
8512 /* method parser#ReduceAction58#action for (self: ReduceAction58, Parser) */
8513 void parser__ReduceAction58__action(val
* self
, val
* p0
) {
8514 val
* var_p
/* var p: Parser */;
8515 val
* var
/* : null */;
8516 val
* var_node_list
/* var node_list: nullable Object */;
8517 val
* var1
/* : nullable Object */;
8518 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8519 val
* var2
/* : nullable Object */;
8520 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8521 val
* var3
/* : nullable Object */;
8522 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8523 val
* var4
/* : nullable Object */;
8524 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8525 val
* var5
/* : Array[Object] */;
8526 val
* var_listnode4
/* var listnode4: Array[Object] */;
8527 val
* var6
/* : Array[Object] */;
8528 val
* var_listnode5
/* var listnode5: Array[Object] */;
8529 val
* var7
/* : Array[Object] */;
8530 val
* var_listnode11
/* var listnode11: Array[Object] */;
8531 val
* var_listnode3
/* var listnode3: nullable Object */;
8532 short int var8
/* : Bool */;
8535 val
* var9
/* : Array[Object] */;
8536 val
* var_listnode6
/* var listnode6: nullable Object */;
8537 short int var10
/* : Bool */;
8540 val
* var13
/* : Array[Object] */;
8541 val
* var_listnode9
/* var listnode9: Array[Object] */;
8542 val
* var_listnode8
/* var listnode8: nullable Object */;
8543 short int var14
/* : Bool */;
8546 val
* var17
/* : Array[Object] */;
8547 val
* var18
/* : ATopClassdef */;
8548 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable ATopClassdef */;
8549 val
* var_pclassdefnode10
/* var pclassdefnode10: nullable Object */;
8550 short int var19
/* : Bool */;
8553 val
* var22
/* : Array[Object] */;
8554 val
* var23
/* : null */;
8555 short int var24
/* : Bool */;
8556 val
* var25
/* : null */;
8557 short int var26
/* : Bool */;
8558 val
* var27
/* : AModule */;
8559 val
* var28
/* : null */;
8560 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
8561 long var29
/* : Int */;
8562 long var30
/* : Int */;
8565 var_node_list
= var
;
8566 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8567 var_nodearraylist4
= var1
;
8568 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8569 var_nodearraylist3
= var2
;
8570 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8571 var_nodearraylist2
= var3
;
8572 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8573 var_nodearraylist1
= var4
;
8574 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
8575 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
8576 CHECK_NEW_array__Array(var5
);
8577 var_listnode4
= var5
;
8578 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
8579 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
8580 CHECK_NEW_array__Array(var6
);
8581 var_listnode5
= var6
;
8582 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
8583 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
8584 CHECK_NEW_array__Array(var7
);
8585 var_listnode11
= var7
;
8586 var_listnode3
= var_nodearraylist1
;
8587 /* <var_listnode3:nullable Object> isa Array[Object] */
8588 cltype
= type_array__Arraykernel__Object
.color
;
8589 idtype
= type_array__Arraykernel__Object
.id
;
8590 if(var_listnode3
== NULL
) {
8593 if(cltype
>= var_listnode3
->type
->table_size
) {
8596 var8
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
8600 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8601 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3737);
8604 var9
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction58>*/;
8605 var_listnode4
= var9
;
8606 var_listnode6
= var_nodearraylist2
;
8607 /* <var_listnode6:nullable Object> isa Array[Object] */
8608 cltype11
= type_array__Arraykernel__Object
.color
;
8609 idtype12
= type_array__Arraykernel__Object
.id
;
8610 if(var_listnode6
== NULL
) {
8613 if(cltype11
>= var_listnode6
->type
->table_size
) {
8616 var10
= var_listnode6
->type
->type_table
[cltype11
] == idtype12
;
8620 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8621 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3740);
8624 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
8625 ((void (*)(val
*))(var13
->class->vft
[COLOR_array__Array__init
]))(var13
) /* init on <var13:Array[Object]>*/;
8626 CHECK_NEW_array__Array(var13
);
8627 var_listnode9
= var13
;
8628 var_listnode8
= var_nodearraylist3
;
8629 /* <var_listnode8:nullable Object> isa Array[Object] */
8630 cltype15
= type_array__Arraykernel__Object
.color
;
8631 idtype16
= type_array__Arraykernel__Object
.id
;
8632 if(var_listnode8
== NULL
) {
8635 if(cltype15
>= var_listnode8
->type
->table_size
) {
8638 var14
= var_listnode8
->type
->type_table
[cltype15
] == idtype16
;
8642 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8643 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3743);
8646 var17
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode9
, var_listnode8
) /* concat on <self:ReduceAction58>*/;
8647 var_listnode9
= var17
;
8648 var18
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
8649 ((void (*)(val
*, val
*))(var18
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var18
, var_listnode9
) /* init_atopclassdef on <var18:ATopClassdef>*/;
8650 CHECK_NEW_parser_nodes__ATopClassdef(var18
);
8651 var_pclassdefnode7
= var18
;
8652 var_pclassdefnode10
= var_nodearraylist4
;
8653 /* <var_pclassdefnode10:nullable Object> isa nullable AClassdef */
8654 cltype20
= type_nullable_parser_nodes__AClassdef
.color
;
8655 idtype21
= type_nullable_parser_nodes__AClassdef
.id
;
8656 if(var_pclassdefnode10
== NULL
) {
8659 if(cltype20
>= var_pclassdefnode10
->type
->table_size
) {
8662 var19
= var_pclassdefnode10
->type
->type_table
[cltype20
] == idtype21
;
8666 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8667 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3749);
8670 var22
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode11
, var_listnode6
) /* concat on <self:ReduceAction58>*/;
8671 var_listnode11
= var22
;
8673 if (var_pclassdefnode7
== NULL
) {
8674 var24
= 0; /* is null */
8676 var24
= 1; /* arg is null and recv is not */
8679 ((void (*)(val
*, val
*))(var_listnode11
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode11
, var_pclassdefnode7
) /* add on <var_listnode11:Array[Object]>*/;
8683 if (var_pclassdefnode10
== NULL
) {
8684 var26
= 0; /* is null */
8686 var26
= 1; /* arg is null and recv is not */
8689 ((void (*)(val
*, val
*))(var_listnode11
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode11
, var_pclassdefnode10
) /* add on <var_listnode11:Array[Object]>*/;
8692 var27
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
8694 ((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>*/;
8695 CHECK_NEW_parser_nodes__AModule(var27
);
8696 var_pmodulenode1
= var27
;
8697 var_node_list
= var_pmodulenode1
;
8698 var29
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction58> */
8699 var30
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var29
) /* go_to on <var_p:Parser>*/;
8700 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var30
, var_node_list
) /* push on <var_p:Parser>*/;
8703 /* method parser#ReduceAction58#action for (self: Object, Parser) */
8704 void VIRTUAL_parser__ReduceAction58__action(val
* self
, val
* p0
) {
8705 parser__ReduceAction58__action(self
, p0
);
8708 /* method parser#ReduceAction59#action for (self: ReduceAction59, Parser) */
8709 void parser__ReduceAction59__action(val
* self
, val
* p0
) {
8710 val
* var_p
/* var p: Parser */;
8711 val
* var
/* : null */;
8712 val
* var_node_list
/* var node_list: nullable Object */;
8713 val
* var1
/* : nullable Object */;
8714 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
8715 val
* var2
/* : nullable Object */;
8716 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8717 val
* var3
/* : nullable Object */;
8718 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8719 val
* var4
/* : nullable Object */;
8720 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8721 val
* var5
/* : nullable Object */;
8722 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8723 val
* var6
/* : Array[Object] */;
8724 val
* var_listnode4
/* var listnode4: Array[Object] */;
8725 val
* var7
/* : Array[Object] */;
8726 val
* var_listnode5
/* var listnode5: Array[Object] */;
8727 val
* var8
/* : Array[Object] */;
8728 val
* var_listnode11
/* var listnode11: Array[Object] */;
8729 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
8730 short int var9
/* : Bool */;
8733 val
* var_listnode3
/* var listnode3: nullable Object */;
8734 short int var10
/* : Bool */;
8737 val
* var13
/* : Array[Object] */;
8738 val
* var_listnode6
/* var listnode6: nullable Object */;
8739 short int var14
/* : Bool */;
8742 val
* var17
/* : Array[Object] */;
8743 val
* var_listnode9
/* var listnode9: Array[Object] */;
8744 val
* var_listnode8
/* var listnode8: nullable Object */;
8745 short int var18
/* : Bool */;
8748 val
* var21
/* : Array[Object] */;
8749 val
* var22
/* : ATopClassdef */;
8750 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable ATopClassdef */;
8751 val
* var_pclassdefnode10
/* var pclassdefnode10: nullable Object */;
8752 short int var23
/* : Bool */;
8755 val
* var26
/* : Array[Object] */;
8756 val
* var27
/* : null */;
8757 short int var28
/* : Bool */;
8758 val
* var29
/* : null */;
8759 short int var30
/* : Bool */;
8760 val
* var31
/* : AModule */;
8761 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
8762 long var32
/* : Int */;
8763 long var33
/* : Int */;
8766 var_node_list
= var
;
8767 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8768 var_nodearraylist5
= var1
;
8769 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8770 var_nodearraylist4
= var2
;
8771 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8772 var_nodearraylist3
= var3
;
8773 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8774 var_nodearraylist2
= var4
;
8775 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8776 var_nodearraylist1
= var5
;
8777 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
8778 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
8779 CHECK_NEW_array__Array(var6
);
8780 var_listnode4
= var6
;
8781 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
8782 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
8783 CHECK_NEW_array__Array(var7
);
8784 var_listnode5
= var7
;
8785 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
8786 ((void (*)(val
*))(var8
->class->vft
[COLOR_array__Array__init
]))(var8
) /* init on <var8:Array[Object]>*/;
8787 CHECK_NEW_array__Array(var8
);
8788 var_listnode11
= var8
;
8789 var_pmoduledeclnode2
= var_nodearraylist1
;
8790 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
8791 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
8792 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
8793 if(var_pmoduledeclnode2
== NULL
) {
8796 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
8799 var9
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
8803 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8804 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3781);
8807 var_listnode3
= var_nodearraylist2
;
8808 /* <var_listnode3:nullable Object> isa Array[Object] */
8809 cltype11
= type_array__Arraykernel__Object
.color
;
8810 idtype12
= type_array__Arraykernel__Object
.id
;
8811 if(var_listnode3
== NULL
) {
8814 if(cltype11
>= var_listnode3
->type
->table_size
) {
8817 var10
= var_listnode3
->type
->type_table
[cltype11
] == idtype12
;
8821 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8822 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3783);
8825 var13
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction59>*/;
8826 var_listnode4
= var13
;
8827 var_listnode6
= var_nodearraylist3
;
8828 /* <var_listnode6:nullable Object> isa Array[Object] */
8829 cltype15
= type_array__Arraykernel__Object
.color
;
8830 idtype16
= type_array__Arraykernel__Object
.id
;
8831 if(var_listnode6
== NULL
) {
8834 if(cltype15
>= var_listnode6
->type
->table_size
) {
8837 var14
= var_listnode6
->type
->type_table
[cltype15
] == idtype16
;
8841 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8842 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3786);
8845 var17
= NEW_array__Array(&type_array__Arraykernel__Object
);
8846 ((void (*)(val
*))(var17
->class->vft
[COLOR_array__Array__init
]))(var17
) /* init on <var17:Array[Object]>*/;
8847 CHECK_NEW_array__Array(var17
);
8848 var_listnode9
= var17
;
8849 var_listnode8
= var_nodearraylist4
;
8850 /* <var_listnode8:nullable Object> isa Array[Object] */
8851 cltype19
= type_array__Arraykernel__Object
.color
;
8852 idtype20
= type_array__Arraykernel__Object
.id
;
8853 if(var_listnode8
== NULL
) {
8856 if(cltype19
>= var_listnode8
->type
->table_size
) {
8859 var18
= var_listnode8
->type
->type_table
[cltype19
] == idtype20
;
8863 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8864 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3789);
8867 var21
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode9
, var_listnode8
) /* concat on <self:ReduceAction59>*/;
8868 var_listnode9
= var21
;
8869 var22
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
8870 ((void (*)(val
*, val
*))(var22
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var22
, var_listnode9
) /* init_atopclassdef on <var22:ATopClassdef>*/;
8871 CHECK_NEW_parser_nodes__ATopClassdef(var22
);
8872 var_pclassdefnode7
= var22
;
8873 var_pclassdefnode10
= var_nodearraylist5
;
8874 /* <var_pclassdefnode10:nullable Object> isa nullable AClassdef */
8875 cltype24
= type_nullable_parser_nodes__AClassdef
.color
;
8876 idtype25
= type_nullable_parser_nodes__AClassdef
.id
;
8877 if(var_pclassdefnode10
== NULL
) {
8880 if(cltype24
>= var_pclassdefnode10
->type
->table_size
) {
8883 var23
= var_pclassdefnode10
->type
->type_table
[cltype24
] == idtype25
;
8887 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8888 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3795);
8891 var26
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode11
, var_listnode6
) /* concat on <self:ReduceAction59>*/;
8892 var_listnode11
= var26
;
8894 if (var_pclassdefnode7
== NULL
) {
8895 var28
= 0; /* is null */
8897 var28
= 1; /* arg is null and recv is not */
8900 ((void (*)(val
*, val
*))(var_listnode11
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode11
, var_pclassdefnode7
) /* add on <var_listnode11:Array[Object]>*/;
8904 if (var_pclassdefnode10
== NULL
) {
8905 var30
= 0; /* is null */
8907 var30
= 1; /* arg is null and recv is not */
8910 ((void (*)(val
*, val
*))(var_listnode11
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode11
, var_pclassdefnode10
) /* add on <var_listnode11:Array[Object]>*/;
8913 var31
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
8914 ((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>*/;
8915 CHECK_NEW_parser_nodes__AModule(var31
);
8916 var_pmodulenode1
= var31
;
8917 var_node_list
= var_pmodulenode1
;
8918 var32
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction59> */
8919 var33
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var32
) /* go_to on <var_p:Parser>*/;
8920 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var33
, var_node_list
) /* push on <var_p:Parser>*/;
8923 /* method parser#ReduceAction59#action for (self: Object, Parser) */
8924 void VIRTUAL_parser__ReduceAction59__action(val
* self
, val
* p0
) {
8925 parser__ReduceAction59__action(self
, p0
);
8928 /* method parser#ReduceAction60#action for (self: ReduceAction60, Parser) */
8929 void parser__ReduceAction60__action(val
* self
, val
* p0
) {
8930 val
* var_p
/* var p: Parser */;
8931 val
* var
/* : null */;
8932 val
* var_node_list
/* var node_list: nullable Object */;
8933 val
* var1
/* : nullable Object */;
8934 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8935 val
* var2
/* : nullable Object */;
8936 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8937 val
* var3
/* : nullable Object */;
8938 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8939 val
* var4
/* : nullable Object */;
8940 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8941 val
* var5
/* : Array[Object] */;
8942 val
* var_listnode3
/* var listnode3: Array[Object] */;
8943 val
* var6
/* : Array[Object] */;
8944 val
* var_listnode5
/* var listnode5: Array[Object] */;
8945 val
* var7
/* : Array[Object] */;
8946 val
* var_listnode11
/* var listnode11: Array[Object] */;
8947 val
* var_listnode4
/* var listnode4: nullable Object */;
8948 short int var8
/* : Bool */;
8951 val
* var9
/* : Array[Object] */;
8952 val
* var_listnode6
/* var listnode6: nullable Object */;
8953 short int var10
/* : Bool */;
8956 val
* var13
/* : Array[Object] */;
8957 val
* var_listnode9
/* var listnode9: Array[Object] */;
8958 val
* var_listnode8
/* var listnode8: nullable Object */;
8959 short int var14
/* : Bool */;
8962 val
* var17
/* : Array[Object] */;
8963 val
* var18
/* : ATopClassdef */;
8964 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable ATopClassdef */;
8965 val
* var_pclassdefnode10
/* var pclassdefnode10: nullable Object */;
8966 short int var19
/* : Bool */;
8969 val
* var22
/* : Array[Object] */;
8970 val
* var23
/* : null */;
8971 short int var24
/* : Bool */;
8972 val
* var25
/* : null */;
8973 short int var26
/* : Bool */;
8974 val
* var27
/* : AModule */;
8975 val
* var28
/* : null */;
8976 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
8977 long var29
/* : Int */;
8978 long var30
/* : Int */;
8981 var_node_list
= var
;
8982 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8983 var_nodearraylist4
= var1
;
8984 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8985 var_nodearraylist3
= var2
;
8986 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8987 var_nodearraylist2
= var3
;
8988 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8989 var_nodearraylist1
= var4
;
8990 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
8991 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
8992 CHECK_NEW_array__Array(var5
);
8993 var_listnode3
= var5
;
8994 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
8995 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
8996 CHECK_NEW_array__Array(var6
);
8997 var_listnode5
= var6
;
8998 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
8999 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
9000 CHECK_NEW_array__Array(var7
);
9001 var_listnode11
= var7
;
9002 var_listnode4
= var_nodearraylist1
;
9003 /* <var_listnode4:nullable Object> isa Array[Object] */
9004 cltype
= type_array__Arraykernel__Object
.color
;
9005 idtype
= type_array__Arraykernel__Object
.id
;
9006 if(var_listnode4
== NULL
) {
9009 if(cltype
>= var_listnode4
->type
->table_size
) {
9012 var8
= var_listnode4
->type
->type_table
[cltype
] == idtype
;
9016 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9017 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3826);
9020 var9
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction60>*/;
9021 var_listnode5
= var9
;
9022 var_listnode6
= var_nodearraylist2
;
9023 /* <var_listnode6:nullable Object> isa Array[Object] */
9024 cltype11
= type_array__Arraykernel__Object
.color
;
9025 idtype12
= type_array__Arraykernel__Object
.id
;
9026 if(var_listnode6
== NULL
) {
9029 if(cltype11
>= var_listnode6
->type
->table_size
) {
9032 var10
= var_listnode6
->type
->type_table
[cltype11
] == idtype12
;
9036 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9037 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3829);
9040 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
9041 ((void (*)(val
*))(var13
->class->vft
[COLOR_array__Array__init
]))(var13
) /* init on <var13:Array[Object]>*/;
9042 CHECK_NEW_array__Array(var13
);
9043 var_listnode9
= var13
;
9044 var_listnode8
= var_nodearraylist3
;
9045 /* <var_listnode8:nullable Object> isa Array[Object] */
9046 cltype15
= type_array__Arraykernel__Object
.color
;
9047 idtype16
= type_array__Arraykernel__Object
.id
;
9048 if(var_listnode8
== NULL
) {
9051 if(cltype15
>= var_listnode8
->type
->table_size
) {
9054 var14
= var_listnode8
->type
->type_table
[cltype15
] == idtype16
;
9058 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9059 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3832);
9062 var17
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode9
, var_listnode8
) /* concat on <self:ReduceAction60>*/;
9063 var_listnode9
= var17
;
9064 var18
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
9065 ((void (*)(val
*, val
*))(var18
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var18
, var_listnode9
) /* init_atopclassdef on <var18:ATopClassdef>*/;
9066 CHECK_NEW_parser_nodes__ATopClassdef(var18
);
9067 var_pclassdefnode7
= var18
;
9068 var_pclassdefnode10
= var_nodearraylist4
;
9069 /* <var_pclassdefnode10:nullable Object> isa nullable AClassdef */
9070 cltype20
= type_nullable_parser_nodes__AClassdef
.color
;
9071 idtype21
= type_nullable_parser_nodes__AClassdef
.id
;
9072 if(var_pclassdefnode10
== NULL
) {
9075 if(cltype20
>= var_pclassdefnode10
->type
->table_size
) {
9078 var19
= var_pclassdefnode10
->type
->type_table
[cltype20
] == idtype21
;
9082 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9083 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3838);
9086 var22
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode11
, var_listnode6
) /* concat on <self:ReduceAction60>*/;
9087 var_listnode11
= var22
;
9089 if (var_pclassdefnode7
== NULL
) {
9090 var24
= 0; /* is null */
9092 var24
= 1; /* arg is null and recv is not */
9095 ((void (*)(val
*, val
*))(var_listnode11
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode11
, var_pclassdefnode7
) /* add on <var_listnode11:Array[Object]>*/;
9099 if (var_pclassdefnode10
== NULL
) {
9100 var26
= 0; /* is null */
9102 var26
= 1; /* arg is null and recv is not */
9105 ((void (*)(val
*, val
*))(var_listnode11
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode11
, var_pclassdefnode10
) /* add on <var_listnode11:Array[Object]>*/;
9108 var27
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
9110 ((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>*/;
9111 CHECK_NEW_parser_nodes__AModule(var27
);
9112 var_pmodulenode1
= var27
;
9113 var_node_list
= var_pmodulenode1
;
9114 var29
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction60> */
9115 var30
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var29
) /* go_to on <var_p:Parser>*/;
9116 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var30
, var_node_list
) /* push on <var_p:Parser>*/;
9119 /* method parser#ReduceAction60#action for (self: Object, Parser) */
9120 void VIRTUAL_parser__ReduceAction60__action(val
* self
, val
* p0
) {
9121 parser__ReduceAction60__action(self
, p0
);
9124 /* method parser#ReduceAction61#action for (self: ReduceAction61, Parser) */
9125 void parser__ReduceAction61__action(val
* self
, val
* p0
) {
9126 val
* var_p
/* var p: Parser */;
9127 val
* var
/* : null */;
9128 val
* var_node_list
/* var node_list: nullable Object */;
9129 val
* var1
/* : nullable Object */;
9130 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9131 val
* var2
/* : nullable Object */;
9132 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9133 val
* var3
/* : nullable Object */;
9134 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9135 val
* var4
/* : nullable Object */;
9136 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9137 val
* var5
/* : nullable Object */;
9138 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9139 val
* var6
/* : Array[Object] */;
9140 val
* var_listnode3
/* var listnode3: Array[Object] */;
9141 val
* var7
/* : Array[Object] */;
9142 val
* var_listnode5
/* var listnode5: Array[Object] */;
9143 val
* var8
/* : Array[Object] */;
9144 val
* var_listnode11
/* var listnode11: Array[Object] */;
9145 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
9146 short int var9
/* : Bool */;
9149 val
* var_listnode4
/* var listnode4: nullable Object */;
9150 short int var10
/* : Bool */;
9153 val
* var13
/* : Array[Object] */;
9154 val
* var_listnode6
/* var listnode6: nullable Object */;
9155 short int var14
/* : Bool */;
9158 val
* var17
/* : Array[Object] */;
9159 val
* var_listnode9
/* var listnode9: Array[Object] */;
9160 val
* var_listnode8
/* var listnode8: nullable Object */;
9161 short int var18
/* : Bool */;
9164 val
* var21
/* : Array[Object] */;
9165 val
* var22
/* : ATopClassdef */;
9166 val
* var_pclassdefnode7
/* var pclassdefnode7: nullable ATopClassdef */;
9167 val
* var_pclassdefnode10
/* var pclassdefnode10: nullable Object */;
9168 short int var23
/* : Bool */;
9171 val
* var26
/* : Array[Object] */;
9172 val
* var27
/* : null */;
9173 short int var28
/* : Bool */;
9174 val
* var29
/* : null */;
9175 short int var30
/* : Bool */;
9176 val
* var31
/* : AModule */;
9177 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
9178 long var32
/* : Int */;
9179 long var33
/* : Int */;
9182 var_node_list
= var
;
9183 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9184 var_nodearraylist5
= var1
;
9185 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9186 var_nodearraylist4
= var2
;
9187 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9188 var_nodearraylist3
= var3
;
9189 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9190 var_nodearraylist2
= var4
;
9191 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9192 var_nodearraylist1
= var5
;
9193 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
9194 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
9195 CHECK_NEW_array__Array(var6
);
9196 var_listnode3
= var6
;
9197 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
9198 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
9199 CHECK_NEW_array__Array(var7
);
9200 var_listnode5
= var7
;
9201 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
9202 ((void (*)(val
*))(var8
->class->vft
[COLOR_array__Array__init
]))(var8
) /* init on <var8:Array[Object]>*/;
9203 CHECK_NEW_array__Array(var8
);
9204 var_listnode11
= var8
;
9205 var_pmoduledeclnode2
= var_nodearraylist1
;
9206 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
9207 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
9208 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
9209 if(var_pmoduledeclnode2
== NULL
) {
9212 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
9215 var9
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
9219 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9220 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3870);
9223 var_listnode4
= var_nodearraylist2
;
9224 /* <var_listnode4:nullable Object> isa Array[Object] */
9225 cltype11
= type_array__Arraykernel__Object
.color
;
9226 idtype12
= type_array__Arraykernel__Object
.id
;
9227 if(var_listnode4
== NULL
) {
9230 if(cltype11
>= var_listnode4
->type
->table_size
) {
9233 var10
= var_listnode4
->type
->type_table
[cltype11
] == idtype12
;
9237 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9238 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3872);
9241 var13
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction61>*/;
9242 var_listnode5
= var13
;
9243 var_listnode6
= var_nodearraylist3
;
9244 /* <var_listnode6:nullable Object> isa Array[Object] */
9245 cltype15
= type_array__Arraykernel__Object
.color
;
9246 idtype16
= type_array__Arraykernel__Object
.id
;
9247 if(var_listnode6
== NULL
) {
9250 if(cltype15
>= var_listnode6
->type
->table_size
) {
9253 var14
= var_listnode6
->type
->type_table
[cltype15
] == idtype16
;
9257 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9258 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3875);
9261 var17
= NEW_array__Array(&type_array__Arraykernel__Object
);
9262 ((void (*)(val
*))(var17
->class->vft
[COLOR_array__Array__init
]))(var17
) /* init on <var17:Array[Object]>*/;
9263 CHECK_NEW_array__Array(var17
);
9264 var_listnode9
= var17
;
9265 var_listnode8
= var_nodearraylist4
;
9266 /* <var_listnode8:nullable Object> isa Array[Object] */
9267 cltype19
= type_array__Arraykernel__Object
.color
;
9268 idtype20
= type_array__Arraykernel__Object
.id
;
9269 if(var_listnode8
== NULL
) {
9272 if(cltype19
>= var_listnode8
->type
->table_size
) {
9275 var18
= var_listnode8
->type
->type_table
[cltype19
] == idtype20
;
9279 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9280 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3878);
9283 var21
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode9
, var_listnode8
) /* concat on <self:ReduceAction61>*/;
9284 var_listnode9
= var21
;
9285 var22
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
9286 ((void (*)(val
*, val
*))(var22
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var22
, var_listnode9
) /* init_atopclassdef on <var22:ATopClassdef>*/;
9287 CHECK_NEW_parser_nodes__ATopClassdef(var22
);
9288 var_pclassdefnode7
= var22
;
9289 var_pclassdefnode10
= var_nodearraylist5
;
9290 /* <var_pclassdefnode10:nullable Object> isa nullable AClassdef */
9291 cltype24
= type_nullable_parser_nodes__AClassdef
.color
;
9292 idtype25
= type_nullable_parser_nodes__AClassdef
.id
;
9293 if(var_pclassdefnode10
== NULL
) {
9296 if(cltype24
>= var_pclassdefnode10
->type
->table_size
) {
9299 var23
= var_pclassdefnode10
->type
->type_table
[cltype24
] == idtype25
;
9303 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9304 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3884);
9307 var26
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode11
, var_listnode6
) /* concat on <self:ReduceAction61>*/;
9308 var_listnode11
= var26
;
9310 if (var_pclassdefnode7
== NULL
) {
9311 var28
= 0; /* is null */
9313 var28
= 1; /* arg is null and recv is not */
9316 ((void (*)(val
*, val
*))(var_listnode11
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode11
, var_pclassdefnode7
) /* add on <var_listnode11:Array[Object]>*/;
9320 if (var_pclassdefnode10
== NULL
) {
9321 var30
= 0; /* is null */
9323 var30
= 1; /* arg is null and recv is not */
9326 ((void (*)(val
*, val
*))(var_listnode11
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode11
, var_pclassdefnode10
) /* add on <var_listnode11:Array[Object]>*/;
9329 var31
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
9330 ((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>*/;
9331 CHECK_NEW_parser_nodes__AModule(var31
);
9332 var_pmodulenode1
= var31
;
9333 var_node_list
= var_pmodulenode1
;
9334 var32
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction61> */
9335 var33
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var32
) /* go_to on <var_p:Parser>*/;
9336 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var33
, var_node_list
) /* push on <var_p:Parser>*/;
9339 /* method parser#ReduceAction61#action for (self: Object, Parser) */
9340 void VIRTUAL_parser__ReduceAction61__action(val
* self
, val
* p0
) {
9341 parser__ReduceAction61__action(self
, p0
);
9344 /* method parser#ReduceAction62#action for (self: ReduceAction62, Parser) */
9345 void parser__ReduceAction62__action(val
* self
, val
* p0
) {
9346 val
* var_p
/* var p: Parser */;
9347 val
* var
/* : null */;
9348 val
* var_node_list
/* var node_list: nullable Object */;
9349 val
* var1
/* : nullable Object */;
9350 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9351 val
* var2
/* : nullable Object */;
9352 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9353 val
* var3
/* : nullable Object */;
9354 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9355 val
* var4
/* : nullable Object */;
9356 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9357 val
* var5
/* : nullable Object */;
9358 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9359 val
* var6
/* : Array[Object] */;
9360 val
* var_listnode4
/* var listnode4: Array[Object] */;
9361 val
* var7
/* : Array[Object] */;
9362 val
* var_listnode6
/* var listnode6: Array[Object] */;
9363 val
* var8
/* : Array[Object] */;
9364 val
* var_listnode12
/* var listnode12: Array[Object] */;
9365 val
* var_listnode3
/* var listnode3: nullable Object */;
9366 short int var9
/* : Bool */;
9369 val
* var10
/* : Array[Object] */;
9370 val
* var_listnode5
/* var listnode5: nullable Object */;
9371 short int var11
/* : Bool */;
9374 val
* var14
/* : Array[Object] */;
9375 val
* var_listnode7
/* var listnode7: nullable Object */;
9376 short int var15
/* : Bool */;
9379 val
* var18
/* : Array[Object] */;
9380 val
* var_listnode10
/* var listnode10: Array[Object] */;
9381 val
* var_listnode9
/* var listnode9: nullable Object */;
9382 short int var19
/* : Bool */;
9385 val
* var22
/* : Array[Object] */;
9386 val
* var23
/* : ATopClassdef */;
9387 val
* var_pclassdefnode8
/* var pclassdefnode8: nullable ATopClassdef */;
9388 val
* var_pclassdefnode11
/* var pclassdefnode11: nullable Object */;
9389 short int var24
/* : Bool */;
9392 val
* var27
/* : Array[Object] */;
9393 val
* var28
/* : null */;
9394 short int var29
/* : Bool */;
9395 val
* var30
/* : null */;
9396 short int var31
/* : Bool */;
9397 val
* var32
/* : AModule */;
9398 val
* var33
/* : null */;
9399 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
9400 long var34
/* : Int */;
9401 long var35
/* : Int */;
9404 var_node_list
= var
;
9405 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9406 var_nodearraylist5
= var1
;
9407 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9408 var_nodearraylist4
= var2
;
9409 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9410 var_nodearraylist3
= var3
;
9411 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9412 var_nodearraylist2
= var4
;
9413 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9414 var_nodearraylist1
= var5
;
9415 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
9416 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
9417 CHECK_NEW_array__Array(var6
);
9418 var_listnode4
= var6
;
9419 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
9420 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
9421 CHECK_NEW_array__Array(var7
);
9422 var_listnode6
= var7
;
9423 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
9424 ((void (*)(val
*))(var8
->class->vft
[COLOR_array__Array__init
]))(var8
) /* init on <var8:Array[Object]>*/;
9425 CHECK_NEW_array__Array(var8
);
9426 var_listnode12
= var8
;
9427 var_listnode3
= var_nodearraylist1
;
9428 /* <var_listnode3:nullable Object> isa Array[Object] */
9429 cltype
= type_array__Arraykernel__Object
.color
;
9430 idtype
= type_array__Arraykernel__Object
.id
;
9431 if(var_listnode3
== NULL
) {
9434 if(cltype
>= var_listnode3
->type
->table_size
) {
9437 var9
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
9441 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9442 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3916);
9445 var10
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction62>*/;
9446 var_listnode4
= var10
;
9447 var_listnode5
= var_nodearraylist2
;
9448 /* <var_listnode5:nullable Object> isa Array[Object] */
9449 cltype12
= type_array__Arraykernel__Object
.color
;
9450 idtype13
= type_array__Arraykernel__Object
.id
;
9451 if(var_listnode5
== NULL
) {
9454 if(cltype12
>= var_listnode5
->type
->table_size
) {
9457 var11
= var_listnode5
->type
->type_table
[cltype12
] == idtype13
;
9461 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9462 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3919);
9465 var14
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction62>*/;
9466 var_listnode6
= var14
;
9467 var_listnode7
= var_nodearraylist3
;
9468 /* <var_listnode7:nullable Object> isa Array[Object] */
9469 cltype16
= type_array__Arraykernel__Object
.color
;
9470 idtype17
= type_array__Arraykernel__Object
.id
;
9471 if(var_listnode7
== NULL
) {
9474 if(cltype16
>= var_listnode7
->type
->table_size
) {
9477 var15
= var_listnode7
->type
->type_table
[cltype16
] == idtype17
;
9481 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9482 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3922);
9485 var18
= NEW_array__Array(&type_array__Arraykernel__Object
);
9486 ((void (*)(val
*))(var18
->class->vft
[COLOR_array__Array__init
]))(var18
) /* init on <var18:Array[Object]>*/;
9487 CHECK_NEW_array__Array(var18
);
9488 var_listnode10
= var18
;
9489 var_listnode9
= var_nodearraylist4
;
9490 /* <var_listnode9:nullable Object> isa Array[Object] */
9491 cltype20
= type_array__Arraykernel__Object
.color
;
9492 idtype21
= type_array__Arraykernel__Object
.id
;
9493 if(var_listnode9
== NULL
) {
9496 if(cltype20
>= var_listnode9
->type
->table_size
) {
9499 var19
= var_listnode9
->type
->type_table
[cltype20
] == idtype21
;
9503 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9504 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3925);
9507 var22
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode10
, var_listnode9
) /* concat on <self:ReduceAction62>*/;
9508 var_listnode10
= var22
;
9509 var23
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
9510 ((void (*)(val
*, val
*))(var23
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var23
, var_listnode10
) /* init_atopclassdef on <var23:ATopClassdef>*/;
9511 CHECK_NEW_parser_nodes__ATopClassdef(var23
);
9512 var_pclassdefnode8
= var23
;
9513 var_pclassdefnode11
= var_nodearraylist5
;
9514 /* <var_pclassdefnode11:nullable Object> isa nullable AClassdef */
9515 cltype25
= type_nullable_parser_nodes__AClassdef
.color
;
9516 idtype26
= type_nullable_parser_nodes__AClassdef
.id
;
9517 if(var_pclassdefnode11
== NULL
) {
9520 if(cltype25
>= var_pclassdefnode11
->type
->table_size
) {
9523 var24
= var_pclassdefnode11
->type
->type_table
[cltype25
] == idtype26
;
9527 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9528 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3931);
9531 var27
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode12
, var_listnode7
) /* concat on <self:ReduceAction62>*/;
9532 var_listnode12
= var27
;
9534 if (var_pclassdefnode8
== NULL
) {
9535 var29
= 0; /* is null */
9537 var29
= 1; /* arg is null and recv is not */
9540 ((void (*)(val
*, val
*))(var_listnode12
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode12
, var_pclassdefnode8
) /* add on <var_listnode12:Array[Object]>*/;
9544 if (var_pclassdefnode11
== NULL
) {
9545 var31
= 0; /* is null */
9547 var31
= 1; /* arg is null and recv is not */
9550 ((void (*)(val
*, val
*))(var_listnode12
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode12
, var_pclassdefnode11
) /* add on <var_listnode12:Array[Object]>*/;
9553 var32
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
9555 ((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>*/;
9556 CHECK_NEW_parser_nodes__AModule(var32
);
9557 var_pmodulenode1
= var32
;
9558 var_node_list
= var_pmodulenode1
;
9559 var34
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction62> */
9560 var35
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var34
) /* go_to on <var_p:Parser>*/;
9561 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var35
, var_node_list
) /* push on <var_p:Parser>*/;
9564 /* method parser#ReduceAction62#action for (self: Object, Parser) */
9565 void VIRTUAL_parser__ReduceAction62__action(val
* self
, val
* p0
) {
9566 parser__ReduceAction62__action(self
, p0
);
9569 /* method parser#ReduceAction63#action for (self: ReduceAction63, Parser) */
9570 void parser__ReduceAction63__action(val
* self
, val
* p0
) {
9571 val
* var_p
/* var p: Parser */;
9572 val
* var
/* : null */;
9573 val
* var_node_list
/* var node_list: nullable Object */;
9574 val
* var1
/* : nullable Object */;
9575 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
9576 val
* var2
/* : nullable Object */;
9577 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9578 val
* var3
/* : nullable Object */;
9579 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9580 val
* var4
/* : nullable Object */;
9581 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9582 val
* var5
/* : nullable Object */;
9583 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9584 val
* var6
/* : nullable Object */;
9585 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9586 val
* var7
/* : Array[Object] */;
9587 val
* var_listnode4
/* var listnode4: Array[Object] */;
9588 val
* var8
/* : Array[Object] */;
9589 val
* var_listnode6
/* var listnode6: Array[Object] */;
9590 val
* var9
/* : Array[Object] */;
9591 val
* var_listnode12
/* var listnode12: Array[Object] */;
9592 val
* var_pmoduledeclnode2
/* var pmoduledeclnode2: nullable Object */;
9593 short int var10
/* : Bool */;
9596 val
* var_listnode3
/* var listnode3: nullable Object */;
9597 short int var11
/* : Bool */;
9600 val
* var14
/* : Array[Object] */;
9601 val
* var_listnode5
/* var listnode5: nullable Object */;
9602 short int var15
/* : Bool */;
9605 val
* var18
/* : Array[Object] */;
9606 val
* var_listnode7
/* var listnode7: nullable Object */;
9607 short int var19
/* : Bool */;
9610 val
* var22
/* : Array[Object] */;
9611 val
* var_listnode10
/* var listnode10: Array[Object] */;
9612 val
* var_listnode9
/* var listnode9: nullable Object */;
9613 short int var23
/* : Bool */;
9616 val
* var26
/* : Array[Object] */;
9617 val
* var27
/* : ATopClassdef */;
9618 val
* var_pclassdefnode8
/* var pclassdefnode8: nullable ATopClassdef */;
9619 val
* var_pclassdefnode11
/* var pclassdefnode11: nullable Object */;
9620 short int var28
/* : Bool */;
9623 val
* var31
/* : Array[Object] */;
9624 val
* var32
/* : null */;
9625 short int var33
/* : Bool */;
9626 val
* var34
/* : null */;
9627 short int var35
/* : Bool */;
9628 val
* var36
/* : AModule */;
9629 val
* var_pmodulenode1
/* var pmodulenode1: nullable AModule */;
9630 long var37
/* : Int */;
9631 long var38
/* : Int */;
9634 var_node_list
= var
;
9635 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9636 var_nodearraylist6
= var1
;
9637 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9638 var_nodearraylist5
= var2
;
9639 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9640 var_nodearraylist4
= var3
;
9641 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9642 var_nodearraylist3
= var4
;
9643 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9644 var_nodearraylist2
= var5
;
9645 var6
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9646 var_nodearraylist1
= var6
;
9647 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
9648 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
9649 CHECK_NEW_array__Array(var7
);
9650 var_listnode4
= var7
;
9651 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
9652 ((void (*)(val
*))(var8
->class->vft
[COLOR_array__Array__init
]))(var8
) /* init on <var8:Array[Object]>*/;
9653 CHECK_NEW_array__Array(var8
);
9654 var_listnode6
= var8
;
9655 var9
= NEW_array__Array(&type_array__Arraykernel__Object
);
9656 ((void (*)(val
*))(var9
->class->vft
[COLOR_array__Array__init
]))(var9
) /* init on <var9:Array[Object]>*/;
9657 CHECK_NEW_array__Array(var9
);
9658 var_listnode12
= var9
;
9659 var_pmoduledeclnode2
= var_nodearraylist1
;
9660 /* <var_pmoduledeclnode2:nullable Object> isa nullable AModuledecl */
9661 cltype
= type_nullable_parser_nodes__AModuledecl
.color
;
9662 idtype
= type_nullable_parser_nodes__AModuledecl
.id
;
9663 if(var_pmoduledeclnode2
== NULL
) {
9666 if(cltype
>= var_pmoduledeclnode2
->type
->table_size
) {
9669 var10
= var_pmoduledeclnode2
->type
->type_table
[cltype
] == idtype
;
9673 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9674 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3964);
9677 var_listnode3
= var_nodearraylist2
;
9678 /* <var_listnode3:nullable Object> isa Array[Object] */
9679 cltype12
= type_array__Arraykernel__Object
.color
;
9680 idtype13
= type_array__Arraykernel__Object
.id
;
9681 if(var_listnode3
== NULL
) {
9684 if(cltype12
>= var_listnode3
->type
->table_size
) {
9687 var11
= var_listnode3
->type
->type_table
[cltype12
] == idtype13
;
9691 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9692 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3966);
9695 var14
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction63>*/;
9696 var_listnode4
= var14
;
9697 var_listnode5
= var_nodearraylist3
;
9698 /* <var_listnode5:nullable Object> isa Array[Object] */
9699 cltype16
= type_array__Arraykernel__Object
.color
;
9700 idtype17
= type_array__Arraykernel__Object
.id
;
9701 if(var_listnode5
== NULL
) {
9704 if(cltype16
>= var_listnode5
->type
->table_size
) {
9707 var15
= var_listnode5
->type
->type_table
[cltype16
] == idtype17
;
9711 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9712 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3969);
9715 var18
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode6
, var_listnode5
) /* concat on <self:ReduceAction63>*/;
9716 var_listnode6
= var18
;
9717 var_listnode7
= var_nodearraylist4
;
9718 /* <var_listnode7:nullable Object> isa Array[Object] */
9719 cltype20
= type_array__Arraykernel__Object
.color
;
9720 idtype21
= type_array__Arraykernel__Object
.id
;
9721 if(var_listnode7
== NULL
) {
9724 if(cltype20
>= var_listnode7
->type
->table_size
) {
9727 var19
= var_listnode7
->type
->type_table
[cltype20
] == idtype21
;
9731 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9732 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3972);
9735 var22
= NEW_array__Array(&type_array__Arraykernel__Object
);
9736 ((void (*)(val
*))(var22
->class->vft
[COLOR_array__Array__init
]))(var22
) /* init on <var22:Array[Object]>*/;
9737 CHECK_NEW_array__Array(var22
);
9738 var_listnode10
= var22
;
9739 var_listnode9
= var_nodearraylist5
;
9740 /* <var_listnode9:nullable Object> isa Array[Object] */
9741 cltype24
= type_array__Arraykernel__Object
.color
;
9742 idtype25
= type_array__Arraykernel__Object
.id
;
9743 if(var_listnode9
== NULL
) {
9746 if(cltype24
>= var_listnode9
->type
->table_size
) {
9749 var23
= var_listnode9
->type
->type_table
[cltype24
] == idtype25
;
9753 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9754 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3975);
9757 var26
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode10
, var_listnode9
) /* concat on <self:ReduceAction63>*/;
9758 var_listnode10
= var26
;
9759 var27
= NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef
);
9760 ((void (*)(val
*, val
*))(var27
->class->vft
[COLOR_parser_prod__ATopClassdef__init_atopclassdef
]))(var27
, var_listnode10
) /* init_atopclassdef on <var27:ATopClassdef>*/;
9761 CHECK_NEW_parser_nodes__ATopClassdef(var27
);
9762 var_pclassdefnode8
= var27
;
9763 var_pclassdefnode11
= var_nodearraylist6
;
9764 /* <var_pclassdefnode11:nullable Object> isa nullable AClassdef */
9765 cltype29
= type_nullable_parser_nodes__AClassdef
.color
;
9766 idtype30
= type_nullable_parser_nodes__AClassdef
.id
;
9767 if(var_pclassdefnode11
== NULL
) {
9770 if(cltype29
>= var_pclassdefnode11
->type
->table_size
) {
9773 var28
= var_pclassdefnode11
->type
->type_table
[cltype29
] == idtype30
;
9777 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9778 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 3981);
9781 var31
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode12
, var_listnode7
) /* concat on <self:ReduceAction63>*/;
9782 var_listnode12
= var31
;
9784 if (var_pclassdefnode8
== NULL
) {
9785 var33
= 0; /* is null */
9787 var33
= 1; /* arg is null and recv is not */
9790 ((void (*)(val
*, val
*))(var_listnode12
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode12
, var_pclassdefnode8
) /* add on <var_listnode12:Array[Object]>*/;
9794 if (var_pclassdefnode11
== NULL
) {
9795 var35
= 0; /* is null */
9797 var35
= 1; /* arg is null and recv is not */
9800 ((void (*)(val
*, val
*))(var_listnode12
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode12
, var_pclassdefnode11
) /* add on <var_listnode12:Array[Object]>*/;
9803 var36
= NEW_parser_nodes__AModule(&type_parser_nodes__AModule
);
9804 ((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>*/;
9805 CHECK_NEW_parser_nodes__AModule(var36
);
9806 var_pmodulenode1
= var36
;
9807 var_node_list
= var_pmodulenode1
;
9808 var37
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction63> */
9809 var38
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var37
) /* go_to on <var_p:Parser>*/;
9810 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var38
, var_node_list
) /* push on <var_p:Parser>*/;
9813 /* method parser#ReduceAction63#action for (self: Object, Parser) */
9814 void VIRTUAL_parser__ReduceAction63__action(val
* self
, val
* p0
) {
9815 parser__ReduceAction63__action(self
, p0
);
9818 /* method parser#ReduceAction64#action for (self: ReduceAction64, Parser) */
9819 void parser__ReduceAction64__action(val
* self
, val
* p0
) {
9820 val
* var_p
/* var p: Parser */;
9821 val
* var
/* : null */;
9822 val
* var_node_list
/* var node_list: nullable Object */;
9823 val
* var1
/* : nullable Object */;
9824 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9825 val
* var2
/* : nullable Object */;
9826 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9827 val
* var3
/* : nullable Object */;
9828 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9829 val
* var4
/* : nullable Object */;
9830 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9831 val
* var5
/* : nullable Object */;
9832 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9833 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
9834 short int var6
/* : Bool */;
9837 val
* var_tkwmodulenode3
/* var tkwmodulenode3: nullable Object */;
9838 short int var7
/* : Bool */;
9841 val
* var_pmodulenamenode4
/* var pmodulenamenode4: nullable Object */;
9842 short int var10
/* : Bool */;
9845 val
* var13
/* : AModuledecl */;
9846 val
* var14
/* : null */;
9847 val
* var_pmoduledeclnode1
/* var pmoduledeclnode1: nullable AModuledecl */;
9848 long var15
/* : Int */;
9849 long var16
/* : Int */;
9852 var_node_list
= var
;
9853 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9854 var_nodearraylist5
= var1
;
9855 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9856 var_nodearraylist4
= var2
;
9857 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9858 var_nodearraylist3
= var3
;
9859 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9860 var_nodearraylist2
= var4
;
9861 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9862 var_nodearraylist1
= var5
;
9863 var_pdocnode2
= var_nodearraylist1
;
9864 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9865 cltype
= type_nullable_parser_nodes__ADoc
.color
;
9866 idtype
= type_nullable_parser_nodes__ADoc
.id
;
9867 if(var_pdocnode2
== NULL
) {
9870 if(cltype
>= var_pdocnode2
->type
->table_size
) {
9873 var6
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
9877 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9878 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 4010);
9881 var_tkwmodulenode3
= var_nodearraylist2
;
9882 /* <var_tkwmodulenode3:nullable Object> isa nullable TKwmodule */
9883 cltype8
= type_nullable_parser_nodes__TKwmodule
.color
;
9884 idtype9
= type_nullable_parser_nodes__TKwmodule
.id
;
9885 if(var_tkwmodulenode3
== NULL
) {
9888 if(cltype8
>= var_tkwmodulenode3
->type
->table_size
) {
9891 var7
= var_tkwmodulenode3
->type
->type_table
[cltype8
] == idtype9
;
9895 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9896 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 4012);
9899 var_pmodulenamenode4
= var_nodearraylist4
;
9900 /* <var_pmodulenamenode4:nullable Object> isa nullable AModuleName */
9901 cltype11
= type_nullable_parser_nodes__AModuleName
.color
;
9902 idtype12
= type_nullable_parser_nodes__AModuleName
.id
;
9903 if(var_pmodulenamenode4
== NULL
) {
9906 if(cltype11
>= var_pmodulenamenode4
->type
->table_size
) {
9909 var10
= var_pmodulenamenode4
->type
->type_table
[cltype11
] == idtype12
;
9913 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9914 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 4014);
9917 var13
= NEW_parser_nodes__AModuledecl(&type_parser_nodes__AModuledecl
);
9919 ((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>*/;
9920 CHECK_NEW_parser_nodes__AModuledecl(var13
);
9921 var_pmoduledeclnode1
= var13
;
9922 var_node_list
= var_pmoduledeclnode1
;
9923 var15
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction64> */
9924 var16
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var15
) /* go_to on <var_p:Parser>*/;
9925 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var16
, var_node_list
) /* push on <var_p:Parser>*/;
9928 /* method parser#ReduceAction64#action for (self: Object, Parser) */
9929 void VIRTUAL_parser__ReduceAction64__action(val
* self
, val
* p0
) {
9930 parser__ReduceAction64__action(self
, p0
);