1 #include "parser_util.sep.0.h"
2 /* method parser_util#ToolContext#parse_module for (self: ToolContext, String): AModule */
3 val
* parser_util__ToolContext__parse_module(val
* self
, val
* p0
) {
4 val
* var
/* : AModule */;
5 val
* var_string
/* var string: String */;
6 val
* var1
/* : SourceFile */;
8 val
* var2
/* : String */;
9 char* var3
/* : NativeString */;
10 long var4
/* : Int */;
11 val
* var5
/* : String */;
12 val
* var_source
/* var source: SourceFile */;
13 val
* var6
/* : Lexer */;
14 val
* var_lexer
/* var lexer: Lexer */;
15 val
* var7
/* : Parser */;
16 val
* var_parser
/* var parser: Parser */;
17 val
* var8
/* : Start */;
18 val
* var_tree
/* var tree: Start */;
19 val
* var9
/* : EOF */;
20 val
* var_eof
/* var eof: EOF */;
21 short int var10
/* : Bool */;
24 val
* var11
/* : null */;
25 static val
* varonce12
;
26 val
* var13
/* : String */;
27 char* var14
/* : NativeString */;
28 long var15
/* : Int */;
29 val
* var16
/* : String */;
30 val
* var17
/* : String */;
31 val
* var18
/* : Array[Object] */;
32 long var19
/* : Int */;
33 val
* var20
/* : NativeArray[Object] */;
34 val
* var21
/* : String */;
35 val
* var22
/* : nullable AModule */;
37 var1
= NEW_location__SourceFile(&type_location__SourceFile
);
43 var5
= string__NativeString__to_s_with_length(var3
, var4
);
47 ((void (*)(val
*, val
*, val
*))(var1
->class->vft
[COLOR_location__SourceFile__from_string
]))(var1
, var2
, var_string
) /* from_string on <var1:SourceFile>*/;
48 CHECK_NEW_location__SourceFile(var1
);
50 var6
= NEW_lexer__Lexer(&type_lexer__Lexer
);
51 ((void (*)(val
*, val
*))(var6
->class->vft
[COLOR_lexer__Lexer__init
]))(var6
, var_source
) /* init on <var6:Lexer>*/;
52 CHECK_NEW_lexer__Lexer(var6
);
54 var7
= NEW_parser__Parser(&type_parser__Parser
);
55 ((void (*)(val
*, val
*))(var7
->class->vft
[COLOR_parser__Parser__init
]))(var7
, var_lexer
) /* init on <var7:Parser>*/;
56 CHECK_NEW_parser__Parser(var7
);
58 var8
= ((val
* (*)(val
*))(var_parser
->class->vft
[COLOR_parser__Parser__parse
]))(var_parser
) /* parse on <var_parser:Parser>*/;
60 var9
= ((val
* (*)(val
*))(var_tree
->class->vft
[COLOR_parser_nodes__Start__n_eof
]))(var_tree
) /* n_eof on <var_tree:Start>*/;
62 /* <var_eof:EOF> isa AError */
63 cltype
= type_parser_nodes__AError
.color
;
64 idtype
= type_parser_nodes__AError
.id
;
65 if(cltype
>= var_eof
->type
->table_size
) {
68 var10
= var_eof
->type
->type_table
[cltype
] == idtype
;
75 var14
= "Fatal Error: ";
77 var16
= string__NativeString__to_s_with_length(var14
, var15
);
81 var17
= ((val
* (*)(val
*))(var_eof
->class->vft
[COLOR_lexer__AError__message
]))(var_eof
) /* message on <var_eof:EOF(AError)>*/;
82 var18
= NEW_array__Array(&type_array__Arraykernel__Object
);
83 { /* var18 = array_instance Array[Object] */
85 var20
= NEW_array__NativeArray(var19
, &type_array__NativeArraykernel__Object
);
86 ((struct instance_array__NativeArray
*)var20
)->values
[0] = (val
*) var13
;
87 ((struct instance_array__NativeArray
*)var20
)->values
[1] = (val
*) var17
;
88 ((void (*)(val
*, val
*, long))(var18
->class->vft
[COLOR_array__Array__with_native
]))(var18
, var20
, var19
) /* with_native on <var18:Array[Object]>*/;
89 CHECK_NEW_array__Array(var18
);
91 var21
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_string__Object__to_s
]))(var18
) /* to_s on <var18:Array[Object]>*/;
92 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_toolcontext__ToolContext__fatal_error
]))(self
, var11
, var21
) /* fatal_error on <self:ToolContext>*/;
93 fprintf(stderr
, "Runtime error: %s", "Aborted");
94 fprintf(stderr
, " (%s:%d)\n", "src/parser_util.nit", 34);
98 var22
= ((val
* (*)(val
*))(var_tree
->class->vft
[COLOR_parser_nodes__Start__n_base
]))(var_tree
) /* n_base on <var_tree:Start>*/;
100 fprintf(stderr
, "Runtime error: %s", "Cast failed");
101 fprintf(stderr
, " (%s:%d)\n", "src/parser_util.nit", 36);
109 /* method parser_util#ToolContext#parse_module for (self: Object, String): AModule */
110 val
* VIRTUAL_parser_util__ToolContext__parse_module(val
* self
, val
* p0
) {
111 val
* var
/* : AModule */;
112 val
* var1
/* : AModule */;
113 var1
= parser_util__ToolContext__parse_module(self
, p0
);
118 /* method parser_util#ToolContext#parse_classdef for (self: ToolContext, String): AClassdef */
119 val
* parser_util__ToolContext__parse_classdef(val
* self
, val
* p0
) {
120 val
* var
/* : AClassdef */;
121 val
* var_string
/* var string: String */;
122 val
* var1
/* : AModule */;
123 val
* var_nmodule
/* var nmodule: AModule */;
124 val
* var2
/* : ANodes[AClassdef] */;
125 val
* var_nclassdefs
/* var nclassdefs: ANodes[AClassdef] */;
126 long var3
/* : Int */;
127 long var4
/* : Int */;
128 short int var5
/* : Bool */;
129 short int var7
/* : Bool */;
130 short int var8
/* : Bool */;
131 val
* var9
/* : null */;
133 val
* var10
/* : String */;
134 char* var11
/* : NativeString */;
135 long var12
/* : Int */;
136 val
* var13
/* : String */;
137 val
* var14
/* : nullable Object */;
139 var1
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_util__ToolContext__parse_module
]))(self
, var_string
) /* parse_module on <self:ToolContext>*/;
141 var2
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_parser_nodes__AModule__n_classdefs
]))(var_nmodule
) /* n_classdefs on <var_nmodule:AModule>*/;
142 var_nclassdefs
= var2
;
143 var3
= ((long (*)(val
*))(var_nclassdefs
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_nclassdefs
) /* length on <var_nclassdefs:ANodes[AClassdef]>*/;
145 { /* Inline kernel#Int#!= (var3,var4) */
157 var11
= "Fatal Error: not a classdef";
159 var13
= string__NativeString__to_s_with_length(var11
, var12
);
163 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_toolcontext__ToolContext__fatal_error
]))(self
, var9
, var10
) /* fatal_error on <self:ToolContext>*/;
164 fprintf(stderr
, "Runtime error: %s", "Aborted");
165 fprintf(stderr
, " (%s:%d)\n", "src/parser_util.nit", 47);
169 var14
= ((val
* (*)(val
*))(var_nclassdefs
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_nclassdefs
) /* first on <var_nclassdefs:ANodes[AClassdef]>*/;
175 /* method parser_util#ToolContext#parse_classdef for (self: Object, String): AClassdef */
176 val
* VIRTUAL_parser_util__ToolContext__parse_classdef(val
* self
, val
* p0
) {
177 val
* var
/* : AClassdef */;
178 val
* var1
/* : AClassdef */;
179 var1
= parser_util__ToolContext__parse_classdef(self
, p0
);
184 /* method parser_util#ToolContext#parse_propdef for (self: ToolContext, String): APropdef */
185 val
* parser_util__ToolContext__parse_propdef(val
* self
, val
* p0
) {
186 val
* var
/* : APropdef */;
187 val
* var_string
/* var string: String */;
188 val
* var1
/* : Array[Object] */;
189 long var2
/* : Int */;
190 val
* var_
/* var : Array[Object] */;
192 val
* var3
/* : String */;
193 char* var4
/* : NativeString */;
194 long var5
/* : Int */;
195 val
* var6
/* : String */;
196 static val
* varonce7
;
197 val
* var8
/* : String */;
198 char* var9
/* : NativeString */;
199 long var10
/* : Int */;
200 val
* var11
/* : String */;
201 val
* var12
/* : String */;
202 val
* var_mod_string
/* var mod_string: String */;
203 val
* var13
/* : AClassdef */;
204 val
* var_nclassdef
/* var nclassdef: AClassdef */;
205 val
* var14
/* : ANodes[APropdef] */;
206 val
* var_npropdefs
/* var npropdefs: ANodes[APropdef] */;
207 long var15
/* : Int */;
208 long var16
/* : Int */;
209 short int var17
/* : Bool */;
210 short int var19
/* : Bool */;
211 short int var20
/* : Bool */;
212 val
* var21
/* : null */;
213 static val
* varonce22
;
214 val
* var23
/* : String */;
215 char* var24
/* : NativeString */;
216 long var25
/* : Int */;
217 val
* var26
/* : String */;
218 val
* var27
/* : nullable Object */;
220 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
222 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_array__Array__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Array[Object]>*/;
223 CHECK_NEW_array__Array(var1
);
228 var4
= "class Dummy\n";
230 var6
= string__NativeString__to_s_with_length(var4
, var5
);
234 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var3
) /* add on <var_:Array[Object]>*/;
235 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var_string
) /* add on <var_:Array[Object]>*/;
241 var11
= string__NativeString__to_s_with_length(var9
, var10
);
245 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var8
) /* add on <var_:Array[Object]>*/;
246 var12
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
247 var_mod_string
= var12
;
248 var13
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_util__ToolContext__parse_classdef
]))(self
, var_mod_string
) /* parse_classdef on <self:ToolContext>*/;
249 var_nclassdef
= var13
;
250 var14
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_parser_nodes__AClassdef__n_propdefs
]))(var_nclassdef
) /* n_propdefs on <var_nclassdef:AClassdef>*/;
251 var_npropdefs
= var14
;
252 var15
= ((long (*)(val
*))(var_npropdefs
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_npropdefs
) /* length on <var_npropdefs:ANodes[APropdef]>*/;
254 { /* Inline kernel#Int#!= (var15,var16) */
255 var19
= var15
== var16
;
266 var24
= "Fatal Error: not a propdef";
268 var26
= string__NativeString__to_s_with_length(var24
, var25
);
272 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_toolcontext__ToolContext__fatal_error
]))(self
, var21
, var23
) /* fatal_error on <self:ToolContext>*/;
273 fprintf(stderr
, "Runtime error: %s", "Aborted");
274 fprintf(stderr
, " (%s:%d)\n", "src/parser_util.nit", 61);
278 var27
= ((val
* (*)(val
*))(var_npropdefs
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_npropdefs
) /* first on <var_npropdefs:ANodes[APropdef]>*/;
284 /* method parser_util#ToolContext#parse_propdef for (self: Object, String): APropdef */
285 val
* VIRTUAL_parser_util__ToolContext__parse_propdef(val
* self
, val
* p0
) {
286 val
* var
/* : APropdef */;
287 val
* var1
/* : APropdef */;
288 var1
= parser_util__ToolContext__parse_propdef(self
, p0
);
293 /* method parser_util#ToolContext#parse_stmts for (self: ToolContext, String): AExpr */
294 val
* parser_util__ToolContext__parse_stmts(val
* self
, val
* p0
) {
295 val
* var
/* : AExpr */;
296 val
* var_string
/* var string: String */;
297 val
* var1
/* : Array[Object] */;
298 long var2
/* : Int */;
299 val
* var_
/* var : Array[Object] */;
301 val
* var3
/* : String */;
302 char* var4
/* : NativeString */;
303 long var5
/* : Int */;
304 val
* var6
/* : String */;
305 static val
* varonce7
;
306 val
* var8
/* : String */;
307 char* var9
/* : NativeString */;
308 long var10
/* : Int */;
309 val
* var11
/* : String */;
310 val
* var12
/* : String */;
311 val
* var_mod_string
/* var mod_string: String */;
312 val
* var13
/* : AModule */;
313 val
* var_nmodule
/* var nmodule: AModule */;
314 val
* var14
/* : ANodes[AClassdef] */;
315 val
* var15
/* : nullable Object */;
316 val
* var16
/* : ANodes[APropdef] */;
317 val
* var17
/* : nullable Object */;
318 short int var18
/* : Bool */;
321 const char* var_class_name
;
322 val
* var19
/* : nullable AExpr */;
323 short int var20
/* : Bool */;
326 const char* var_class_name23
;
327 val
* var24
/* : ANodes[AExpr] */;
328 val
* var25
/* : nullable Object */;
329 short int var26
/* : Bool */;
332 const char* var_class_name29
;
333 val
* var30
/* : nullable AExpr */;
334 val
* var_nblock
/* var nblock: AExpr */;
336 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
338 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_array__Array__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Array[Object]>*/;
339 CHECK_NEW_array__Array(var1
);
346 var6
= string__NativeString__to_s_with_length(var4
, var5
);
350 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var3
) /* add on <var_:Array[Object]>*/;
351 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var_string
) /* add on <var_:Array[Object]>*/;
357 var11
= string__NativeString__to_s_with_length(var9
, var10
);
361 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var8
) /* add on <var_:Array[Object]>*/;
362 var12
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
363 var_mod_string
= var12
;
364 var13
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_util__ToolContext__parse_module
]))(self
, var_mod_string
) /* parse_module on <self:ToolContext>*/;
366 var14
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_parser_nodes__AModule__n_classdefs
]))(var_nmodule
) /* n_classdefs on <var_nmodule:AModule>*/;
367 var15
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var14
) /* first on <var14:ANodes[AClassdef]>*/;
368 var16
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_parser_nodes__AClassdef__n_propdefs
]))(var15
) /* n_propdefs on <var15:nullable Object(AClassdef)>*/;
369 var17
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var16
) /* first on <var16:ANodes[APropdef]>*/;
370 /* <var17:nullable Object(APropdef)> isa AMainMethPropdef */
371 cltype
= type_parser_nodes__AMainMethPropdef
.color
;
372 idtype
= type_parser_nodes__AMainMethPropdef
.id
;
373 if(cltype
>= var17
->type
->table_size
) {
376 var18
= var17
->type
->type_table
[cltype
] == idtype
;
379 var_class_name
= var17
== NULL ?
"null" : var17
->type
->name
;
380 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "AMainMethPropdef", var_class_name
);
381 fprintf(stderr
, " (%s:%d)\n", "src/parser_util.nit", 72);
384 var19
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_parser_nodes__AConcreteMethPropdef__n_block
]))(var17
) /* n_block on <var17:APropdef(AMainMethPropdef)>*/;
385 /* <var19:nullable AExpr> isa ABlockExpr */
386 cltype21
= type_parser_nodes__ABlockExpr
.color
;
387 idtype22
= type_parser_nodes__ABlockExpr
.id
;
391 if(cltype21
>= var19
->type
->table_size
) {
394 var20
= var19
->type
->type_table
[cltype21
] == idtype22
;
398 var_class_name23
= var19
== NULL ?
"null" : var19
->type
->name
;
399 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ABlockExpr", var_class_name23
);
400 fprintf(stderr
, " (%s:%d)\n", "src/parser_util.nit", 72);
403 var24
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_parser_nodes__ABlockExpr__n_expr
]))(var19
) /* n_expr on <var19:nullable AExpr(ABlockExpr)>*/;
404 var25
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var24
) /* first on <var24:ANodes[AExpr]>*/;
405 /* <var25:nullable Object(AExpr)> isa ADoExpr */
406 cltype27
= type_parser_nodes__ADoExpr
.color
;
407 idtype28
= type_parser_nodes__ADoExpr
.id
;
408 if(cltype27
>= var25
->type
->table_size
) {
411 var26
= var25
->type
->type_table
[cltype27
] == idtype28
;
414 var_class_name29
= var25
== NULL ?
"null" : var25
->type
->name
;
415 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ADoExpr", var_class_name29
);
416 fprintf(stderr
, " (%s:%d)\n", "src/parser_util.nit", 72);
419 var30
= ((val
* (*)(val
*))(var25
->class->vft
[COLOR_parser_nodes__ADoExpr__n_block
]))(var25
) /* n_block on <var25:AExpr(ADoExpr)>*/;
421 fprintf(stderr
, "Runtime error: %s", "Cast failed");
422 fprintf(stderr
, " (%s:%d)\n", "src/parser_util.nit", 72);
431 /* method parser_util#ToolContext#parse_stmts for (self: Object, String): AExpr */
432 val
* VIRTUAL_parser_util__ToolContext__parse_stmts(val
* self
, val
* p0
) {
433 val
* var
/* : AExpr */;
434 val
* var1
/* : AExpr */;
435 var1
= parser_util__ToolContext__parse_stmts(self
, p0
);
440 /* method parser_util#ToolContext#parse_expr for (self: ToolContext, String): AExpr */
441 val
* parser_util__ToolContext__parse_expr(val
* self
, val
* p0
) {
442 val
* var
/* : AExpr */;
443 val
* var_string
/* var string: String */;
444 val
* var1
/* : Array[Object] */;
445 long var2
/* : Int */;
446 val
* var_
/* var : Array[Object] */;
448 val
* var3
/* : String */;
449 char* var4
/* : NativeString */;
450 long var5
/* : Int */;
451 val
* var6
/* : String */;
452 static val
* varonce7
;
453 val
* var8
/* : String */;
454 char* var9
/* : NativeString */;
455 long var10
/* : Int */;
456 val
* var11
/* : String */;
457 val
* var12
/* : String */;
458 val
* var_mod_string
/* var mod_string: String */;
459 val
* var13
/* : AModule */;
460 val
* var_nmodule
/* var nmodule: AModule */;
461 val
* var14
/* : ANodes[AClassdef] */;
462 val
* var15
/* : nullable Object */;
463 val
* var16
/* : ANodes[APropdef] */;
464 val
* var17
/* : nullable Object */;
465 short int var18
/* : Bool */;
468 const char* var_class_name
;
469 val
* var19
/* : nullable AExpr */;
470 short int var20
/* : Bool */;
473 const char* var_class_name23
;
474 val
* var24
/* : ANodes[AExpr] */;
475 val
* var25
/* : nullable Object */;
476 short int var26
/* : Bool */;
479 const char* var_class_name29
;
480 val
* var30
/* : nullable AExpr */;
481 val
* var_nexpr
/* var nexpr: AExpr */;
483 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
485 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_array__Array__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Array[Object]>*/;
486 CHECK_NEW_array__Array(var1
);
491 var4
= "var dummy = \n";
493 var6
= string__NativeString__to_s_with_length(var4
, var5
);
497 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var3
) /* add on <var_:Array[Object]>*/;
498 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var_string
) /* add on <var_:Array[Object]>*/;
504 var11
= string__NativeString__to_s_with_length(var9
, var10
);
508 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var8
) /* add on <var_:Array[Object]>*/;
509 var12
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
510 var_mod_string
= var12
;
511 var13
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_util__ToolContext__parse_module
]))(self
, var_mod_string
) /* parse_module on <self:ToolContext>*/;
513 var14
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_parser_nodes__AModule__n_classdefs
]))(var_nmodule
) /* n_classdefs on <var_nmodule:AModule>*/;
514 var15
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var14
) /* first on <var14:ANodes[AClassdef]>*/;
515 var16
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_parser_nodes__AClassdef__n_propdefs
]))(var15
) /* n_propdefs on <var15:nullable Object(AClassdef)>*/;
516 var17
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var16
) /* first on <var16:ANodes[APropdef]>*/;
517 /* <var17:nullable Object(APropdef)> isa AMainMethPropdef */
518 cltype
= type_parser_nodes__AMainMethPropdef
.color
;
519 idtype
= type_parser_nodes__AMainMethPropdef
.id
;
520 if(cltype
>= var17
->type
->table_size
) {
523 var18
= var17
->type
->type_table
[cltype
] == idtype
;
526 var_class_name
= var17
== NULL ?
"null" : var17
->type
->name
;
527 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "AMainMethPropdef", var_class_name
);
528 fprintf(stderr
, " (%s:%d)\n", "src/parser_util.nit", 82);
531 var19
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_parser_nodes__AConcreteMethPropdef__n_block
]))(var17
) /* n_block on <var17:APropdef(AMainMethPropdef)>*/;
532 /* <var19:nullable AExpr> isa ABlockExpr */
533 cltype21
= type_parser_nodes__ABlockExpr
.color
;
534 idtype22
= type_parser_nodes__ABlockExpr
.id
;
538 if(cltype21
>= var19
->type
->table_size
) {
541 var20
= var19
->type
->type_table
[cltype21
] == idtype22
;
545 var_class_name23
= var19
== NULL ?
"null" : var19
->type
->name
;
546 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ABlockExpr", var_class_name23
);
547 fprintf(stderr
, " (%s:%d)\n", "src/parser_util.nit", 82);
550 var24
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_parser_nodes__ABlockExpr__n_expr
]))(var19
) /* n_expr on <var19:nullable AExpr(ABlockExpr)>*/;
551 var25
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var24
) /* first on <var24:ANodes[AExpr]>*/;
552 /* <var25:nullable Object(AExpr)> isa AVardeclExpr */
553 cltype27
= type_parser_nodes__AVardeclExpr
.color
;
554 idtype28
= type_parser_nodes__AVardeclExpr
.id
;
555 if(cltype27
>= var25
->type
->table_size
) {
558 var26
= var25
->type
->type_table
[cltype27
] == idtype28
;
561 var_class_name29
= var25
== NULL ?
"null" : var25
->type
->name
;
562 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "AVardeclExpr", var_class_name29
);
563 fprintf(stderr
, " (%s:%d)\n", "src/parser_util.nit", 82);
566 var30
= ((val
* (*)(val
*))(var25
->class->vft
[COLOR_parser_nodes__AVardeclExpr__n_expr
]))(var25
) /* n_expr on <var25:AExpr(AVardeclExpr)>*/;
568 fprintf(stderr
, "Runtime error: %s", "Cast failed");
569 fprintf(stderr
, " (%s:%d)\n", "src/parser_util.nit", 82);
578 /* method parser_util#ToolContext#parse_expr for (self: Object, String): AExpr */
579 val
* VIRTUAL_parser_util__ToolContext__parse_expr(val
* self
, val
* p0
) {
580 val
* var
/* : AExpr */;
581 val
* var1
/* : AExpr */;
582 var1
= parser_util__ToolContext__parse_expr(self
, p0
);
587 /* method parser_util#ToolContext#parse_something for (self: ToolContext, String): ANode */
588 val
* parser_util__ToolContext__parse_something(val
* self
, val
* p0
) {
589 val
* var
/* : ANode */;
590 val
* var_string
/* var string: String */;
591 val
* var1
/* : SourceFile */;
593 val
* var2
/* : String */;
594 char* var3
/* : NativeString */;
595 long var4
/* : Int */;
596 val
* var5
/* : String */;
597 val
* var_source
/* var source: SourceFile */;
598 val
* var6
/* : InjectedLexer */;
599 val
* var_lexer
/* var lexer: nullable Object */;
600 val
* var7
/* : List[Token] */;
601 val
* var8
/* : TKwvar */;
602 val
* var9
/* : List[Token] */;
603 val
* var10
/* : TId */;
604 val
* var11
/* : List[Token] */;
605 val
* var12
/* : TColumn */;
606 val
* var13
/* : List[Token] */;
607 val
* var14
/* : TClassid */;
608 val
* var15
/* : List[Token] */;
609 val
* var16
/* : TObra */;
610 val
* var17
/* : List[Token] */;
611 val
* var18
/* : TCbra */;
612 val
* var19
/* : Parser */;
613 val
* var20
/* : Start */;
614 val
* var_tree
/* var tree: nullable Object */;
615 val
* var21
/* : EOF */;
616 val
* var_eof
/* var eof: nullable Object */;
617 short int var22
/* : Bool */;
620 short int var23
/* : Bool */;
621 val
* var24
/* : nullable AModule */;
622 val
* var25
/* : ANodes[AClassdef] */;
623 val
* var26
/* : nullable Object */;
624 val
* var27
/* : ANodes[APropdef] */;
625 val
* var28
/* : nullable Object */;
626 short int var29
/* : Bool */;
629 const char* var_class_name
;
630 val
* var32
/* : nullable AExpr */;
631 short int var33
/* : Bool */;
634 const char* var_class_name36
;
635 val
* var37
/* : ANodes[AExpr] */;
636 val
* var38
/* : nullable Object */;
637 short int var39
/* : Bool */;
640 const char* var_class_name42
;
641 val
* var43
/* : nullable AType */;
642 val
* var44
/* : ANodes[AType] */;
643 val
* var45
/* : nullable Object */;
644 val
* var_ntype
/* var ntype: AType */;
645 val
* var_error
/* var error: nullable Object */;
646 val
* var46
/* : Lexer */;
647 val
* var47
/* : Token */;
648 val
* var_first
/* var first: Token */;
649 short int var48
/* : Bool */;
652 short int var51
/* : Bool */;
653 val
* var52
/* : Token */;
654 val
* var_second
/* var second: Token */;
655 short int var53
/* : Bool */;
656 short int var54
/* : Bool */;
659 short int var_
/* var : Bool */;
660 short int var57
/* : Bool */;
663 short int var60
/* : Bool */;
664 val
* var61
/* : InjectedLexer */;
665 val
* var62
/* : List[Token] */;
666 val
* var63
/* : TKwvar */;
667 val
* var64
/* : List[Token] */;
668 val
* var65
/* : TId */;
669 val
* var66
/* : List[Token] */;
670 val
* var67
/* : TAssign */;
671 val
* var68
/* : List[Token] */;
672 val
* var69
/* : TOpar */;
673 val
* var70
/* : List[Token] */;
674 val
* var71
/* : TCpar */;
675 val
* var72
/* : Parser */;
676 val
* var73
/* : Start */;
677 val
* var74
/* : EOF */;
678 short int var75
/* : Bool */;
681 short int var78
/* : Bool */;
682 val
* var79
/* : nullable AModule */;
683 val
* var80
/* : ANodes[AClassdef] */;
684 val
* var81
/* : nullable Object */;
685 val
* var82
/* : ANodes[APropdef] */;
686 val
* var83
/* : nullable Object */;
687 short int var84
/* : Bool */;
690 const char* var_class_name87
;
691 val
* var88
/* : nullable AExpr */;
692 short int var89
/* : Bool */;
695 const char* var_class_name92
;
696 val
* var93
/* : ANodes[AExpr] */;
697 val
* var94
/* : nullable Object */;
698 short int var95
/* : Bool */;
701 const char* var_class_name98
;
702 val
* var99
/* : nullable AExpr */;
703 short int var100
/* : Bool */;
706 const char* var_class_name103
;
707 val
* var104
/* : AExpr */;
708 val
* var_nexpr
/* var nexpr: AExpr */;
709 val
* var105
/* : Location */;
710 val
* var106
/* : Location */;
711 short int var107
/* : Bool */;
712 val
* var108
/* : InjectedLexer */;
713 val
* var109
/* : List[Token] */;
714 val
* var110
/* : TKwdo */;
715 val
* var111
/* : List[Token] */;
716 val
* var112
/* : TKwend */;
717 val
* var113
/* : Parser */;
718 val
* var114
/* : Start */;
719 val
* var115
/* : EOF */;
720 short int var116
/* : Bool */;
723 short int var119
/* : Bool */;
724 val
* var120
/* : nullable AModule */;
725 val
* var121
/* : ANodes[AClassdef] */;
726 val
* var122
/* : nullable Object */;
727 val
* var123
/* : ANodes[APropdef] */;
728 val
* var124
/* : nullable Object */;
729 short int var125
/* : Bool */;
732 const char* var_class_name128
;
733 val
* var129
/* : nullable AExpr */;
734 short int var130
/* : Bool */;
737 const char* var_class_name133
;
738 val
* var134
/* : ANodes[AExpr] */;
739 val
* var135
/* : nullable Object */;
740 short int var136
/* : Bool */;
743 const char* var_class_name139
;
744 val
* var140
/* : nullable AExpr */;
745 val
* var_nblock
/* var nblock: AExpr */;
746 val
* var141
/* : Location */;
747 val
* var142
/* : Location */;
748 short int var143
/* : Bool */;
749 val
* var144
/* : Lexer */;
750 val
* var145
/* : Parser */;
751 val
* var146
/* : Start */;
752 val
* var147
/* : EOF */;
753 short int var148
/* : Bool */;
756 short int var151
/* : Bool */;
757 val
* var152
/* : nullable AModule */;
758 val
* var153
/* : Location */;
759 val
* var154
/* : Location */;
760 short int var155
/* : Bool */;
762 var1
= NEW_location__SourceFile(&type_location__SourceFile
);
768 var5
= string__NativeString__to_s_with_length(var3
, var4
);
772 ((void (*)(val
*, val
*, val
*))(var1
->class->vft
[COLOR_location__SourceFile__from_string
]))(var1
, var2
, var_string
) /* from_string on <var1:SourceFile>*/;
773 CHECK_NEW_location__SourceFile(var1
);
775 var6
= NEW_parser_util__InjectedLexer(&type_parser_util__InjectedLexer
);
776 ((void (*)(val
*, val
*))(var6
->class->vft
[COLOR_lexer__Lexer__init
]))(var6
, var_source
) /* init on <var6:InjectedLexer>*/;
777 CHECK_NEW_parser_util__InjectedLexer(var6
);
779 var7
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_parser_util__InjectedLexer__injected_before
]))(var_lexer
) /* injected_before on <var_lexer:nullable Object(InjectedLexer)>*/;
780 var8
= NEW_parser_nodes__TKwvar(&type_parser_nodes__TKwvar
);
781 ((void (*)(val
*))(var8
->class->vft
[COLOR_parser_nodes__TKwvar__init
]))(var8
) /* init on <var8:TKwvar>*/;
782 CHECK_NEW_parser_nodes__TKwvar(var8
);
783 ((void (*)(val
*, val
*))(var7
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var7
, var8
) /* add on <var7:List[Token]>*/;
784 var9
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_parser_util__InjectedLexer__injected_before
]))(var_lexer
) /* injected_before on <var_lexer:nullable Object(InjectedLexer)>*/;
785 var10
= NEW_parser_nodes__TId(&type_parser_nodes__TId
);
786 ((void (*)(val
*))(var10
->class->vft
[COLOR_parser_nodes__TId__init
]))(var10
) /* init on <var10:TId>*/;
787 CHECK_NEW_parser_nodes__TId(var10
);
788 ((void (*)(val
*, val
*))(var9
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var9
, var10
) /* add on <var9:List[Token]>*/;
789 var11
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_parser_util__InjectedLexer__injected_before
]))(var_lexer
) /* injected_before on <var_lexer:nullable Object(InjectedLexer)>*/;
790 var12
= NEW_parser_nodes__TColumn(&type_parser_nodes__TColumn
);
791 ((void (*)(val
*))(var12
->class->vft
[COLOR_parser_nodes__TColumn__init
]))(var12
) /* init on <var12:TColumn>*/;
792 CHECK_NEW_parser_nodes__TColumn(var12
);
793 ((void (*)(val
*, val
*))(var11
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var11
, var12
) /* add on <var11:List[Token]>*/;
794 var13
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_parser_util__InjectedLexer__injected_before
]))(var_lexer
) /* injected_before on <var_lexer:nullable Object(InjectedLexer)>*/;
795 var14
= NEW_parser_nodes__TClassid(&type_parser_nodes__TClassid
);
796 ((void (*)(val
*))(var14
->class->vft
[COLOR_parser_nodes__TClassid__init
]))(var14
) /* init on <var14:TClassid>*/;
797 CHECK_NEW_parser_nodes__TClassid(var14
);
798 ((void (*)(val
*, val
*))(var13
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var13
, var14
) /* add on <var13:List[Token]>*/;
799 var15
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_parser_util__InjectedLexer__injected_before
]))(var_lexer
) /* injected_before on <var_lexer:nullable Object(InjectedLexer)>*/;
800 var16
= NEW_parser_nodes__TObra(&type_parser_nodes__TObra
);
801 ((void (*)(val
*))(var16
->class->vft
[COLOR_parser_nodes__TObra__init
]))(var16
) /* init on <var16:TObra>*/;
802 CHECK_NEW_parser_nodes__TObra(var16
);
803 ((void (*)(val
*, val
*))(var15
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var15
, var16
) /* add on <var15:List[Token]>*/;
804 var17
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_parser_util__InjectedLexer__injected_after
]))(var_lexer
) /* injected_after on <var_lexer:nullable Object(InjectedLexer)>*/;
805 var18
= NEW_parser_nodes__TCbra(&type_parser_nodes__TCbra
);
806 ((void (*)(val
*))(var18
->class->vft
[COLOR_parser_nodes__TCbra__init
]))(var18
) /* init on <var18:TCbra>*/;
807 CHECK_NEW_parser_nodes__TCbra(var18
);
808 ((void (*)(val
*, val
*))(var17
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var17
, var18
) /* add on <var17:List[Token]>*/;
809 var19
= NEW_parser__Parser(&type_parser__Parser
);
810 ((void (*)(val
*, val
*))(var19
->class->vft
[COLOR_parser__Parser__init
]))(var19
, var_lexer
) /* init on <var19:Parser>*/;
811 CHECK_NEW_parser__Parser(var19
);
812 var20
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_parser__Parser__parse
]))(var19
) /* parse on <var19:Parser>*/;
814 var21
= ((val
* (*)(val
*))(var_tree
->class->vft
[COLOR_parser_nodes__Start__n_eof
]))(var_tree
) /* n_eof on <var_tree:nullable Object(Start)>*/;
816 /* <var_eof:nullable Object(EOF)> isa AError */
817 cltype
= type_parser_nodes__AError
.color
;
818 idtype
= type_parser_nodes__AError
.id
;
819 if(cltype
>= var_eof
->type
->table_size
) {
822 var22
= var_eof
->type
->type_table
[cltype
] == idtype
;
826 var24
= ((val
* (*)(val
*))(var_tree
->class->vft
[COLOR_parser_nodes__Start__n_base
]))(var_tree
) /* n_base on <var_tree:nullable Object(Start)>*/;
828 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
829 fprintf(stderr
, " (%s:%d)\n", "src/parser_util.nit", 114);
832 var25
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_parser_nodes__AModule__n_classdefs
]))(var24
) /* n_classdefs on <var24:nullable AModule>*/;
834 var26
= ((val
* (*)(val
*))(var25
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var25
) /* first on <var25:ANodes[AClassdef]>*/;
835 var27
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_parser_nodes__AClassdef__n_propdefs
]))(var26
) /* n_propdefs on <var26:nullable Object(AClassdef)>*/;
836 var28
= ((val
* (*)(val
*))(var27
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var27
) /* first on <var27:ANodes[APropdef]>*/;
837 /* <var28:nullable Object(APropdef)> isa AMainMethPropdef */
838 cltype30
= type_parser_nodes__AMainMethPropdef
.color
;
839 idtype31
= type_parser_nodes__AMainMethPropdef
.id
;
840 if(cltype30
>= var28
->type
->table_size
) {
843 var29
= var28
->type
->type_table
[cltype30
] == idtype31
;
846 var_class_name
= var28
== NULL ?
"null" : var28
->type
->name
;
847 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "AMainMethPropdef", var_class_name
);
848 fprintf(stderr
, " (%s:%d)\n", "src/parser_util.nit", 114);
851 var32
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_parser_nodes__AConcreteMethPropdef__n_block
]))(var28
) /* n_block on <var28:APropdef(AMainMethPropdef)>*/;
852 /* <var32:nullable AExpr> isa ABlockExpr */
853 cltype34
= type_parser_nodes__ABlockExpr
.color
;
854 idtype35
= type_parser_nodes__ABlockExpr
.id
;
858 if(cltype34
>= var32
->type
->table_size
) {
861 var33
= var32
->type
->type_table
[cltype34
] == idtype35
;
865 var_class_name36
= var32
== NULL ?
"null" : var32
->type
->name
;
866 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ABlockExpr", var_class_name36
);
867 fprintf(stderr
, " (%s:%d)\n", "src/parser_util.nit", 114);
870 var37
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_parser_nodes__ABlockExpr__n_expr
]))(var32
) /* n_expr on <var32:nullable AExpr(ABlockExpr)>*/;
871 var38
= ((val
* (*)(val
*))(var37
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var37
) /* first on <var37:ANodes[AExpr]>*/;
872 /* <var38:nullable Object(AExpr)> isa AVardeclExpr */
873 cltype40
= type_parser_nodes__AVardeclExpr
.color
;
874 idtype41
= type_parser_nodes__AVardeclExpr
.id
;
875 if(cltype40
>= var38
->type
->table_size
) {
878 var39
= var38
->type
->type_table
[cltype40
] == idtype41
;
881 var_class_name42
= var38
== NULL ?
"null" : var38
->type
->name
;
882 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "AVardeclExpr", var_class_name42
);
883 fprintf(stderr
, " (%s:%d)\n", "src/parser_util.nit", 114);
886 var43
= ((val
* (*)(val
*))(var38
->class->vft
[COLOR_parser_nodes__AVardeclExpr__n_type
]))(var38
) /* n_type on <var38:AExpr(AVardeclExpr)>*/;
888 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
889 fprintf(stderr
, " (%s:%d)\n", "src/parser_util.nit", 114);
892 var44
= ((val
* (*)(val
*))(var43
->class->vft
[COLOR_parser_nodes__AType__n_types
]))(var43
) /* n_types on <var43:nullable AType>*/;
894 var45
= ((val
* (*)(val
*))(var44
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var44
) /* first on <var44:ANodes[AType]>*/;
901 var46
= NEW_lexer__Lexer(&type_lexer__Lexer
);
902 ((void (*)(val
*, val
*))(var46
->class->vft
[COLOR_lexer__Lexer__init
]))(var46
, var_source
) /* init on <var46:Lexer>*/;
903 CHECK_NEW_lexer__Lexer(var46
);
905 var47
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_lexer__Lexer__next
]))(var_lexer
) /* next on <var_lexer:nullable Object(Lexer)>*/;
907 /* <var_first:Token> isa EOF */
908 cltype49
= type_parser_nodes__EOF
.color
;
909 idtype50
= type_parser_nodes__EOF
.id
;
910 if(cltype49
>= var_first
->type
->table_size
) {
913 var48
= var_first
->type
->type_table
[cltype49
] == idtype50
;
917 var52
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_lexer__Lexer__next
]))(var_lexer
) /* next on <var_lexer:nullable Object(Lexer)>*/;
919 /* <var_second:Token> isa EOF */
920 cltype55
= type_parser_nodes__EOF
.color
;
921 idtype56
= type_parser_nodes__EOF
.id
;
922 if(cltype55
>= var_second
->type
->table_size
) {
925 var54
= var_second
->type
->type_table
[cltype55
] == idtype56
;
929 /* <var_second:Token(EOF)> isa AError */
930 cltype58
= type_parser_nodes__AError
.color
;
931 idtype59
= type_parser_nodes__AError
.id
;
932 if(cltype58
>= var_second
->type
->table_size
) {
935 var57
= var_second
->type
->type_table
[cltype58
] == idtype59
;
949 var61
= NEW_parser_util__InjectedLexer(&type_parser_util__InjectedLexer
);
950 ((void (*)(val
*, val
*))(var61
->class->vft
[COLOR_lexer__Lexer__init
]))(var61
, var_source
) /* init on <var61:InjectedLexer>*/;
951 CHECK_NEW_parser_util__InjectedLexer(var61
);
953 var62
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_parser_util__InjectedLexer__injected_before
]))(var_lexer
) /* injected_before on <var_lexer:nullable Object(InjectedLexer)>*/;
954 var63
= NEW_parser_nodes__TKwvar(&type_parser_nodes__TKwvar
);
955 ((void (*)(val
*))(var63
->class->vft
[COLOR_parser_nodes__TKwvar__init
]))(var63
) /* init on <var63:TKwvar>*/;
956 CHECK_NEW_parser_nodes__TKwvar(var63
);
957 ((void (*)(val
*, val
*))(var62
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var62
, var63
) /* add on <var62:List[Token]>*/;
958 var64
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_parser_util__InjectedLexer__injected_before
]))(var_lexer
) /* injected_before on <var_lexer:nullable Object(InjectedLexer)>*/;
959 var65
= NEW_parser_nodes__TId(&type_parser_nodes__TId
);
960 ((void (*)(val
*))(var65
->class->vft
[COLOR_parser_nodes__TId__init
]))(var65
) /* init on <var65:TId>*/;
961 CHECK_NEW_parser_nodes__TId(var65
);
962 ((void (*)(val
*, val
*))(var64
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var64
, var65
) /* add on <var64:List[Token]>*/;
963 var66
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_parser_util__InjectedLexer__injected_before
]))(var_lexer
) /* injected_before on <var_lexer:nullable Object(InjectedLexer)>*/;
964 var67
= NEW_parser_nodes__TAssign(&type_parser_nodes__TAssign
);
965 ((void (*)(val
*))(var67
->class->vft
[COLOR_parser_nodes__TAssign__init
]))(var67
) /* init on <var67:TAssign>*/;
966 CHECK_NEW_parser_nodes__TAssign(var67
);
967 ((void (*)(val
*, val
*))(var66
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var66
, var67
) /* add on <var66:List[Token]>*/;
968 var68
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_parser_util__InjectedLexer__injected_before
]))(var_lexer
) /* injected_before on <var_lexer:nullable Object(InjectedLexer)>*/;
969 var69
= NEW_parser_nodes__TOpar(&type_parser_nodes__TOpar
);
970 ((void (*)(val
*))(var69
->class->vft
[COLOR_parser_nodes__TOpar__init
]))(var69
) /* init on <var69:TOpar>*/;
971 CHECK_NEW_parser_nodes__TOpar(var69
);
972 ((void (*)(val
*, val
*))(var68
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var68
, var69
) /* add on <var68:List[Token]>*/;
973 var70
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_parser_util__InjectedLexer__injected_after
]))(var_lexer
) /* injected_after on <var_lexer:nullable Object(InjectedLexer)>*/;
974 var71
= NEW_parser_nodes__TCpar(&type_parser_nodes__TCpar
);
975 ((void (*)(val
*))(var71
->class->vft
[COLOR_parser_nodes__TCpar__init
]))(var71
) /* init on <var71:TCpar>*/;
976 CHECK_NEW_parser_nodes__TCpar(var71
);
977 ((void (*)(val
*, val
*))(var70
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var70
, var71
) /* add on <var70:List[Token]>*/;
978 var72
= NEW_parser__Parser(&type_parser__Parser
);
979 ((void (*)(val
*, val
*))(var72
->class->vft
[COLOR_parser__Parser__init
]))(var72
, var_lexer
) /* init on <var72:Parser>*/;
980 CHECK_NEW_parser__Parser(var72
);
981 var73
= ((val
* (*)(val
*))(var72
->class->vft
[COLOR_parser__Parser__parse
]))(var72
) /* parse on <var72:Parser>*/;
983 var74
= ((val
* (*)(val
*))(var_tree
->class->vft
[COLOR_parser_nodes__Start__n_eof
]))(var_tree
) /* n_eof on <var_tree:nullable Object(Start)>*/;
985 /* <var_eof:nullable Object(EOF)> isa AError */
986 cltype76
= type_parser_nodes__AError
.color
;
987 idtype77
= type_parser_nodes__AError
.id
;
988 if(cltype76
>= var_eof
->type
->table_size
) {
991 var75
= var_eof
->type
->type_table
[cltype76
] == idtype77
;
995 var79
= ((val
* (*)(val
*))(var_tree
->class->vft
[COLOR_parser_nodes__Start__n_base
]))(var_tree
) /* n_base on <var_tree:nullable Object(Start)>*/;
997 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
998 fprintf(stderr
, " (%s:%d)\n", "src/parser_util.nit", 137);
1001 var80
= ((val
* (*)(val
*))(var79
->class->vft
[COLOR_parser_nodes__AModule__n_classdefs
]))(var79
) /* n_classdefs on <var79:nullable AModule>*/;
1003 var81
= ((val
* (*)(val
*))(var80
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var80
) /* first on <var80:ANodes[AClassdef]>*/;
1004 var82
= ((val
* (*)(val
*))(var81
->class->vft
[COLOR_parser_nodes__AClassdef__n_propdefs
]))(var81
) /* n_propdefs on <var81:nullable Object(AClassdef)>*/;
1005 var83
= ((val
* (*)(val
*))(var82
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var82
) /* first on <var82:ANodes[APropdef]>*/;
1006 /* <var83:nullable Object(APropdef)> isa AMainMethPropdef */
1007 cltype85
= type_parser_nodes__AMainMethPropdef
.color
;
1008 idtype86
= type_parser_nodes__AMainMethPropdef
.id
;
1009 if(cltype85
>= var83
->type
->table_size
) {
1012 var84
= var83
->type
->type_table
[cltype85
] == idtype86
;
1015 var_class_name87
= var83
== NULL ?
"null" : var83
->type
->name
;
1016 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "AMainMethPropdef", var_class_name87
);
1017 fprintf(stderr
, " (%s:%d)\n", "src/parser_util.nit", 137);
1020 var88
= ((val
* (*)(val
*))(var83
->class->vft
[COLOR_parser_nodes__AConcreteMethPropdef__n_block
]))(var83
) /* n_block on <var83:APropdef(AMainMethPropdef)>*/;
1021 /* <var88:nullable AExpr> isa ABlockExpr */
1022 cltype90
= type_parser_nodes__ABlockExpr
.color
;
1023 idtype91
= type_parser_nodes__ABlockExpr
.id
;
1027 if(cltype90
>= var88
->type
->table_size
) {
1030 var89
= var88
->type
->type_table
[cltype90
] == idtype91
;
1034 var_class_name92
= var88
== NULL ?
"null" : var88
->type
->name
;
1035 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ABlockExpr", var_class_name92
);
1036 fprintf(stderr
, " (%s:%d)\n", "src/parser_util.nit", 137);
1039 var93
= ((val
* (*)(val
*))(var88
->class->vft
[COLOR_parser_nodes__ABlockExpr__n_expr
]))(var88
) /* n_expr on <var88:nullable AExpr(ABlockExpr)>*/;
1040 var94
= ((val
* (*)(val
*))(var93
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var93
) /* first on <var93:ANodes[AExpr]>*/;
1041 /* <var94:nullable Object(AExpr)> isa AVardeclExpr */
1042 cltype96
= type_parser_nodes__AVardeclExpr
.color
;
1043 idtype97
= type_parser_nodes__AVardeclExpr
.id
;
1044 if(cltype96
>= var94
->type
->table_size
) {
1047 var95
= var94
->type
->type_table
[cltype96
] == idtype97
;
1050 var_class_name98
= var94
== NULL ?
"null" : var94
->type
->name
;
1051 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "AVardeclExpr", var_class_name98
);
1052 fprintf(stderr
, " (%s:%d)\n", "src/parser_util.nit", 137);
1055 var99
= ((val
* (*)(val
*))(var94
->class->vft
[COLOR_parser_nodes__AVardeclExpr__n_expr
]))(var94
) /* n_expr on <var94:AExpr(AVardeclExpr)>*/;
1056 /* <var99:nullable AExpr> isa AParExpr */
1057 cltype101
= type_parser_nodes__AParExpr
.color
;
1058 idtype102
= type_parser_nodes__AParExpr
.id
;
1062 if(cltype101
>= var99
->type
->table_size
) {
1065 var100
= var99
->type
->type_table
[cltype101
] == idtype102
;
1069 var_class_name103
= var99
== NULL ?
"null" : var99
->type
->name
;
1070 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "AParExpr", var_class_name103
);
1071 fprintf(stderr
, " (%s:%d)\n", "src/parser_util.nit", 137);
1074 var104
= ((val
* (*)(val
*))(var99
->class->vft
[COLOR_parser_nodes__AProxyExpr__n_expr
]))(var99
) /* n_expr on <var99:nullable AExpr(AParExpr)>*/;
1080 var105
= ((val
* (*)(val
*))(var_eof
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var_eof
) /* location on <var_eof:nullable Object(AError)>*/;
1081 var106
= ((val
* (*)(val
*))(var_error
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var_error
) /* location on <var_error:nullable Object(AError)>*/;
1082 var107
= ((short int (*)(val
*, val
*))(var105
->class->vft
[COLOR_kernel__Comparable___62d
]))(var105
, var106
) /* > on <var105:Location>*/;
1084 var_error
= var_eof
;
1087 var108
= NEW_parser_util__InjectedLexer(&type_parser_util__InjectedLexer
);
1088 ((void (*)(val
*, val
*))(var108
->class->vft
[COLOR_lexer__Lexer__init
]))(var108
, var_source
) /* init on <var108:InjectedLexer>*/;
1089 CHECK_NEW_parser_util__InjectedLexer(var108
);
1091 var109
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_parser_util__InjectedLexer__injected_before
]))(var_lexer
) /* injected_before on <var_lexer:nullable Object(InjectedLexer)>*/;
1092 var110
= NEW_parser_nodes__TKwdo(&type_parser_nodes__TKwdo
);
1093 ((void (*)(val
*))(var110
->class->vft
[COLOR_parser_nodes__TKwdo__init
]))(var110
) /* init on <var110:TKwdo>*/;
1094 CHECK_NEW_parser_nodes__TKwdo(var110
);
1095 ((void (*)(val
*, val
*))(var109
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var109
, var110
) /* add on <var109:List[Token]>*/;
1096 var111
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_parser_util__InjectedLexer__injected_after
]))(var_lexer
) /* injected_after on <var_lexer:nullable Object(InjectedLexer)>*/;
1097 var112
= NEW_parser_nodes__TKwend(&type_parser_nodes__TKwend
);
1098 ((void (*)(val
*))(var112
->class->vft
[COLOR_parser_nodes__TKwend__init
]))(var112
) /* init on <var112:TKwend>*/;
1099 CHECK_NEW_parser_nodes__TKwend(var112
);
1100 ((void (*)(val
*, val
*))(var111
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var111
, var112
) /* add on <var111:List[Token]>*/;
1101 var113
= NEW_parser__Parser(&type_parser__Parser
);
1102 ((void (*)(val
*, val
*))(var113
->class->vft
[COLOR_parser__Parser__init
]))(var113
, var_lexer
) /* init on <var113:Parser>*/;
1103 CHECK_NEW_parser__Parser(var113
);
1104 var114
= ((val
* (*)(val
*))(var113
->class->vft
[COLOR_parser__Parser__parse
]))(var113
) /* parse on <var113:Parser>*/;
1106 var115
= ((val
* (*)(val
*))(var_tree
->class->vft
[COLOR_parser_nodes__Start__n_eof
]))(var_tree
) /* n_eof on <var_tree:nullable Object(Start)>*/;
1108 /* <var_eof:nullable Object(EOF)> isa AError */
1109 cltype117
= type_parser_nodes__AError
.color
;
1110 idtype118
= type_parser_nodes__AError
.id
;
1111 if(cltype117
>= var_eof
->type
->table_size
) {
1114 var116
= var_eof
->type
->type_table
[cltype117
] == idtype118
;
1118 var120
= ((val
* (*)(val
*))(var_tree
->class->vft
[COLOR_parser_nodes__Start__n_base
]))(var_tree
) /* n_base on <var_tree:nullable Object(Start)>*/;
1119 if (var120
== NULL
) {
1120 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
1121 fprintf(stderr
, " (%s:%d)\n", "src/parser_util.nit", 148);
1124 var121
= ((val
* (*)(val
*))(var120
->class->vft
[COLOR_parser_nodes__AModule__n_classdefs
]))(var120
) /* n_classdefs on <var120:nullable AModule>*/;
1126 var122
= ((val
* (*)(val
*))(var121
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var121
) /* first on <var121:ANodes[AClassdef]>*/;
1127 var123
= ((val
* (*)(val
*))(var122
->class->vft
[COLOR_parser_nodes__AClassdef__n_propdefs
]))(var122
) /* n_propdefs on <var122:nullable Object(AClassdef)>*/;
1128 var124
= ((val
* (*)(val
*))(var123
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var123
) /* first on <var123:ANodes[APropdef]>*/;
1129 /* <var124:nullable Object(APropdef)> isa AMainMethPropdef */
1130 cltype126
= type_parser_nodes__AMainMethPropdef
.color
;
1131 idtype127
= type_parser_nodes__AMainMethPropdef
.id
;
1132 if(cltype126
>= var124
->type
->table_size
) {
1135 var125
= var124
->type
->type_table
[cltype126
] == idtype127
;
1138 var_class_name128
= var124
== NULL ?
"null" : var124
->type
->name
;
1139 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "AMainMethPropdef", var_class_name128
);
1140 fprintf(stderr
, " (%s:%d)\n", "src/parser_util.nit", 148);
1143 var129
= ((val
* (*)(val
*))(var124
->class->vft
[COLOR_parser_nodes__AConcreteMethPropdef__n_block
]))(var124
) /* n_block on <var124:APropdef(AMainMethPropdef)>*/;
1144 /* <var129:nullable AExpr> isa ABlockExpr */
1145 cltype131
= type_parser_nodes__ABlockExpr
.color
;
1146 idtype132
= type_parser_nodes__ABlockExpr
.id
;
1147 if(var129
== NULL
) {
1150 if(cltype131
>= var129
->type
->table_size
) {
1153 var130
= var129
->type
->type_table
[cltype131
] == idtype132
;
1157 var_class_name133
= var129
== NULL ?
"null" : var129
->type
->name
;
1158 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ABlockExpr", var_class_name133
);
1159 fprintf(stderr
, " (%s:%d)\n", "src/parser_util.nit", 148);
1162 var134
= ((val
* (*)(val
*))(var129
->class->vft
[COLOR_parser_nodes__ABlockExpr__n_expr
]))(var129
) /* n_expr on <var129:nullable AExpr(ABlockExpr)>*/;
1163 var135
= ((val
* (*)(val
*))(var134
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var134
) /* first on <var134:ANodes[AExpr]>*/;
1164 /* <var135:nullable Object(AExpr)> isa ADoExpr */
1165 cltype137
= type_parser_nodes__ADoExpr
.color
;
1166 idtype138
= type_parser_nodes__ADoExpr
.id
;
1167 if(cltype137
>= var135
->type
->table_size
) {
1170 var136
= var135
->type
->type_table
[cltype137
] == idtype138
;
1173 var_class_name139
= var135
== NULL ?
"null" : var135
->type
->name
;
1174 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ADoExpr", var_class_name139
);
1175 fprintf(stderr
, " (%s:%d)\n", "src/parser_util.nit", 148);
1178 var140
= ((val
* (*)(val
*))(var135
->class->vft
[COLOR_parser_nodes__ADoExpr__n_block
]))(var135
) /* n_block on <var135:AExpr(ADoExpr)>*/;
1179 if (var140
== NULL
) {
1180 fprintf(stderr
, "Runtime error: %s", "Cast failed");
1181 fprintf(stderr
, " (%s:%d)\n", "src/parser_util.nit", 148);
1184 var_nblock
= var140
;
1189 var141
= ((val
* (*)(val
*))(var_eof
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var_eof
) /* location on <var_eof:nullable Object(AError)>*/;
1190 var142
= ((val
* (*)(val
*))(var_error
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var_error
) /* location on <var_error:nullable Object(AError)>*/;
1191 var143
= ((short int (*)(val
*, val
*))(var141
->class->vft
[COLOR_kernel__Comparable___62d
]))(var141
, var142
) /* > on <var141:Location>*/;
1193 var_error
= var_eof
;
1196 var144
= NEW_lexer__Lexer(&type_lexer__Lexer
);
1197 ((void (*)(val
*, val
*))(var144
->class->vft
[COLOR_lexer__Lexer__init
]))(var144
, var_source
) /* init on <var144:Lexer>*/;
1198 CHECK_NEW_lexer__Lexer(var144
);
1200 var145
= NEW_parser__Parser(&type_parser__Parser
);
1201 ((void (*)(val
*, val
*))(var145
->class->vft
[COLOR_parser__Parser__init
]))(var145
, var_lexer
) /* init on <var145:Parser>*/;
1202 CHECK_NEW_parser__Parser(var145
);
1203 var146
= ((val
* (*)(val
*))(var145
->class->vft
[COLOR_parser__Parser__parse
]))(var145
) /* parse on <var145:Parser>*/;
1205 var147
= ((val
* (*)(val
*))(var_tree
->class->vft
[COLOR_parser_nodes__Start__n_eof
]))(var_tree
) /* n_eof on <var_tree:nullable Object(Start)>*/;
1207 /* <var_eof:nullable Object(EOF)> isa AError */
1208 cltype149
= type_parser_nodes__AError
.color
;
1209 idtype150
= type_parser_nodes__AError
.id
;
1210 if(cltype149
>= var_eof
->type
->table_size
) {
1213 var148
= var_eof
->type
->type_table
[cltype149
] == idtype150
;
1217 var152
= ((val
* (*)(val
*))(var_tree
->class->vft
[COLOR_parser_nodes__Start__n_base
]))(var_tree
) /* n_base on <var_tree:nullable Object(Start)>*/;
1218 if (var152
== NULL
) {
1219 fprintf(stderr
, "Runtime error: %s", "Cast failed");
1220 fprintf(stderr
, " (%s:%d)\n", "src/parser_util.nit", 157);
1227 var153
= ((val
* (*)(val
*))(var_eof
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var_eof
) /* location on <var_eof:nullable Object(AError)>*/;
1228 var154
= ((val
* (*)(val
*))(var_error
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var_error
) /* location on <var_error:nullable Object(AError)>*/;
1229 var155
= ((short int (*)(val
*, val
*))(var153
->class->vft
[COLOR_kernel__Comparable___62d
]))(var153
, var154
) /* > on <var153:Location>*/;
1231 var_error
= var_eof
;
1239 /* method parser_util#ToolContext#parse_something for (self: Object, String): ANode */
1240 val
* VIRTUAL_parser_util__ToolContext__parse_something(val
* self
, val
* p0
) {
1241 val
* var
/* : ANode */;
1242 val
* var1
/* : ANode */;
1243 var1
= parser_util__ToolContext__parse_something(self
, p0
);
1248 /* method parser_util#InjectedLexer#injected_before for (self: InjectedLexer): List[Token] */
1249 val
* parser_util__InjectedLexer__injected_before(val
* self
) {
1250 val
* var
/* : List[Token] */;
1251 val
* var1
/* : List[Token] */;
1252 var1
= self
->attrs
[COLOR_parser_util__InjectedLexer___64dinjected_before
].val
; /* @injected_before on <self:InjectedLexer> */
1254 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @injected_before");
1255 fprintf(stderr
, " (%s:%d)\n", "src/parser_util.nit", 168);
1262 /* method parser_util#InjectedLexer#injected_before for (self: Object): List[Token] */
1263 val
* VIRTUAL_parser_util__InjectedLexer__injected_before(val
* self
) {
1264 val
* var
/* : List[Token] */;
1265 val
* var1
/* : List[Token] */;
1266 var1
= parser_util__InjectedLexer__injected_before(self
);
1271 /* method parser_util#InjectedLexer#injected_before= for (self: InjectedLexer, List[Token]) */
1272 void parser_util__InjectedLexer__injected_before_61d(val
* self
, val
* p0
) {
1273 self
->attrs
[COLOR_parser_util__InjectedLexer___64dinjected_before
].val
= p0
; /* @injected_before on <self:InjectedLexer> */
1276 /* method parser_util#InjectedLexer#injected_before= for (self: Object, List[Token]) */
1277 void VIRTUAL_parser_util__InjectedLexer__injected_before_61d(val
* self
, val
* p0
) {
1278 parser_util__InjectedLexer__injected_before_61d(self
, p0
);
1281 /* method parser_util#InjectedLexer#injected_after for (self: InjectedLexer): List[Token] */
1282 val
* parser_util__InjectedLexer__injected_after(val
* self
) {
1283 val
* var
/* : List[Token] */;
1284 val
* var1
/* : List[Token] */;
1285 var1
= self
->attrs
[COLOR_parser_util__InjectedLexer___64dinjected_after
].val
; /* @injected_after on <self:InjectedLexer> */
1287 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @injected_after");
1288 fprintf(stderr
, " (%s:%d)\n", "src/parser_util.nit", 169);
1295 /* method parser_util#InjectedLexer#injected_after for (self: Object): List[Token] */
1296 val
* VIRTUAL_parser_util__InjectedLexer__injected_after(val
* self
) {
1297 val
* var
/* : List[Token] */;
1298 val
* var1
/* : List[Token] */;
1299 var1
= parser_util__InjectedLexer__injected_after(self
);
1304 /* method parser_util#InjectedLexer#injected_after= for (self: InjectedLexer, List[Token]) */
1305 void parser_util__InjectedLexer__injected_after_61d(val
* self
, val
* p0
) {
1306 self
->attrs
[COLOR_parser_util__InjectedLexer___64dinjected_after
].val
= p0
; /* @injected_after on <self:InjectedLexer> */
1309 /* method parser_util#InjectedLexer#injected_after= for (self: Object, List[Token]) */
1310 void VIRTUAL_parser_util__InjectedLexer__injected_after_61d(val
* self
, val
* p0
) {
1311 parser_util__InjectedLexer__injected_after_61d(self
, p0
);
1314 /* method parser_util#InjectedLexer#is_finished for (self: InjectedLexer): Bool */
1315 short int parser_util__InjectedLexer__is_finished(val
* self
) {
1316 short int var
/* : Bool */;
1317 short int var1
/* : Bool */;
1318 var1
= self
->attrs
[COLOR_parser_util__InjectedLexer___64dis_finished
].s
; /* @is_finished on <self:InjectedLexer> */
1323 /* method parser_util#InjectedLexer#is_finished for (self: Object): Bool */
1324 short int VIRTUAL_parser_util__InjectedLexer__is_finished(val
* self
) {
1325 short int var
/* : Bool */;
1326 short int var1
/* : Bool */;
1327 var1
= parser_util__InjectedLexer__is_finished(self
);
1332 /* method parser_util#InjectedLexer#is_finished= for (self: InjectedLexer, Bool) */
1333 void parser_util__InjectedLexer__is_finished_61d(val
* self
, short int p0
) {
1334 self
->attrs
[COLOR_parser_util__InjectedLexer___64dis_finished
].s
= p0
; /* @is_finished on <self:InjectedLexer> */
1337 /* method parser_util#InjectedLexer#is_finished= for (self: Object, Bool) */
1338 void VIRTUAL_parser_util__InjectedLexer__is_finished_61d(val
* self
, short int p0
) {
1339 parser_util__InjectedLexer__is_finished_61d(self
, p0
);
1342 /* method parser_util#InjectedLexer#get_token for (self: InjectedLexer): nullable Token */
1343 val
* parser_util__InjectedLexer__get_token(val
* self
) {
1344 val
* var
/* : nullable Token */;
1345 val
* var1
/* : List[Token] */;
1346 short int var2
/* : Bool */;
1347 short int var3
/* : Bool */;
1348 val
* var4
/* : List[Token] */;
1349 val
* var5
/* : nullable Object */;
1350 val
* var_tok
/* var tok: Token */;
1351 val
* var6
/* : nullable Location */;
1352 val
* var7
/* : null */;
1353 short int var8
/* : Bool */;
1354 val
* var9
/* : Location */;
1355 val
* var10
/* : SourceFile */;
1356 long var11
/* : Int */;
1357 long var12
/* : Int */;
1358 long var13
/* : Int */;
1359 long var14
/* : Int */;
1360 short int var15
/* : Bool */;
1361 short int var16
/* : Bool */;
1362 val
* var17
/* : nullable Token */;
1363 val
* var_next
/* var next: nullable Token */;
1364 short int var18
/* : Bool */;
1367 short int var19
/* : Bool */;
1368 val
* var20
/* : List[Token] */;
1369 short int var21
/* : Bool */;
1370 val
* var22
/* : List[Token] */;
1371 val
* var23
/* : nullable Object */;
1372 val
* var_tok24
/* var tok: Token */;
1373 val
* var25
/* : nullable Location */;
1374 val
* var26
/* : null */;
1375 short int var27
/* : Bool */;
1376 val
* var28
/* : Location */;
1377 val
* var29
/* : SourceFile */;
1378 long var30
/* : Int */;
1379 long var31
/* : Int */;
1380 long var32
/* : Int */;
1381 long var33
/* : Int */;
1382 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_util__InjectedLexer__injected_before
]))(self
) /* injected_before on <self:InjectedLexer>*/;
1383 var2
= ((short int (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var1
) /* is_empty on <var1:List[Token]>*/;
1386 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_util__InjectedLexer__injected_before
]))(self
) /* injected_before on <self:InjectedLexer>*/;
1387 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Sequence__shift
]))(var4
) /* shift on <var4:List[Token]>*/;
1389 var6
= var_tok
->attrs
[COLOR_parser_nodes__ANode___location
].val
; /* _location on <var_tok:Token> */
1392 var8
= 1; /* is null */
1394 var8
= 0; /* arg is null but recv is not */
1397 var9
= NEW_location__Location(&type_location__Location
);
1398 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_lexer__Lexer__file
]))(self
) /* file on <self:InjectedLexer>*/;
1403 ((void (*)(val
*, val
*, long, long, long, long))(var9
->class->vft
[COLOR_location__Location__init
]))(var9
, var10
, var11
, var12
, var13
, var14
) /* init on <var9:Location>*/;
1404 CHECK_NEW_location__Location(var9
);
1405 var_tok
->attrs
[COLOR_parser_nodes__ANode___location
].val
= var9
; /* _location on <var_tok:Token> */
1412 var15
= ((short int (*)(val
*))(self
->class->vft
[COLOR_parser_util__InjectedLexer__is_finished
]))(self
) /* is_finished on <self:InjectedLexer>*/;
1415 var17
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_util__InjectedLexer__get_token
]))(self
) /* get_token on <self:InjectedLexer>*/;
1417 /* <var_next:nullable Token> isa EOF */
1418 cltype
= type_parser_nodes__EOF
.color
;
1419 idtype
= type_parser_nodes__EOF
.id
;
1420 if(var_next
== NULL
) {
1423 if(cltype
>= var_next
->type
->table_size
) {
1426 var18
= var_next
->type
->type_table
[cltype
] == idtype
;
1435 var20
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_util__InjectedLexer__injected_after
]))(self
) /* injected_after on <self:InjectedLexer>*/;
1436 ((void (*)(val
*, val
*))(var20
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var20
, var_next
) /* push on <var20:List[Token]>*/;
1438 ((void (*)(val
*, short int))(self
->class->vft
[COLOR_parser_util__InjectedLexer__is_finished_61d
]))(self
, var21
) /* is_finished= on <self:InjectedLexer>*/;
1441 var22
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_util__InjectedLexer__injected_after
]))(self
) /* injected_after on <self:InjectedLexer>*/;
1442 var23
= ((val
* (*)(val
*))(var22
->class->vft
[COLOR_abstract_collection__Sequence__shift
]))(var22
) /* shift on <var22:List[Token]>*/;
1444 var25
= var_tok24
->attrs
[COLOR_parser_nodes__ANode___location
].val
; /* _location on <var_tok24:Token> */
1446 if (var25
== NULL
) {
1447 var27
= 1; /* is null */
1449 var27
= 0; /* arg is null but recv is not */
1452 var28
= NEW_location__Location(&type_location__Location
);
1453 var29
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_lexer__Lexer__file
]))(self
) /* file on <self:InjectedLexer>*/;
1458 ((void (*)(val
*, val
*, long, long, long, long))(var28
->class->vft
[COLOR_location__Location__init
]))(var28
, var29
, var30
, var31
, var32
, var33
) /* init on <var28:Location>*/;
1459 CHECK_NEW_location__Location(var28
);
1460 var_tok24
->attrs
[COLOR_parser_nodes__ANode___location
].val
= var28
; /* _location on <var_tok24:Token> */
1468 /* method parser_util#InjectedLexer#get_token for (self: Object): nullable Token */
1469 val
* VIRTUAL_parser_util__InjectedLexer__get_token(val
* self
) {
1470 val
* var
/* : nullable Token */;
1471 val
* var1
/* : nullable Token */;
1472 var1
= parser_util__InjectedLexer__get_token(self
);
1477 /* method parser_util#ANode#collect_tokens_by_text for (self: ANode, String): Array[Token] */
1478 val
* parser_util__ANode__collect_tokens_by_text(val
* self
, val
* p0
) {
1479 val
* var
/* : Array[Token] */;
1480 val
* var_text
/* var text: String */;
1481 val
* var1
/* : CollectTokensByTextVisitor */;
1482 val
* var_v
/* var v: CollectTokensByTextVisitor */;
1483 val
* var2
/* : Array[Token] */;
1485 var1
= NEW_parser_util__CollectTokensByTextVisitor(&type_parser_util__CollectTokensByTextVisitor
);
1486 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_parser_util__CollectTokensByTextVisitor__init
]))(var1
, var_text
) /* init on <var1:CollectTokensByTextVisitor>*/;
1487 CHECK_NEW_parser_util__CollectTokensByTextVisitor(var1
);
1489 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_parser_nodes__Visitor__enter_visit
]))(var_v
, self
) /* enter_visit on <var_v:CollectTokensByTextVisitor>*/;
1490 var2
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_parser_util__CollectTokensByTextVisitor__result
]))(var_v
) /* result on <var_v:CollectTokensByTextVisitor>*/;
1496 /* method parser_util#ANode#collect_tokens_by_text for (self: Object, String): Array[Token] */
1497 val
* VIRTUAL_parser_util__ANode__collect_tokens_by_text(val
* self
, val
* p0
) {
1498 val
* var
/* : Array[Token] */;
1499 val
* var1
/* : Array[Token] */;
1500 var1
= parser_util__ANode__collect_tokens_by_text(self
, p0
);
1505 /* method parser_util#ANode#collect_annotations_by_name for (self: ANode, String): Array[AAnnotation] */
1506 val
* parser_util__ANode__collect_annotations_by_name(val
* self
, val
* p0
) {
1507 val
* var
/* : Array[AAnnotation] */;
1508 val
* var_name
/* var name: String */;
1509 val
* var1
/* : CollectAnnotationsByNameVisitor */;
1510 val
* var_v
/* var v: CollectAnnotationsByNameVisitor */;
1511 val
* var2
/* : Array[AAnnotation] */;
1513 var1
= NEW_parser_util__CollectAnnotationsByNameVisitor(&type_parser_util__CollectAnnotationsByNameVisitor
);
1514 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_parser_util__CollectAnnotationsByNameVisitor__init
]))(var1
, var_name
) /* init on <var1:CollectAnnotationsByNameVisitor>*/;
1515 CHECK_NEW_parser_util__CollectAnnotationsByNameVisitor(var1
);
1517 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_parser_nodes__Visitor__enter_visit
]))(var_v
, self
) /* enter_visit on <var_v:CollectAnnotationsByNameVisitor>*/;
1518 var2
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_parser_util__CollectAnnotationsByNameVisitor__result
]))(var_v
) /* result on <var_v:CollectAnnotationsByNameVisitor>*/;
1524 /* method parser_util#ANode#collect_annotations_by_name for (self: Object, String): Array[AAnnotation] */
1525 val
* VIRTUAL_parser_util__ANode__collect_annotations_by_name(val
* self
, val
* p0
) {
1526 val
* var
/* : Array[AAnnotation] */;
1527 val
* var1
/* : Array[AAnnotation] */;
1528 var1
= parser_util__ANode__collect_annotations_by_name(self
, p0
);
1533 /* method parser_util#CollectTokensByTextVisitor#text for (self: CollectTokensByTextVisitor): String */
1534 val
* parser_util__CollectTokensByTextVisitor__text(val
* self
) {
1535 val
* var
/* : String */;
1536 val
* var1
/* : String */;
1537 var1
= self
->attrs
[COLOR_parser_util__CollectTokensByTextVisitor___64dtext
].val
; /* @text on <self:CollectTokensByTextVisitor> */
1539 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @text");
1540 fprintf(stderr
, " (%s:%d)\n", "src/parser_util.nit", 213);
1547 /* method parser_util#CollectTokensByTextVisitor#text for (self: Object): String */
1548 val
* VIRTUAL_parser_util__CollectTokensByTextVisitor__text(val
* self
) {
1549 val
* var
/* : String */;
1550 val
* var1
/* : String */;
1551 var1
= parser_util__CollectTokensByTextVisitor__text(self
);
1556 /* method parser_util#CollectTokensByTextVisitor#text= for (self: CollectTokensByTextVisitor, String) */
1557 void parser_util__CollectTokensByTextVisitor__text_61d(val
* self
, val
* p0
) {
1558 self
->attrs
[COLOR_parser_util__CollectTokensByTextVisitor___64dtext
].val
= p0
; /* @text on <self:CollectTokensByTextVisitor> */
1561 /* method parser_util#CollectTokensByTextVisitor#text= for (self: Object, String) */
1562 void VIRTUAL_parser_util__CollectTokensByTextVisitor__text_61d(val
* self
, val
* p0
) {
1563 parser_util__CollectTokensByTextVisitor__text_61d(self
, p0
);
1566 /* method parser_util#CollectTokensByTextVisitor#init for (self: CollectTokensByTextVisitor, String) */
1567 void parser_util__CollectTokensByTextVisitor__init(val
* self
, val
* p0
) {
1568 val
* var_text
/* var text: String */;
1570 ((void (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__Visitor__init
]))(self
) /* init on <self:CollectTokensByTextVisitor>*/;
1571 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_util__CollectTokensByTextVisitor__text_61d
]))(self
, var_text
) /* text= on <self:CollectTokensByTextVisitor>*/;
1574 /* method parser_util#CollectTokensByTextVisitor#init for (self: Object, String) */
1575 void VIRTUAL_parser_util__CollectTokensByTextVisitor__init(val
* self
, val
* p0
) {
1576 parser_util__CollectTokensByTextVisitor__init(self
, p0
);
1579 /* method parser_util#CollectTokensByTextVisitor#result for (self: CollectTokensByTextVisitor): Array[Token] */
1580 val
* parser_util__CollectTokensByTextVisitor__result(val
* self
) {
1581 val
* var
/* : Array[Token] */;
1582 val
* var1
/* : Array[Token] */;
1583 var1
= self
->attrs
[COLOR_parser_util__CollectTokensByTextVisitor___64dresult
].val
; /* @result on <self:CollectTokensByTextVisitor> */
1585 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @result");
1586 fprintf(stderr
, " (%s:%d)\n", "src/parser_util.nit", 215);
1593 /* method parser_util#CollectTokensByTextVisitor#result for (self: Object): Array[Token] */
1594 val
* VIRTUAL_parser_util__CollectTokensByTextVisitor__result(val
* self
) {
1595 val
* var
/* : Array[Token] */;
1596 val
* var1
/* : Array[Token] */;
1597 var1
= parser_util__CollectTokensByTextVisitor__result(self
);
1602 /* method parser_util#CollectTokensByTextVisitor#result= for (self: CollectTokensByTextVisitor, Array[Token]) */
1603 void parser_util__CollectTokensByTextVisitor__result_61d(val
* self
, val
* p0
) {
1604 self
->attrs
[COLOR_parser_util__CollectTokensByTextVisitor___64dresult
].val
= p0
; /* @result on <self:CollectTokensByTextVisitor> */
1607 /* method parser_util#CollectTokensByTextVisitor#result= for (self: Object, Array[Token]) */
1608 void VIRTUAL_parser_util__CollectTokensByTextVisitor__result_61d(val
* self
, val
* p0
) {
1609 parser_util__CollectTokensByTextVisitor__result_61d(self
, p0
);
1612 /* method parser_util#CollectTokensByTextVisitor#visit for (self: CollectTokensByTextVisitor, ANode) */
1613 void parser_util__CollectTokensByTextVisitor__visit(val
* self
, val
* p0
) {
1614 val
* var_node
/* var node: ANode */;
1615 short int var
/* : Bool */;
1616 short int var1
/* : Bool */;
1619 short int var_
/* var : Bool */;
1620 val
* var2
/* : String */;
1621 val
* var3
/* : String */;
1622 short int var4
/* : Bool */;
1623 val
* var5
/* : Array[Token] */;
1625 ((void (*)(val
*, val
*))(var_node
->class->vft
[COLOR_parser_nodes__ANode__visit_all
]))(var_node
, self
) /* visit_all on <var_node:ANode>*/;
1626 /* <var_node:ANode> isa Token */
1627 cltype
= type_parser_nodes__Token
.color
;
1628 idtype
= type_parser_nodes__Token
.id
;
1629 if(cltype
>= var_node
->type
->table_size
) {
1632 var1
= var_node
->type
->type_table
[cltype
] == idtype
;
1636 var2
= ((val
* (*)(val
*))(var_node
->class->vft
[COLOR_parser_nodes__Token__text
]))(var_node
) /* text on <var_node:ANode(Token)>*/;
1637 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_util__CollectTokensByTextVisitor__text
]))(self
) /* text on <self:CollectTokensByTextVisitor>*/;
1638 var4
= ((short int (*)(val
*, val
*))(var2
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var2
, var3
) /* == on <var2:String>*/;
1644 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_util__CollectTokensByTextVisitor__result
]))(self
) /* result on <self:CollectTokensByTextVisitor>*/;
1645 ((void (*)(val
*, val
*))(var5
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var5
, var_node
) /* add on <var5:Array[Token]>*/;
1650 /* method parser_util#CollectTokensByTextVisitor#visit for (self: Object, ANode) */
1651 void VIRTUAL_parser_util__CollectTokensByTextVisitor__visit(val
* self
, val
* p0
) {
1652 parser_util__CollectTokensByTextVisitor__visit(self
, p0
);
1655 /* method parser_util#CollectAnnotationsByNameVisitor#name for (self: CollectAnnotationsByNameVisitor): String */
1656 val
* parser_util__CollectAnnotationsByNameVisitor__name(val
* self
) {
1657 val
* var
/* : String */;
1658 val
* var1
/* : String */;
1659 var1
= self
->attrs
[COLOR_parser_util__CollectAnnotationsByNameVisitor___64dname
].val
; /* @name on <self:CollectAnnotationsByNameVisitor> */
1661 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @name");
1662 fprintf(stderr
, " (%s:%d)\n", "src/parser_util.nit", 225);
1669 /* method parser_util#CollectAnnotationsByNameVisitor#name for (self: Object): String */
1670 val
* VIRTUAL_parser_util__CollectAnnotationsByNameVisitor__name(val
* self
) {
1671 val
* var
/* : String */;
1672 val
* var1
/* : String */;
1673 var1
= parser_util__CollectAnnotationsByNameVisitor__name(self
);
1678 /* method parser_util#CollectAnnotationsByNameVisitor#name= for (self: CollectAnnotationsByNameVisitor, String) */
1679 void parser_util__CollectAnnotationsByNameVisitor__name_61d(val
* self
, val
* p0
) {
1680 self
->attrs
[COLOR_parser_util__CollectAnnotationsByNameVisitor___64dname
].val
= p0
; /* @name on <self:CollectAnnotationsByNameVisitor> */
1683 /* method parser_util#CollectAnnotationsByNameVisitor#name= for (self: Object, String) */
1684 void VIRTUAL_parser_util__CollectAnnotationsByNameVisitor__name_61d(val
* self
, val
* p0
) {
1685 parser_util__CollectAnnotationsByNameVisitor__name_61d(self
, p0
);
1688 /* method parser_util#CollectAnnotationsByNameVisitor#init for (self: CollectAnnotationsByNameVisitor, String) */
1689 void parser_util__CollectAnnotationsByNameVisitor__init(val
* self
, val
* p0
) {
1690 val
* var_name
/* var name: String */;
1692 ((void (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__Visitor__init
]))(self
) /* init on <self:CollectAnnotationsByNameVisitor>*/;
1693 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_util__CollectAnnotationsByNameVisitor__name_61d
]))(self
, var_name
) /* name= on <self:CollectAnnotationsByNameVisitor>*/;
1696 /* method parser_util#CollectAnnotationsByNameVisitor#init for (self: Object, String) */
1697 void VIRTUAL_parser_util__CollectAnnotationsByNameVisitor__init(val
* self
, val
* p0
) {
1698 parser_util__CollectAnnotationsByNameVisitor__init(self
, p0
);
1701 /* method parser_util#CollectAnnotationsByNameVisitor#result for (self: CollectAnnotationsByNameVisitor): Array[AAnnotation] */
1702 val
* parser_util__CollectAnnotationsByNameVisitor__result(val
* self
) {
1703 val
* var
/* : Array[AAnnotation] */;
1704 val
* var1
/* : Array[AAnnotation] */;
1705 var1
= self
->attrs
[COLOR_parser_util__CollectAnnotationsByNameVisitor___64dresult
].val
; /* @result on <self:CollectAnnotationsByNameVisitor> */
1707 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @result");
1708 fprintf(stderr
, " (%s:%d)\n", "src/parser_util.nit", 227);
1715 /* method parser_util#CollectAnnotationsByNameVisitor#result for (self: Object): Array[AAnnotation] */
1716 val
* VIRTUAL_parser_util__CollectAnnotationsByNameVisitor__result(val
* self
) {
1717 val
* var
/* : Array[AAnnotation] */;
1718 val
* var1
/* : Array[AAnnotation] */;
1719 var1
= parser_util__CollectAnnotationsByNameVisitor__result(self
);
1724 /* method parser_util#CollectAnnotationsByNameVisitor#result= for (self: CollectAnnotationsByNameVisitor, Array[AAnnotation]) */
1725 void parser_util__CollectAnnotationsByNameVisitor__result_61d(val
* self
, val
* p0
) {
1726 self
->attrs
[COLOR_parser_util__CollectAnnotationsByNameVisitor___64dresult
].val
= p0
; /* @result on <self:CollectAnnotationsByNameVisitor> */
1729 /* method parser_util#CollectAnnotationsByNameVisitor#result= for (self: Object, Array[AAnnotation]) */
1730 void VIRTUAL_parser_util__CollectAnnotationsByNameVisitor__result_61d(val
* self
, val
* p0
) {
1731 parser_util__CollectAnnotationsByNameVisitor__result_61d(self
, p0
);
1734 /* method parser_util#CollectAnnotationsByNameVisitor#visit for (self: CollectAnnotationsByNameVisitor, ANode) */
1735 void parser_util__CollectAnnotationsByNameVisitor__visit(val
* self
, val
* p0
) {
1736 val
* var_node
/* var node: ANode */;
1737 short int var
/* : Bool */;
1738 short int var1
/* : Bool */;
1741 short int var_
/* var : Bool */;
1742 val
* var2
/* : AAtid */;
1743 val
* var3
/* : Token */;
1744 val
* var4
/* : String */;
1745 val
* var5
/* : String */;
1746 short int var6
/* : Bool */;
1747 val
* var7
/* : Array[AAnnotation] */;
1749 ((void (*)(val
*, val
*))(var_node
->class->vft
[COLOR_parser_nodes__ANode__visit_all
]))(var_node
, self
) /* visit_all on <var_node:ANode>*/;
1750 /* <var_node:ANode> isa AAnnotation */
1751 cltype
= type_parser_nodes__AAnnotation
.color
;
1752 idtype
= type_parser_nodes__AAnnotation
.id
;
1753 if(cltype
>= var_node
->type
->table_size
) {
1756 var1
= var_node
->type
->type_table
[cltype
] == idtype
;
1760 var2
= ((val
* (*)(val
*))(var_node
->class->vft
[COLOR_parser_nodes__AAnnotation__n_atid
]))(var_node
) /* n_atid on <var_node:ANode(AAnnotation)>*/;
1761 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_parser_nodes__AAtid__n_id
]))(var2
) /* n_id on <var2:AAtid>*/;
1762 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_parser_nodes__Token__text
]))(var3
) /* text on <var3:Token>*/;
1763 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_util__CollectAnnotationsByNameVisitor__name
]))(self
) /* name on <self:CollectAnnotationsByNameVisitor>*/;
1764 var6
= ((short int (*)(val
*, val
*))(var4
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var4
, var5
) /* == on <var4:String>*/;
1770 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_util__CollectAnnotationsByNameVisitor__result
]))(self
) /* result on <self:CollectAnnotationsByNameVisitor>*/;
1771 ((void (*)(val
*, val
*))(var7
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var7
, var_node
) /* add on <var7:Array[AAnnotation]>*/;
1776 /* method parser_util#CollectAnnotationsByNameVisitor#visit for (self: Object, ANode) */
1777 void VIRTUAL_parser_util__CollectAnnotationsByNameVisitor__visit(val
* self
, val
* p0
) {
1778 parser_util__CollectAnnotationsByNameVisitor__visit(self
, p0
);