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 (%s:%d)\n", "Aborted", "src/parser_util.nit", 34);
97 var22
= ((val
* (*)(val
*))(var_tree
->class->vft
[COLOR_parser_nodes__Start__n_base
]))(var_tree
) /* n_base on <var_tree:Start>*/;
99 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 36);
107 /* method parser_util#ToolContext#parse_module for (self: Object, String): AModule */
108 val
* VIRTUAL_parser_util__ToolContext__parse_module(val
* self
, val
* p0
) {
109 val
* var
/* : AModule */;
110 val
* var1
/* : AModule */;
111 var1
= parser_util__ToolContext__parse_module(self
, p0
);
116 /* method parser_util#ToolContext#parse_classdef for (self: ToolContext, String): AClassdef */
117 val
* parser_util__ToolContext__parse_classdef(val
* self
, val
* p0
) {
118 val
* var
/* : AClassdef */;
119 val
* var_string
/* var string: String */;
120 val
* var1
/* : AModule */;
121 val
* var_nmodule
/* var nmodule: AModule */;
122 val
* var2
/* : ANodes[AClassdef] */;
123 val
* var_nclassdefs
/* var nclassdefs: ANodes[AClassdef] */;
124 long var3
/* : Int */;
125 long var4
/* : Int */;
126 short int var5
/* : Bool */;
127 short int var7
/* : Bool */;
128 short int var8
/* : Bool */;
129 val
* var9
/* : null */;
131 val
* var10
/* : String */;
132 char* var11
/* : NativeString */;
133 long var12
/* : Int */;
134 val
* var13
/* : String */;
135 val
* var14
/* : nullable Object */;
137 var1
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_util__ToolContext__parse_module
]))(self
, var_string
) /* parse_module on <self:ToolContext>*/;
139 var2
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_parser_nodes__AModule__n_classdefs
]))(var_nmodule
) /* n_classdefs on <var_nmodule:AModule>*/;
140 var_nclassdefs
= var2
;
141 var3
= ((long (*)(val
*))(var_nclassdefs
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_nclassdefs
) /* length on <var_nclassdefs:ANodes[AClassdef]>*/;
143 { /* Inline kernel#Int#!= (var3,var4) */
155 var11
= "Fatal Error: not a classdef";
157 var13
= string__NativeString__to_s_with_length(var11
, var12
);
161 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_toolcontext__ToolContext__fatal_error
]))(self
, var9
, var10
) /* fatal_error on <self:ToolContext>*/;
162 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser_util.nit", 47);
166 var14
= ((val
* (*)(val
*))(var_nclassdefs
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_nclassdefs
) /* first on <var_nclassdefs:ANodes[AClassdef]>*/;
172 /* method parser_util#ToolContext#parse_classdef for (self: Object, String): AClassdef */
173 val
* VIRTUAL_parser_util__ToolContext__parse_classdef(val
* self
, val
* p0
) {
174 val
* var
/* : AClassdef */;
175 val
* var1
/* : AClassdef */;
176 var1
= parser_util__ToolContext__parse_classdef(self
, p0
);
181 /* method parser_util#ToolContext#parse_propdef for (self: ToolContext, String): APropdef */
182 val
* parser_util__ToolContext__parse_propdef(val
* self
, val
* p0
) {
183 val
* var
/* : APropdef */;
184 val
* var_string
/* var string: String */;
185 val
* var1
/* : Array[Object] */;
186 long var2
/* : Int */;
187 val
* var_
/* var : Array[Object] */;
189 val
* var3
/* : String */;
190 char* var4
/* : NativeString */;
191 long var5
/* : Int */;
192 val
* var6
/* : String */;
193 static val
* varonce7
;
194 val
* var8
/* : String */;
195 char* var9
/* : NativeString */;
196 long var10
/* : Int */;
197 val
* var11
/* : String */;
198 val
* var12
/* : String */;
199 val
* var_mod_string
/* var mod_string: String */;
200 val
* var13
/* : AClassdef */;
201 val
* var_nclassdef
/* var nclassdef: AClassdef */;
202 val
* var14
/* : ANodes[APropdef] */;
203 val
* var_npropdefs
/* var npropdefs: ANodes[APropdef] */;
204 long var15
/* : Int */;
205 long var16
/* : Int */;
206 short int var17
/* : Bool */;
207 short int var19
/* : Bool */;
208 short int var20
/* : Bool */;
209 val
* var21
/* : null */;
210 static val
* varonce22
;
211 val
* var23
/* : String */;
212 char* var24
/* : NativeString */;
213 long var25
/* : Int */;
214 val
* var26
/* : String */;
215 val
* var27
/* : nullable Object */;
217 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
219 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_array__Array__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Array[Object]>*/;
220 CHECK_NEW_array__Array(var1
);
225 var4
= "class Dummy\n";
227 var6
= string__NativeString__to_s_with_length(var4
, var5
);
231 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var3
) /* add on <var_:Array[Object]>*/;
232 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var_string
) /* add on <var_:Array[Object]>*/;
238 var11
= string__NativeString__to_s_with_length(var9
, var10
);
242 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var8
) /* add on <var_:Array[Object]>*/;
243 var12
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
244 var_mod_string
= var12
;
245 var13
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_util__ToolContext__parse_classdef
]))(self
, var_mod_string
) /* parse_classdef on <self:ToolContext>*/;
246 var_nclassdef
= var13
;
247 var14
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_parser_nodes__AClassdef__n_propdefs
]))(var_nclassdef
) /* n_propdefs on <var_nclassdef:AClassdef>*/;
248 var_npropdefs
= var14
;
249 var15
= ((long (*)(val
*))(var_npropdefs
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_npropdefs
) /* length on <var_npropdefs:ANodes[APropdef]>*/;
251 { /* Inline kernel#Int#!= (var15,var16) */
252 var19
= var15
== var16
;
263 var24
= "Fatal Error: not a propdef";
265 var26
= string__NativeString__to_s_with_length(var24
, var25
);
269 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_toolcontext__ToolContext__fatal_error
]))(self
, var21
, var23
) /* fatal_error on <self:ToolContext>*/;
270 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser_util.nit", 61);
274 var27
= ((val
* (*)(val
*))(var_npropdefs
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_npropdefs
) /* first on <var_npropdefs:ANodes[APropdef]>*/;
280 /* method parser_util#ToolContext#parse_propdef for (self: Object, String): APropdef */
281 val
* VIRTUAL_parser_util__ToolContext__parse_propdef(val
* self
, val
* p0
) {
282 val
* var
/* : APropdef */;
283 val
* var1
/* : APropdef */;
284 var1
= parser_util__ToolContext__parse_propdef(self
, p0
);
289 /* method parser_util#ToolContext#parse_stmts for (self: ToolContext, String): AExpr */
290 val
* parser_util__ToolContext__parse_stmts(val
* self
, val
* p0
) {
291 val
* var
/* : AExpr */;
292 val
* var_string
/* var string: String */;
293 val
* var1
/* : Array[Object] */;
294 long var2
/* : Int */;
295 val
* var_
/* var : Array[Object] */;
297 val
* var3
/* : String */;
298 char* var4
/* : NativeString */;
299 long var5
/* : Int */;
300 val
* var6
/* : String */;
301 static val
* varonce7
;
302 val
* var8
/* : String */;
303 char* var9
/* : NativeString */;
304 long var10
/* : Int */;
305 val
* var11
/* : String */;
306 val
* var12
/* : String */;
307 val
* var_mod_string
/* var mod_string: String */;
308 val
* var13
/* : AModule */;
309 val
* var_nmodule
/* var nmodule: AModule */;
310 val
* var14
/* : ANodes[AClassdef] */;
311 val
* var15
/* : nullable Object */;
312 val
* var16
/* : ANodes[APropdef] */;
313 val
* var17
/* : nullable Object */;
314 short int var18
/* : Bool */;
317 val
* var19
/* : nullable AExpr */;
318 short int var20
/* : Bool */;
321 val
* var23
/* : ANodes[AExpr] */;
322 val
* var24
/* : nullable Object */;
323 short int var25
/* : Bool */;
326 val
* var28
/* : nullable AExpr */;
327 val
* var_nblock
/* var nblock: AExpr */;
329 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
331 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_array__Array__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Array[Object]>*/;
332 CHECK_NEW_array__Array(var1
);
339 var6
= string__NativeString__to_s_with_length(var4
, var5
);
343 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var3
) /* add on <var_:Array[Object]>*/;
344 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var_string
) /* add on <var_:Array[Object]>*/;
350 var11
= string__NativeString__to_s_with_length(var9
, var10
);
354 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var8
) /* add on <var_:Array[Object]>*/;
355 var12
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
356 var_mod_string
= var12
;
357 var13
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_util__ToolContext__parse_module
]))(self
, var_mod_string
) /* parse_module on <self:ToolContext>*/;
359 var14
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_parser_nodes__AModule__n_classdefs
]))(var_nmodule
) /* n_classdefs on <var_nmodule:AModule>*/;
360 var15
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var14
) /* first on <var14:ANodes[AClassdef]>*/;
361 var16
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_parser_nodes__AClassdef__n_propdefs
]))(var15
) /* n_propdefs on <var15:nullable Object(AClassdef)>*/;
362 var17
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var16
) /* first on <var16:ANodes[APropdef]>*/;
363 /* <var17:nullable Object(APropdef)> isa AMainMethPropdef */
364 cltype
= type_parser_nodes__AMainMethPropdef
.color
;
365 idtype
= type_parser_nodes__AMainMethPropdef
.id
;
366 if(cltype
>= var17
->type
->table_size
) {
369 var18
= var17
->type
->type_table
[cltype
] == idtype
;
372 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 72);
375 var19
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_parser_nodes__AConcreteMethPropdef__n_block
]))(var17
) /* n_block on <var17:APropdef(AMainMethPropdef)>*/;
376 /* <var19:nullable AExpr> isa ABlockExpr */
377 cltype21
= type_parser_nodes__ABlockExpr
.color
;
378 idtype22
= type_parser_nodes__ABlockExpr
.id
;
382 if(cltype21
>= var19
->type
->table_size
) {
385 var20
= var19
->type
->type_table
[cltype21
] == idtype22
;
389 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 72);
392 var23
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_parser_nodes__ABlockExpr__n_expr
]))(var19
) /* n_expr on <var19:nullable AExpr(ABlockExpr)>*/;
393 var24
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var23
) /* first on <var23:ANodes[AExpr]>*/;
394 /* <var24:nullable Object(AExpr)> isa ADoExpr */
395 cltype26
= type_parser_nodes__ADoExpr
.color
;
396 idtype27
= type_parser_nodes__ADoExpr
.id
;
397 if(cltype26
>= var24
->type
->table_size
) {
400 var25
= var24
->type
->type_table
[cltype26
] == idtype27
;
403 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 72);
406 var28
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_parser_nodes__ADoExpr__n_block
]))(var24
) /* n_block on <var24:AExpr(ADoExpr)>*/;
408 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 72);
417 /* method parser_util#ToolContext#parse_stmts for (self: Object, String): AExpr */
418 val
* VIRTUAL_parser_util__ToolContext__parse_stmts(val
* self
, val
* p0
) {
419 val
* var
/* : AExpr */;
420 val
* var1
/* : AExpr */;
421 var1
= parser_util__ToolContext__parse_stmts(self
, p0
);
426 /* method parser_util#ToolContext#parse_expr for (self: ToolContext, String): AExpr */
427 val
* parser_util__ToolContext__parse_expr(val
* self
, val
* p0
) {
428 val
* var
/* : AExpr */;
429 val
* var_string
/* var string: String */;
430 val
* var1
/* : Array[Object] */;
431 long var2
/* : Int */;
432 val
* var_
/* var : Array[Object] */;
434 val
* var3
/* : String */;
435 char* var4
/* : NativeString */;
436 long var5
/* : Int */;
437 val
* var6
/* : String */;
438 static val
* varonce7
;
439 val
* var8
/* : String */;
440 char* var9
/* : NativeString */;
441 long var10
/* : Int */;
442 val
* var11
/* : String */;
443 val
* var12
/* : String */;
444 val
* var_mod_string
/* var mod_string: String */;
445 val
* var13
/* : AModule */;
446 val
* var_nmodule
/* var nmodule: AModule */;
447 val
* var14
/* : ANodes[AClassdef] */;
448 val
* var15
/* : nullable Object */;
449 val
* var16
/* : ANodes[APropdef] */;
450 val
* var17
/* : nullable Object */;
451 short int var18
/* : Bool */;
454 val
* var19
/* : nullable AExpr */;
455 short int var20
/* : Bool */;
458 val
* var23
/* : ANodes[AExpr] */;
459 val
* var24
/* : nullable Object */;
460 short int var25
/* : Bool */;
463 val
* var28
/* : nullable AExpr */;
464 val
* var_nexpr
/* var nexpr: AExpr */;
466 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
468 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_array__Array__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Array[Object]>*/;
469 CHECK_NEW_array__Array(var1
);
474 var4
= "var dummy = \n";
476 var6
= string__NativeString__to_s_with_length(var4
, var5
);
480 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var3
) /* add on <var_:Array[Object]>*/;
481 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var_string
) /* add on <var_:Array[Object]>*/;
487 var11
= string__NativeString__to_s_with_length(var9
, var10
);
491 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var8
) /* add on <var_:Array[Object]>*/;
492 var12
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
493 var_mod_string
= var12
;
494 var13
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_util__ToolContext__parse_module
]))(self
, var_mod_string
) /* parse_module on <self:ToolContext>*/;
496 var14
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_parser_nodes__AModule__n_classdefs
]))(var_nmodule
) /* n_classdefs on <var_nmodule:AModule>*/;
497 var15
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var14
) /* first on <var14:ANodes[AClassdef]>*/;
498 var16
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_parser_nodes__AClassdef__n_propdefs
]))(var15
) /* n_propdefs on <var15:nullable Object(AClassdef)>*/;
499 var17
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var16
) /* first on <var16:ANodes[APropdef]>*/;
500 /* <var17:nullable Object(APropdef)> isa AMainMethPropdef */
501 cltype
= type_parser_nodes__AMainMethPropdef
.color
;
502 idtype
= type_parser_nodes__AMainMethPropdef
.id
;
503 if(cltype
>= var17
->type
->table_size
) {
506 var18
= var17
->type
->type_table
[cltype
] == idtype
;
509 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 82);
512 var19
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_parser_nodes__AConcreteMethPropdef__n_block
]))(var17
) /* n_block on <var17:APropdef(AMainMethPropdef)>*/;
513 /* <var19:nullable AExpr> isa ABlockExpr */
514 cltype21
= type_parser_nodes__ABlockExpr
.color
;
515 idtype22
= type_parser_nodes__ABlockExpr
.id
;
519 if(cltype21
>= var19
->type
->table_size
) {
522 var20
= var19
->type
->type_table
[cltype21
] == idtype22
;
526 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 82);
529 var23
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_parser_nodes__ABlockExpr__n_expr
]))(var19
) /* n_expr on <var19:nullable AExpr(ABlockExpr)>*/;
530 var24
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var23
) /* first on <var23:ANodes[AExpr]>*/;
531 /* <var24:nullable Object(AExpr)> isa AVardeclExpr */
532 cltype26
= type_parser_nodes__AVardeclExpr
.color
;
533 idtype27
= type_parser_nodes__AVardeclExpr
.id
;
534 if(cltype26
>= var24
->type
->table_size
) {
537 var25
= var24
->type
->type_table
[cltype26
] == idtype27
;
540 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 82);
543 var28
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_parser_nodes__AVardeclExpr__n_expr
]))(var24
) /* n_expr on <var24:AExpr(AVardeclExpr)>*/;
545 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 82);
554 /* method parser_util#ToolContext#parse_expr for (self: Object, String): AExpr */
555 val
* VIRTUAL_parser_util__ToolContext__parse_expr(val
* self
, val
* p0
) {
556 val
* var
/* : AExpr */;
557 val
* var1
/* : AExpr */;
558 var1
= parser_util__ToolContext__parse_expr(self
, p0
);
563 /* method parser_util#ToolContext#parse_something for (self: ToolContext, String): ANode */
564 val
* parser_util__ToolContext__parse_something(val
* self
, val
* p0
) {
565 val
* var
/* : ANode */;
566 val
* var_string
/* var string: String */;
567 val
* var1
/* : SourceFile */;
569 val
* var2
/* : String */;
570 char* var3
/* : NativeString */;
571 long var4
/* : Int */;
572 val
* var5
/* : String */;
573 val
* var_source
/* var source: SourceFile */;
574 val
* var6
/* : InjectedLexer */;
575 val
* var_lexer
/* var lexer: nullable Object */;
576 val
* var7
/* : List[Token] */;
577 val
* var8
/* : TKwvar */;
578 val
* var9
/* : List[Token] */;
579 val
* var10
/* : TId */;
580 val
* var11
/* : List[Token] */;
581 val
* var12
/* : TColumn */;
582 val
* var13
/* : List[Token] */;
583 val
* var14
/* : TClassid */;
584 val
* var15
/* : List[Token] */;
585 val
* var16
/* : TObra */;
586 val
* var17
/* : List[Token] */;
587 val
* var18
/* : TCbra */;
588 val
* var19
/* : Parser */;
589 val
* var20
/* : Start */;
590 val
* var_tree
/* var tree: nullable Object */;
591 val
* var21
/* : EOF */;
592 val
* var_eof
/* var eof: nullable Object */;
593 short int var22
/* : Bool */;
596 short int var23
/* : Bool */;
597 val
* var24
/* : nullable AModule */;
598 val
* var25
/* : ANodes[AClassdef] */;
599 val
* var26
/* : nullable Object */;
600 val
* var27
/* : ANodes[APropdef] */;
601 val
* var28
/* : nullable Object */;
602 short int var29
/* : Bool */;
605 val
* var32
/* : nullable AExpr */;
606 short int var33
/* : Bool */;
609 val
* var36
/* : ANodes[AExpr] */;
610 val
* var37
/* : nullable Object */;
611 short int var38
/* : Bool */;
614 val
* var41
/* : nullable AType */;
615 val
* var42
/* : ANodes[AType] */;
616 val
* var43
/* : nullable Object */;
617 val
* var_ntype
/* var ntype: AType */;
618 val
* var_error
/* var error: nullable Object */;
619 val
* var44
/* : Lexer */;
620 val
* var45
/* : Token */;
621 val
* var_first
/* var first: Token */;
622 short int var46
/* : Bool */;
625 short int var49
/* : Bool */;
626 val
* var50
/* : Token */;
627 val
* var_second
/* var second: Token */;
628 short int var51
/* : Bool */;
629 short int var52
/* : Bool */;
632 short int var_
/* var : Bool */;
633 short int var55
/* : Bool */;
636 short int var58
/* : Bool */;
637 val
* var59
/* : InjectedLexer */;
638 val
* var60
/* : List[Token] */;
639 val
* var61
/* : TKwvar */;
640 val
* var62
/* : List[Token] */;
641 val
* var63
/* : TId */;
642 val
* var64
/* : List[Token] */;
643 val
* var65
/* : TAssign */;
644 val
* var66
/* : List[Token] */;
645 val
* var67
/* : TOpar */;
646 val
* var68
/* : List[Token] */;
647 val
* var69
/* : TCpar */;
648 val
* var70
/* : Parser */;
649 val
* var71
/* : Start */;
650 val
* var72
/* : EOF */;
651 short int var73
/* : Bool */;
654 short int var76
/* : Bool */;
655 val
* var77
/* : nullable AModule */;
656 val
* var78
/* : ANodes[AClassdef] */;
657 val
* var79
/* : nullable Object */;
658 val
* var80
/* : ANodes[APropdef] */;
659 val
* var81
/* : nullable Object */;
660 short int var82
/* : Bool */;
663 val
* var85
/* : nullable AExpr */;
664 short int var86
/* : Bool */;
667 val
* var89
/* : ANodes[AExpr] */;
668 val
* var90
/* : nullable Object */;
669 short int var91
/* : Bool */;
672 val
* var94
/* : nullable AExpr */;
673 short int var95
/* : Bool */;
676 val
* var98
/* : AExpr */;
677 val
* var_nexpr
/* var nexpr: AExpr */;
678 val
* var99
/* : Location */;
679 val
* var100
/* : Location */;
680 short int var101
/* : Bool */;
681 val
* var102
/* : InjectedLexer */;
682 val
* var103
/* : List[Token] */;
683 val
* var104
/* : TKwdo */;
684 val
* var105
/* : List[Token] */;
685 val
* var106
/* : TKwend */;
686 val
* var107
/* : Parser */;
687 val
* var108
/* : Start */;
688 val
* var109
/* : EOF */;
689 short int var110
/* : Bool */;
692 short int var113
/* : Bool */;
693 val
* var114
/* : nullable AModule */;
694 val
* var115
/* : ANodes[AClassdef] */;
695 val
* var116
/* : nullable Object */;
696 val
* var117
/* : ANodes[APropdef] */;
697 val
* var118
/* : nullable Object */;
698 short int var119
/* : Bool */;
701 val
* var122
/* : nullable AExpr */;
702 short int var123
/* : Bool */;
705 val
* var126
/* : ANodes[AExpr] */;
706 val
* var127
/* : nullable Object */;
707 short int var128
/* : Bool */;
710 val
* var131
/* : nullable AExpr */;
711 val
* var_nblock
/* var nblock: AExpr */;
712 val
* var132
/* : Location */;
713 val
* var133
/* : Location */;
714 short int var134
/* : Bool */;
715 val
* var135
/* : Lexer */;
716 val
* var136
/* : Parser */;
717 val
* var137
/* : Start */;
718 val
* var138
/* : EOF */;
719 short int var139
/* : Bool */;
722 short int var142
/* : Bool */;
723 val
* var143
/* : nullable AModule */;
724 val
* var144
/* : Location */;
725 val
* var145
/* : Location */;
726 short int var146
/* : Bool */;
728 var1
= NEW_location__SourceFile(&type_location__SourceFile
);
734 var5
= string__NativeString__to_s_with_length(var3
, var4
);
738 ((void (*)(val
*, val
*, val
*))(var1
->class->vft
[COLOR_location__SourceFile__from_string
]))(var1
, var2
, var_string
) /* from_string on <var1:SourceFile>*/;
739 CHECK_NEW_location__SourceFile(var1
);
741 var6
= NEW_parser_util__InjectedLexer(&type_parser_util__InjectedLexer
);
742 ((void (*)(val
*, val
*))(var6
->class->vft
[COLOR_lexer__Lexer__init
]))(var6
, var_source
) /* init on <var6:InjectedLexer>*/;
743 CHECK_NEW_parser_util__InjectedLexer(var6
);
745 var7
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_parser_util__InjectedLexer__injected_before
]))(var_lexer
) /* injected_before on <var_lexer:nullable Object(InjectedLexer)>*/;
746 var8
= NEW_parser_nodes__TKwvar(&type_parser_nodes__TKwvar
);
747 ((void (*)(val
*))(var8
->class->vft
[COLOR_parser_nodes__TKwvar__init
]))(var8
) /* init on <var8:TKwvar>*/;
748 CHECK_NEW_parser_nodes__TKwvar(var8
);
749 ((void (*)(val
*, val
*))(var7
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var7
, var8
) /* add on <var7:List[Token]>*/;
750 var9
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_parser_util__InjectedLexer__injected_before
]))(var_lexer
) /* injected_before on <var_lexer:nullable Object(InjectedLexer)>*/;
751 var10
= NEW_parser_nodes__TId(&type_parser_nodes__TId
);
752 ((void (*)(val
*))(var10
->class->vft
[COLOR_parser_nodes__TId__init
]))(var10
) /* init on <var10:TId>*/;
753 CHECK_NEW_parser_nodes__TId(var10
);
754 ((void (*)(val
*, val
*))(var9
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var9
, var10
) /* add on <var9:List[Token]>*/;
755 var11
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_parser_util__InjectedLexer__injected_before
]))(var_lexer
) /* injected_before on <var_lexer:nullable Object(InjectedLexer)>*/;
756 var12
= NEW_parser_nodes__TColumn(&type_parser_nodes__TColumn
);
757 ((void (*)(val
*))(var12
->class->vft
[COLOR_parser_nodes__TColumn__init
]))(var12
) /* init on <var12:TColumn>*/;
758 CHECK_NEW_parser_nodes__TColumn(var12
);
759 ((void (*)(val
*, val
*))(var11
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var11
, var12
) /* add on <var11:List[Token]>*/;
760 var13
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_parser_util__InjectedLexer__injected_before
]))(var_lexer
) /* injected_before on <var_lexer:nullable Object(InjectedLexer)>*/;
761 var14
= NEW_parser_nodes__TClassid(&type_parser_nodes__TClassid
);
762 ((void (*)(val
*))(var14
->class->vft
[COLOR_parser_nodes__TClassid__init
]))(var14
) /* init on <var14:TClassid>*/;
763 CHECK_NEW_parser_nodes__TClassid(var14
);
764 ((void (*)(val
*, val
*))(var13
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var13
, var14
) /* add on <var13:List[Token]>*/;
765 var15
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_parser_util__InjectedLexer__injected_before
]))(var_lexer
) /* injected_before on <var_lexer:nullable Object(InjectedLexer)>*/;
766 var16
= NEW_parser_nodes__TObra(&type_parser_nodes__TObra
);
767 ((void (*)(val
*))(var16
->class->vft
[COLOR_parser_nodes__TObra__init
]))(var16
) /* init on <var16:TObra>*/;
768 CHECK_NEW_parser_nodes__TObra(var16
);
769 ((void (*)(val
*, val
*))(var15
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var15
, var16
) /* add on <var15:List[Token]>*/;
770 var17
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_parser_util__InjectedLexer__injected_after
]))(var_lexer
) /* injected_after on <var_lexer:nullable Object(InjectedLexer)>*/;
771 var18
= NEW_parser_nodes__TCbra(&type_parser_nodes__TCbra
);
772 ((void (*)(val
*))(var18
->class->vft
[COLOR_parser_nodes__TCbra__init
]))(var18
) /* init on <var18:TCbra>*/;
773 CHECK_NEW_parser_nodes__TCbra(var18
);
774 ((void (*)(val
*, val
*))(var17
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var17
, var18
) /* add on <var17:List[Token]>*/;
775 var19
= NEW_parser__Parser(&type_parser__Parser
);
776 ((void (*)(val
*, val
*))(var19
->class->vft
[COLOR_parser__Parser__init
]))(var19
, var_lexer
) /* init on <var19:Parser>*/;
777 CHECK_NEW_parser__Parser(var19
);
778 var20
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_parser__Parser__parse
]))(var19
) /* parse on <var19:Parser>*/;
780 var21
= ((val
* (*)(val
*))(var_tree
->class->vft
[COLOR_parser_nodes__Start__n_eof
]))(var_tree
) /* n_eof on <var_tree:nullable Object(Start)>*/;
782 /* <var_eof:nullable Object(EOF)> isa AError */
783 cltype
= type_parser_nodes__AError
.color
;
784 idtype
= type_parser_nodes__AError
.id
;
785 if(cltype
>= var_eof
->type
->table_size
) {
788 var22
= var_eof
->type
->type_table
[cltype
] == idtype
;
792 var24
= ((val
* (*)(val
*))(var_tree
->class->vft
[COLOR_parser_nodes__Start__n_base
]))(var_tree
) /* n_base on <var_tree:nullable Object(Start)>*/;
794 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser_util.nit", 114);
797 var25
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_parser_nodes__AModule__n_classdefs
]))(var24
) /* n_classdefs on <var24:nullable AModule>*/;
799 var26
= ((val
* (*)(val
*))(var25
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var25
) /* first on <var25:ANodes[AClassdef]>*/;
800 var27
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_parser_nodes__AClassdef__n_propdefs
]))(var26
) /* n_propdefs on <var26:nullable Object(AClassdef)>*/;
801 var28
= ((val
* (*)(val
*))(var27
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var27
) /* first on <var27:ANodes[APropdef]>*/;
802 /* <var28:nullable Object(APropdef)> isa AMainMethPropdef */
803 cltype30
= type_parser_nodes__AMainMethPropdef
.color
;
804 idtype31
= type_parser_nodes__AMainMethPropdef
.id
;
805 if(cltype30
>= var28
->type
->table_size
) {
808 var29
= var28
->type
->type_table
[cltype30
] == idtype31
;
811 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 114);
814 var32
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_parser_nodes__AConcreteMethPropdef__n_block
]))(var28
) /* n_block on <var28:APropdef(AMainMethPropdef)>*/;
815 /* <var32:nullable AExpr> isa ABlockExpr */
816 cltype34
= type_parser_nodes__ABlockExpr
.color
;
817 idtype35
= type_parser_nodes__ABlockExpr
.id
;
821 if(cltype34
>= var32
->type
->table_size
) {
824 var33
= var32
->type
->type_table
[cltype34
] == idtype35
;
828 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 114);
831 var36
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_parser_nodes__ABlockExpr__n_expr
]))(var32
) /* n_expr on <var32:nullable AExpr(ABlockExpr)>*/;
832 var37
= ((val
* (*)(val
*))(var36
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var36
) /* first on <var36:ANodes[AExpr]>*/;
833 /* <var37:nullable Object(AExpr)> isa AVardeclExpr */
834 cltype39
= type_parser_nodes__AVardeclExpr
.color
;
835 idtype40
= type_parser_nodes__AVardeclExpr
.id
;
836 if(cltype39
>= var37
->type
->table_size
) {
839 var38
= var37
->type
->type_table
[cltype39
] == idtype40
;
842 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 114);
845 var41
= ((val
* (*)(val
*))(var37
->class->vft
[COLOR_parser_nodes__AVardeclExpr__n_type
]))(var37
) /* n_type on <var37:AExpr(AVardeclExpr)>*/;
847 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser_util.nit", 114);
850 var42
= ((val
* (*)(val
*))(var41
->class->vft
[COLOR_parser_nodes__AType__n_types
]))(var41
) /* n_types on <var41:nullable AType>*/;
852 var43
= ((val
* (*)(val
*))(var42
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var42
) /* first on <var42:ANodes[AType]>*/;
859 var44
= NEW_lexer__Lexer(&type_lexer__Lexer
);
860 ((void (*)(val
*, val
*))(var44
->class->vft
[COLOR_lexer__Lexer__init
]))(var44
, var_source
) /* init on <var44:Lexer>*/;
861 CHECK_NEW_lexer__Lexer(var44
);
863 var45
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_lexer__Lexer__next
]))(var_lexer
) /* next on <var_lexer:nullable Object(Lexer)>*/;
865 /* <var_first:Token> isa EOF */
866 cltype47
= type_parser_nodes__EOF
.color
;
867 idtype48
= type_parser_nodes__EOF
.id
;
868 if(cltype47
>= var_first
->type
->table_size
) {
871 var46
= var_first
->type
->type_table
[cltype47
] == idtype48
;
875 var50
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_lexer__Lexer__next
]))(var_lexer
) /* next on <var_lexer:nullable Object(Lexer)>*/;
877 /* <var_second:Token> isa EOF */
878 cltype53
= type_parser_nodes__EOF
.color
;
879 idtype54
= type_parser_nodes__EOF
.id
;
880 if(cltype53
>= var_second
->type
->table_size
) {
883 var52
= var_second
->type
->type_table
[cltype53
] == idtype54
;
887 /* <var_second:Token(EOF)> isa AError */
888 cltype56
= type_parser_nodes__AError
.color
;
889 idtype57
= type_parser_nodes__AError
.id
;
890 if(cltype56
>= var_second
->type
->table_size
) {
893 var55
= var_second
->type
->type_table
[cltype56
] == idtype57
;
907 var59
= NEW_parser_util__InjectedLexer(&type_parser_util__InjectedLexer
);
908 ((void (*)(val
*, val
*))(var59
->class->vft
[COLOR_lexer__Lexer__init
]))(var59
, var_source
) /* init on <var59:InjectedLexer>*/;
909 CHECK_NEW_parser_util__InjectedLexer(var59
);
911 var60
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_parser_util__InjectedLexer__injected_before
]))(var_lexer
) /* injected_before on <var_lexer:nullable Object(InjectedLexer)>*/;
912 var61
= NEW_parser_nodes__TKwvar(&type_parser_nodes__TKwvar
);
913 ((void (*)(val
*))(var61
->class->vft
[COLOR_parser_nodes__TKwvar__init
]))(var61
) /* init on <var61:TKwvar>*/;
914 CHECK_NEW_parser_nodes__TKwvar(var61
);
915 ((void (*)(val
*, val
*))(var60
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var60
, var61
) /* add on <var60:List[Token]>*/;
916 var62
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_parser_util__InjectedLexer__injected_before
]))(var_lexer
) /* injected_before on <var_lexer:nullable Object(InjectedLexer)>*/;
917 var63
= NEW_parser_nodes__TId(&type_parser_nodes__TId
);
918 ((void (*)(val
*))(var63
->class->vft
[COLOR_parser_nodes__TId__init
]))(var63
) /* init on <var63:TId>*/;
919 CHECK_NEW_parser_nodes__TId(var63
);
920 ((void (*)(val
*, val
*))(var62
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var62
, var63
) /* add on <var62:List[Token]>*/;
921 var64
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_parser_util__InjectedLexer__injected_before
]))(var_lexer
) /* injected_before on <var_lexer:nullable Object(InjectedLexer)>*/;
922 var65
= NEW_parser_nodes__TAssign(&type_parser_nodes__TAssign
);
923 ((void (*)(val
*))(var65
->class->vft
[COLOR_parser_nodes__TAssign__init
]))(var65
) /* init on <var65:TAssign>*/;
924 CHECK_NEW_parser_nodes__TAssign(var65
);
925 ((void (*)(val
*, val
*))(var64
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var64
, var65
) /* add on <var64:List[Token]>*/;
926 var66
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_parser_util__InjectedLexer__injected_before
]))(var_lexer
) /* injected_before on <var_lexer:nullable Object(InjectedLexer)>*/;
927 var67
= NEW_parser_nodes__TOpar(&type_parser_nodes__TOpar
);
928 ((void (*)(val
*))(var67
->class->vft
[COLOR_parser_nodes__TOpar__init
]))(var67
) /* init on <var67:TOpar>*/;
929 CHECK_NEW_parser_nodes__TOpar(var67
);
930 ((void (*)(val
*, val
*))(var66
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var66
, var67
) /* add on <var66:List[Token]>*/;
931 var68
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_parser_util__InjectedLexer__injected_after
]))(var_lexer
) /* injected_after on <var_lexer:nullable Object(InjectedLexer)>*/;
932 var69
= NEW_parser_nodes__TCpar(&type_parser_nodes__TCpar
);
933 ((void (*)(val
*))(var69
->class->vft
[COLOR_parser_nodes__TCpar__init
]))(var69
) /* init on <var69:TCpar>*/;
934 CHECK_NEW_parser_nodes__TCpar(var69
);
935 ((void (*)(val
*, val
*))(var68
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var68
, var69
) /* add on <var68:List[Token]>*/;
936 var70
= NEW_parser__Parser(&type_parser__Parser
);
937 ((void (*)(val
*, val
*))(var70
->class->vft
[COLOR_parser__Parser__init
]))(var70
, var_lexer
) /* init on <var70:Parser>*/;
938 CHECK_NEW_parser__Parser(var70
);
939 var71
= ((val
* (*)(val
*))(var70
->class->vft
[COLOR_parser__Parser__parse
]))(var70
) /* parse on <var70:Parser>*/;
941 var72
= ((val
* (*)(val
*))(var_tree
->class->vft
[COLOR_parser_nodes__Start__n_eof
]))(var_tree
) /* n_eof on <var_tree:nullable Object(Start)>*/;
943 /* <var_eof:nullable Object(EOF)> isa AError */
944 cltype74
= type_parser_nodes__AError
.color
;
945 idtype75
= type_parser_nodes__AError
.id
;
946 if(cltype74
>= var_eof
->type
->table_size
) {
949 var73
= var_eof
->type
->type_table
[cltype74
] == idtype75
;
953 var77
= ((val
* (*)(val
*))(var_tree
->class->vft
[COLOR_parser_nodes__Start__n_base
]))(var_tree
) /* n_base on <var_tree:nullable Object(Start)>*/;
955 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser_util.nit", 137);
958 var78
= ((val
* (*)(val
*))(var77
->class->vft
[COLOR_parser_nodes__AModule__n_classdefs
]))(var77
) /* n_classdefs on <var77:nullable AModule>*/;
960 var79
= ((val
* (*)(val
*))(var78
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var78
) /* first on <var78:ANodes[AClassdef]>*/;
961 var80
= ((val
* (*)(val
*))(var79
->class->vft
[COLOR_parser_nodes__AClassdef__n_propdefs
]))(var79
) /* n_propdefs on <var79:nullable Object(AClassdef)>*/;
962 var81
= ((val
* (*)(val
*))(var80
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var80
) /* first on <var80:ANodes[APropdef]>*/;
963 /* <var81:nullable Object(APropdef)> isa AMainMethPropdef */
964 cltype83
= type_parser_nodes__AMainMethPropdef
.color
;
965 idtype84
= type_parser_nodes__AMainMethPropdef
.id
;
966 if(cltype83
>= var81
->type
->table_size
) {
969 var82
= var81
->type
->type_table
[cltype83
] == idtype84
;
972 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 137);
975 var85
= ((val
* (*)(val
*))(var81
->class->vft
[COLOR_parser_nodes__AConcreteMethPropdef__n_block
]))(var81
) /* n_block on <var81:APropdef(AMainMethPropdef)>*/;
976 /* <var85:nullable AExpr> isa ABlockExpr */
977 cltype87
= type_parser_nodes__ABlockExpr
.color
;
978 idtype88
= type_parser_nodes__ABlockExpr
.id
;
982 if(cltype87
>= var85
->type
->table_size
) {
985 var86
= var85
->type
->type_table
[cltype87
] == idtype88
;
989 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 137);
992 var89
= ((val
* (*)(val
*))(var85
->class->vft
[COLOR_parser_nodes__ABlockExpr__n_expr
]))(var85
) /* n_expr on <var85:nullable AExpr(ABlockExpr)>*/;
993 var90
= ((val
* (*)(val
*))(var89
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var89
) /* first on <var89:ANodes[AExpr]>*/;
994 /* <var90:nullable Object(AExpr)> isa AVardeclExpr */
995 cltype92
= type_parser_nodes__AVardeclExpr
.color
;
996 idtype93
= type_parser_nodes__AVardeclExpr
.id
;
997 if(cltype92
>= var90
->type
->table_size
) {
1000 var91
= var90
->type
->type_table
[cltype92
] == idtype93
;
1003 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 137);
1006 var94
= ((val
* (*)(val
*))(var90
->class->vft
[COLOR_parser_nodes__AVardeclExpr__n_expr
]))(var90
) /* n_expr on <var90:AExpr(AVardeclExpr)>*/;
1007 /* <var94:nullable AExpr> isa AParExpr */
1008 cltype96
= type_parser_nodes__AParExpr
.color
;
1009 idtype97
= type_parser_nodes__AParExpr
.id
;
1013 if(cltype96
>= var94
->type
->table_size
) {
1016 var95
= var94
->type
->type_table
[cltype96
] == idtype97
;
1020 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 137);
1023 var98
= ((val
* (*)(val
*))(var94
->class->vft
[COLOR_parser_nodes__AProxyExpr__n_expr
]))(var94
) /* n_expr on <var94:nullable AExpr(AParExpr)>*/;
1029 var99
= ((val
* (*)(val
*))(var_eof
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var_eof
) /* location on <var_eof:nullable Object(AError)>*/;
1030 var100
= ((val
* (*)(val
*))(var_error
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var_error
) /* location on <var_error:nullable Object(AError)>*/;
1031 var101
= ((short int (*)(val
*, val
*))(var99
->class->vft
[COLOR_kernel__Comparable___62d
]))(var99
, var100
) /* > on <var99:Location>*/;
1033 var_error
= var_eof
;
1036 var102
= NEW_parser_util__InjectedLexer(&type_parser_util__InjectedLexer
);
1037 ((void (*)(val
*, val
*))(var102
->class->vft
[COLOR_lexer__Lexer__init
]))(var102
, var_source
) /* init on <var102:InjectedLexer>*/;
1038 CHECK_NEW_parser_util__InjectedLexer(var102
);
1040 var103
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_parser_util__InjectedLexer__injected_before
]))(var_lexer
) /* injected_before on <var_lexer:nullable Object(InjectedLexer)>*/;
1041 var104
= NEW_parser_nodes__TKwdo(&type_parser_nodes__TKwdo
);
1042 ((void (*)(val
*))(var104
->class->vft
[COLOR_parser_nodes__TKwdo__init
]))(var104
) /* init on <var104:TKwdo>*/;
1043 CHECK_NEW_parser_nodes__TKwdo(var104
);
1044 ((void (*)(val
*, val
*))(var103
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var103
, var104
) /* add on <var103:List[Token]>*/;
1045 var105
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_parser_util__InjectedLexer__injected_after
]))(var_lexer
) /* injected_after on <var_lexer:nullable Object(InjectedLexer)>*/;
1046 var106
= NEW_parser_nodes__TKwend(&type_parser_nodes__TKwend
);
1047 ((void (*)(val
*))(var106
->class->vft
[COLOR_parser_nodes__TKwend__init
]))(var106
) /* init on <var106:TKwend>*/;
1048 CHECK_NEW_parser_nodes__TKwend(var106
);
1049 ((void (*)(val
*, val
*))(var105
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var105
, var106
) /* add on <var105:List[Token]>*/;
1050 var107
= NEW_parser__Parser(&type_parser__Parser
);
1051 ((void (*)(val
*, val
*))(var107
->class->vft
[COLOR_parser__Parser__init
]))(var107
, var_lexer
) /* init on <var107:Parser>*/;
1052 CHECK_NEW_parser__Parser(var107
);
1053 var108
= ((val
* (*)(val
*))(var107
->class->vft
[COLOR_parser__Parser__parse
]))(var107
) /* parse on <var107:Parser>*/;
1055 var109
= ((val
* (*)(val
*))(var_tree
->class->vft
[COLOR_parser_nodes__Start__n_eof
]))(var_tree
) /* n_eof on <var_tree:nullable Object(Start)>*/;
1057 /* <var_eof:nullable Object(EOF)> isa AError */
1058 cltype111
= type_parser_nodes__AError
.color
;
1059 idtype112
= type_parser_nodes__AError
.id
;
1060 if(cltype111
>= var_eof
->type
->table_size
) {
1063 var110
= var_eof
->type
->type_table
[cltype111
] == idtype112
;
1067 var114
= ((val
* (*)(val
*))(var_tree
->class->vft
[COLOR_parser_nodes__Start__n_base
]))(var_tree
) /* n_base on <var_tree:nullable Object(Start)>*/;
1068 if (var114
== NULL
) {
1069 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser_util.nit", 148);
1072 var115
= ((val
* (*)(val
*))(var114
->class->vft
[COLOR_parser_nodes__AModule__n_classdefs
]))(var114
) /* n_classdefs on <var114:nullable AModule>*/;
1074 var116
= ((val
* (*)(val
*))(var115
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var115
) /* first on <var115:ANodes[AClassdef]>*/;
1075 var117
= ((val
* (*)(val
*))(var116
->class->vft
[COLOR_parser_nodes__AClassdef__n_propdefs
]))(var116
) /* n_propdefs on <var116:nullable Object(AClassdef)>*/;
1076 var118
= ((val
* (*)(val
*))(var117
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var117
) /* first on <var117:ANodes[APropdef]>*/;
1077 /* <var118:nullable Object(APropdef)> isa AMainMethPropdef */
1078 cltype120
= type_parser_nodes__AMainMethPropdef
.color
;
1079 idtype121
= type_parser_nodes__AMainMethPropdef
.id
;
1080 if(cltype120
>= var118
->type
->table_size
) {
1083 var119
= var118
->type
->type_table
[cltype120
] == idtype121
;
1086 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 148);
1089 var122
= ((val
* (*)(val
*))(var118
->class->vft
[COLOR_parser_nodes__AConcreteMethPropdef__n_block
]))(var118
) /* n_block on <var118:APropdef(AMainMethPropdef)>*/;
1090 /* <var122:nullable AExpr> isa ABlockExpr */
1091 cltype124
= type_parser_nodes__ABlockExpr
.color
;
1092 idtype125
= type_parser_nodes__ABlockExpr
.id
;
1093 if(var122
== NULL
) {
1096 if(cltype124
>= var122
->type
->table_size
) {
1099 var123
= var122
->type
->type_table
[cltype124
] == idtype125
;
1103 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 148);
1106 var126
= ((val
* (*)(val
*))(var122
->class->vft
[COLOR_parser_nodes__ABlockExpr__n_expr
]))(var122
) /* n_expr on <var122:nullable AExpr(ABlockExpr)>*/;
1107 var127
= ((val
* (*)(val
*))(var126
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var126
) /* first on <var126:ANodes[AExpr]>*/;
1108 /* <var127:nullable Object(AExpr)> isa ADoExpr */
1109 cltype129
= type_parser_nodes__ADoExpr
.color
;
1110 idtype130
= type_parser_nodes__ADoExpr
.id
;
1111 if(cltype129
>= var127
->type
->table_size
) {
1114 var128
= var127
->type
->type_table
[cltype129
] == idtype130
;
1117 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 148);
1120 var131
= ((val
* (*)(val
*))(var127
->class->vft
[COLOR_parser_nodes__ADoExpr__n_block
]))(var127
) /* n_block on <var127:AExpr(ADoExpr)>*/;
1121 if (var131
== NULL
) {
1122 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 148);
1125 var_nblock
= var131
;
1130 var132
= ((val
* (*)(val
*))(var_eof
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var_eof
) /* location on <var_eof:nullable Object(AError)>*/;
1131 var133
= ((val
* (*)(val
*))(var_error
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var_error
) /* location on <var_error:nullable Object(AError)>*/;
1132 var134
= ((short int (*)(val
*, val
*))(var132
->class->vft
[COLOR_kernel__Comparable___62d
]))(var132
, var133
) /* > on <var132:Location>*/;
1134 var_error
= var_eof
;
1137 var135
= NEW_lexer__Lexer(&type_lexer__Lexer
);
1138 ((void (*)(val
*, val
*))(var135
->class->vft
[COLOR_lexer__Lexer__init
]))(var135
, var_source
) /* init on <var135:Lexer>*/;
1139 CHECK_NEW_lexer__Lexer(var135
);
1141 var136
= NEW_parser__Parser(&type_parser__Parser
);
1142 ((void (*)(val
*, val
*))(var136
->class->vft
[COLOR_parser__Parser__init
]))(var136
, var_lexer
) /* init on <var136:Parser>*/;
1143 CHECK_NEW_parser__Parser(var136
);
1144 var137
= ((val
* (*)(val
*))(var136
->class->vft
[COLOR_parser__Parser__parse
]))(var136
) /* parse on <var136:Parser>*/;
1146 var138
= ((val
* (*)(val
*))(var_tree
->class->vft
[COLOR_parser_nodes__Start__n_eof
]))(var_tree
) /* n_eof on <var_tree:nullable Object(Start)>*/;
1148 /* <var_eof:nullable Object(EOF)> isa AError */
1149 cltype140
= type_parser_nodes__AError
.color
;
1150 idtype141
= type_parser_nodes__AError
.id
;
1151 if(cltype140
>= var_eof
->type
->table_size
) {
1154 var139
= var_eof
->type
->type_table
[cltype140
] == idtype141
;
1158 var143
= ((val
* (*)(val
*))(var_tree
->class->vft
[COLOR_parser_nodes__Start__n_base
]))(var_tree
) /* n_base on <var_tree:nullable Object(Start)>*/;
1159 if (var143
== NULL
) {
1160 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser_util.nit", 157);
1167 var144
= ((val
* (*)(val
*))(var_eof
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var_eof
) /* location on <var_eof:nullable Object(AError)>*/;
1168 var145
= ((val
* (*)(val
*))(var_error
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var_error
) /* location on <var_error:nullable Object(AError)>*/;
1169 var146
= ((short int (*)(val
*, val
*))(var144
->class->vft
[COLOR_kernel__Comparable___62d
]))(var144
, var145
) /* > on <var144:Location>*/;
1171 var_error
= var_eof
;
1179 /* method parser_util#ToolContext#parse_something for (self: Object, String): ANode */
1180 val
* VIRTUAL_parser_util__ToolContext__parse_something(val
* self
, val
* p0
) {
1181 val
* var
/* : ANode */;
1182 val
* var1
/* : ANode */;
1183 var1
= parser_util__ToolContext__parse_something(self
, p0
);
1188 /* method parser_util#InjectedLexer#injected_before for (self: InjectedLexer): List[Token] */
1189 val
* parser_util__InjectedLexer__injected_before(val
* self
) {
1190 val
* var
/* : List[Token] */;
1191 val
* var1
/* : List[Token] */;
1192 var1
= self
->attrs
[COLOR_parser_util__InjectedLexer___64dinjected_before
].val
; /* @injected_before on <self:InjectedLexer> */
1194 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @injected_before", "src/parser_util.nit", 168);
1201 /* method parser_util#InjectedLexer#injected_before for (self: Object): List[Token] */
1202 val
* VIRTUAL_parser_util__InjectedLexer__injected_before(val
* self
) {
1203 val
* var
/* : List[Token] */;
1204 val
* var1
/* : List[Token] */;
1205 var1
= parser_util__InjectedLexer__injected_before(self
);
1210 /* method parser_util#InjectedLexer#injected_before= for (self: InjectedLexer, List[Token]) */
1211 void parser_util__InjectedLexer__injected_before_61d(val
* self
, val
* p0
) {
1212 self
->attrs
[COLOR_parser_util__InjectedLexer___64dinjected_before
].val
= p0
; /* @injected_before on <self:InjectedLexer> */
1215 /* method parser_util#InjectedLexer#injected_before= for (self: Object, List[Token]) */
1216 void VIRTUAL_parser_util__InjectedLexer__injected_before_61d(val
* self
, val
* p0
) {
1217 parser_util__InjectedLexer__injected_before_61d(self
, p0
);
1220 /* method parser_util#InjectedLexer#injected_after for (self: InjectedLexer): List[Token] */
1221 val
* parser_util__InjectedLexer__injected_after(val
* self
) {
1222 val
* var
/* : List[Token] */;
1223 val
* var1
/* : List[Token] */;
1224 var1
= self
->attrs
[COLOR_parser_util__InjectedLexer___64dinjected_after
].val
; /* @injected_after on <self:InjectedLexer> */
1226 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @injected_after", "src/parser_util.nit", 169);
1233 /* method parser_util#InjectedLexer#injected_after for (self: Object): List[Token] */
1234 val
* VIRTUAL_parser_util__InjectedLexer__injected_after(val
* self
) {
1235 val
* var
/* : List[Token] */;
1236 val
* var1
/* : List[Token] */;
1237 var1
= parser_util__InjectedLexer__injected_after(self
);
1242 /* method parser_util#InjectedLexer#injected_after= for (self: InjectedLexer, List[Token]) */
1243 void parser_util__InjectedLexer__injected_after_61d(val
* self
, val
* p0
) {
1244 self
->attrs
[COLOR_parser_util__InjectedLexer___64dinjected_after
].val
= p0
; /* @injected_after on <self:InjectedLexer> */
1247 /* method parser_util#InjectedLexer#injected_after= for (self: Object, List[Token]) */
1248 void VIRTUAL_parser_util__InjectedLexer__injected_after_61d(val
* self
, val
* p0
) {
1249 parser_util__InjectedLexer__injected_after_61d(self
, p0
);
1252 /* method parser_util#InjectedLexer#is_finished for (self: InjectedLexer): Bool */
1253 short int parser_util__InjectedLexer__is_finished(val
* self
) {
1254 short int var
/* : Bool */;
1255 short int var1
/* : Bool */;
1256 var1
= self
->attrs
[COLOR_parser_util__InjectedLexer___64dis_finished
].s
; /* @is_finished on <self:InjectedLexer> */
1261 /* method parser_util#InjectedLexer#is_finished for (self: Object): Bool */
1262 short int VIRTUAL_parser_util__InjectedLexer__is_finished(val
* self
) {
1263 short int var
/* : Bool */;
1264 short int var1
/* : Bool */;
1265 var1
= parser_util__InjectedLexer__is_finished(self
);
1270 /* method parser_util#InjectedLexer#is_finished= for (self: InjectedLexer, Bool) */
1271 void parser_util__InjectedLexer__is_finished_61d(val
* self
, short int p0
) {
1272 self
->attrs
[COLOR_parser_util__InjectedLexer___64dis_finished
].s
= p0
; /* @is_finished on <self:InjectedLexer> */
1275 /* method parser_util#InjectedLexer#is_finished= for (self: Object, Bool) */
1276 void VIRTUAL_parser_util__InjectedLexer__is_finished_61d(val
* self
, short int p0
) {
1277 parser_util__InjectedLexer__is_finished_61d(self
, p0
);
1280 /* method parser_util#InjectedLexer#get_token for (self: InjectedLexer): nullable Token */
1281 val
* parser_util__InjectedLexer__get_token(val
* self
) {
1282 val
* var
/* : nullable Token */;
1283 val
* var1
/* : List[Token] */;
1284 short int var2
/* : Bool */;
1285 short int var3
/* : Bool */;
1286 val
* var4
/* : List[Token] */;
1287 val
* var5
/* : nullable Object */;
1288 val
* var_tok
/* var tok: Token */;
1289 val
* var6
/* : nullable Location */;
1290 val
* var7
/* : null */;
1291 short int var8
/* : Bool */;
1292 val
* var9
/* : Location */;
1293 val
* var10
/* : SourceFile */;
1294 long var11
/* : Int */;
1295 long var12
/* : Int */;
1296 long var13
/* : Int */;
1297 long var14
/* : Int */;
1298 short int var15
/* : Bool */;
1299 short int var16
/* : Bool */;
1300 val
* var17
/* : nullable Token */;
1301 val
* var_next
/* var next: nullable Token */;
1302 short int var18
/* : Bool */;
1305 short int var19
/* : Bool */;
1306 val
* var20
/* : List[Token] */;
1307 short int var21
/* : Bool */;
1308 val
* var22
/* : List[Token] */;
1309 val
* var23
/* : nullable Object */;
1310 val
* var_tok24
/* var tok: Token */;
1311 val
* var25
/* : nullable Location */;
1312 val
* var26
/* : null */;
1313 short int var27
/* : Bool */;
1314 val
* var28
/* : Location */;
1315 val
* var29
/* : SourceFile */;
1316 long var30
/* : Int */;
1317 long var31
/* : Int */;
1318 long var32
/* : Int */;
1319 long var33
/* : Int */;
1320 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_util__InjectedLexer__injected_before
]))(self
) /* injected_before on <self:InjectedLexer>*/;
1321 var2
= ((short int (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var1
) /* is_empty on <var1:List[Token]>*/;
1324 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_util__InjectedLexer__injected_before
]))(self
) /* injected_before on <self:InjectedLexer>*/;
1325 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Sequence__shift
]))(var4
) /* shift on <var4:List[Token]>*/;
1327 var6
= var_tok
->attrs
[COLOR_parser_nodes__ANode___location
].val
; /* _location on <var_tok:Token> */
1330 var8
= 1; /* is null */
1332 var8
= 0; /* arg is null but recv is not */
1335 var9
= NEW_location__Location(&type_location__Location
);
1336 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_lexer__Lexer__file
]))(self
) /* file on <self:InjectedLexer>*/;
1341 ((void (*)(val
*, val
*, long, long, long, long))(var9
->class->vft
[COLOR_location__Location__init
]))(var9
, var10
, var11
, var12
, var13
, var14
) /* init on <var9:Location>*/;
1342 CHECK_NEW_location__Location(var9
);
1343 var_tok
->attrs
[COLOR_parser_nodes__ANode___location
].val
= var9
; /* _location on <var_tok:Token> */
1350 var15
= ((short int (*)(val
*))(self
->class->vft
[COLOR_parser_util__InjectedLexer__is_finished
]))(self
) /* is_finished on <self:InjectedLexer>*/;
1353 var17
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_util__InjectedLexer__get_token
]))(self
) /* get_token on <self:InjectedLexer>*/;
1355 /* <var_next:nullable Token> isa EOF */
1356 cltype
= type_parser_nodes__EOF
.color
;
1357 idtype
= type_parser_nodes__EOF
.id
;
1358 if(var_next
== NULL
) {
1361 if(cltype
>= var_next
->type
->table_size
) {
1364 var18
= var_next
->type
->type_table
[cltype
] == idtype
;
1373 var20
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_util__InjectedLexer__injected_after
]))(self
) /* injected_after on <self:InjectedLexer>*/;
1374 ((void (*)(val
*, val
*))(var20
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var20
, var_next
) /* push on <var20:List[Token]>*/;
1376 ((void (*)(val
*, short int))(self
->class->vft
[COLOR_parser_util__InjectedLexer__is_finished_61d
]))(self
, var21
) /* is_finished= on <self:InjectedLexer>*/;
1379 var22
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_util__InjectedLexer__injected_after
]))(self
) /* injected_after on <self:InjectedLexer>*/;
1380 var23
= ((val
* (*)(val
*))(var22
->class->vft
[COLOR_abstract_collection__Sequence__shift
]))(var22
) /* shift on <var22:List[Token]>*/;
1382 var25
= var_tok24
->attrs
[COLOR_parser_nodes__ANode___location
].val
; /* _location on <var_tok24:Token> */
1384 if (var25
== NULL
) {
1385 var27
= 1; /* is null */
1387 var27
= 0; /* arg is null but recv is not */
1390 var28
= NEW_location__Location(&type_location__Location
);
1391 var29
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_lexer__Lexer__file
]))(self
) /* file on <self:InjectedLexer>*/;
1396 ((void (*)(val
*, val
*, long, long, long, long))(var28
->class->vft
[COLOR_location__Location__init
]))(var28
, var29
, var30
, var31
, var32
, var33
) /* init on <var28:Location>*/;
1397 CHECK_NEW_location__Location(var28
);
1398 var_tok24
->attrs
[COLOR_parser_nodes__ANode___location
].val
= var28
; /* _location on <var_tok24:Token> */
1406 /* method parser_util#InjectedLexer#get_token for (self: Object): nullable Token */
1407 val
* VIRTUAL_parser_util__InjectedLexer__get_token(val
* self
) {
1408 val
* var
/* : nullable Token */;
1409 val
* var1
/* : nullable Token */;
1410 var1
= parser_util__InjectedLexer__get_token(self
);
1415 /* method parser_util#ANode#collect_tokens_by_text for (self: ANode, String): Array[Token] */
1416 val
* parser_util__ANode__collect_tokens_by_text(val
* self
, val
* p0
) {
1417 val
* var
/* : Array[Token] */;
1418 val
* var_text
/* var text: String */;
1419 val
* var1
/* : CollectTokensByTextVisitor */;
1420 val
* var_v
/* var v: CollectTokensByTextVisitor */;
1421 val
* var2
/* : Array[Token] */;
1423 var1
= NEW_parser_util__CollectTokensByTextVisitor(&type_parser_util__CollectTokensByTextVisitor
);
1424 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_parser_util__CollectTokensByTextVisitor__init
]))(var1
, var_text
) /* init on <var1:CollectTokensByTextVisitor>*/;
1425 CHECK_NEW_parser_util__CollectTokensByTextVisitor(var1
);
1427 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_parser_nodes__Visitor__enter_visit
]))(var_v
, self
) /* enter_visit on <var_v:CollectTokensByTextVisitor>*/;
1428 var2
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_parser_util__CollectTokensByTextVisitor__result
]))(var_v
) /* result on <var_v:CollectTokensByTextVisitor>*/;
1434 /* method parser_util#ANode#collect_tokens_by_text for (self: Object, String): Array[Token] */
1435 val
* VIRTUAL_parser_util__ANode__collect_tokens_by_text(val
* self
, val
* p0
) {
1436 val
* var
/* : Array[Token] */;
1437 val
* var1
/* : Array[Token] */;
1438 var1
= parser_util__ANode__collect_tokens_by_text(self
, p0
);
1443 /* method parser_util#ANode#collect_annotations_by_name for (self: ANode, String): Array[AAnnotation] */
1444 val
* parser_util__ANode__collect_annotations_by_name(val
* self
, val
* p0
) {
1445 val
* var
/* : Array[AAnnotation] */;
1446 val
* var_name
/* var name: String */;
1447 val
* var1
/* : CollectAnnotationsByNameVisitor */;
1448 val
* var_v
/* var v: CollectAnnotationsByNameVisitor */;
1449 val
* var2
/* : Array[AAnnotation] */;
1451 var1
= NEW_parser_util__CollectAnnotationsByNameVisitor(&type_parser_util__CollectAnnotationsByNameVisitor
);
1452 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_parser_util__CollectAnnotationsByNameVisitor__init
]))(var1
, var_name
) /* init on <var1:CollectAnnotationsByNameVisitor>*/;
1453 CHECK_NEW_parser_util__CollectAnnotationsByNameVisitor(var1
);
1455 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_parser_nodes__Visitor__enter_visit
]))(var_v
, self
) /* enter_visit on <var_v:CollectAnnotationsByNameVisitor>*/;
1456 var2
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_parser_util__CollectAnnotationsByNameVisitor__result
]))(var_v
) /* result on <var_v:CollectAnnotationsByNameVisitor>*/;
1462 /* method parser_util#ANode#collect_annotations_by_name for (self: Object, String): Array[AAnnotation] */
1463 val
* VIRTUAL_parser_util__ANode__collect_annotations_by_name(val
* self
, val
* p0
) {
1464 val
* var
/* : Array[AAnnotation] */;
1465 val
* var1
/* : Array[AAnnotation] */;
1466 var1
= parser_util__ANode__collect_annotations_by_name(self
, p0
);
1471 /* method parser_util#CollectTokensByTextVisitor#text for (self: CollectTokensByTextVisitor): String */
1472 val
* parser_util__CollectTokensByTextVisitor__text(val
* self
) {
1473 val
* var
/* : String */;
1474 val
* var1
/* : String */;
1475 var1
= self
->attrs
[COLOR_parser_util__CollectTokensByTextVisitor___64dtext
].val
; /* @text on <self:CollectTokensByTextVisitor> */
1477 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @text", "src/parser_util.nit", 213);
1484 /* method parser_util#CollectTokensByTextVisitor#text for (self: Object): String */
1485 val
* VIRTUAL_parser_util__CollectTokensByTextVisitor__text(val
* self
) {
1486 val
* var
/* : String */;
1487 val
* var1
/* : String */;
1488 var1
= parser_util__CollectTokensByTextVisitor__text(self
);
1493 /* method parser_util#CollectTokensByTextVisitor#text= for (self: CollectTokensByTextVisitor, String) */
1494 void parser_util__CollectTokensByTextVisitor__text_61d(val
* self
, val
* p0
) {
1495 self
->attrs
[COLOR_parser_util__CollectTokensByTextVisitor___64dtext
].val
= p0
; /* @text on <self:CollectTokensByTextVisitor> */
1498 /* method parser_util#CollectTokensByTextVisitor#text= for (self: Object, String) */
1499 void VIRTUAL_parser_util__CollectTokensByTextVisitor__text_61d(val
* self
, val
* p0
) {
1500 parser_util__CollectTokensByTextVisitor__text_61d(self
, p0
);
1503 /* method parser_util#CollectTokensByTextVisitor#init for (self: CollectTokensByTextVisitor, String) */
1504 void parser_util__CollectTokensByTextVisitor__init(val
* self
, val
* p0
) {
1505 val
* var_text
/* var text: String */;
1507 ((void (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__Visitor__init
]))(self
) /* init on <self:CollectTokensByTextVisitor>*/;
1508 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_util__CollectTokensByTextVisitor__text_61d
]))(self
, var_text
) /* text= on <self:CollectTokensByTextVisitor>*/;
1511 /* method parser_util#CollectTokensByTextVisitor#init for (self: Object, String) */
1512 void VIRTUAL_parser_util__CollectTokensByTextVisitor__init(val
* self
, val
* p0
) {
1513 parser_util__CollectTokensByTextVisitor__init(self
, p0
);
1516 /* method parser_util#CollectTokensByTextVisitor#result for (self: CollectTokensByTextVisitor): Array[Token] */
1517 val
* parser_util__CollectTokensByTextVisitor__result(val
* self
) {
1518 val
* var
/* : Array[Token] */;
1519 val
* var1
/* : Array[Token] */;
1520 var1
= self
->attrs
[COLOR_parser_util__CollectTokensByTextVisitor___64dresult
].val
; /* @result on <self:CollectTokensByTextVisitor> */
1522 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @result", "src/parser_util.nit", 215);
1529 /* method parser_util#CollectTokensByTextVisitor#result for (self: Object): Array[Token] */
1530 val
* VIRTUAL_parser_util__CollectTokensByTextVisitor__result(val
* self
) {
1531 val
* var
/* : Array[Token] */;
1532 val
* var1
/* : Array[Token] */;
1533 var1
= parser_util__CollectTokensByTextVisitor__result(self
);
1538 /* method parser_util#CollectTokensByTextVisitor#result= for (self: CollectTokensByTextVisitor, Array[Token]) */
1539 void parser_util__CollectTokensByTextVisitor__result_61d(val
* self
, val
* p0
) {
1540 self
->attrs
[COLOR_parser_util__CollectTokensByTextVisitor___64dresult
].val
= p0
; /* @result on <self:CollectTokensByTextVisitor> */
1543 /* method parser_util#CollectTokensByTextVisitor#result= for (self: Object, Array[Token]) */
1544 void VIRTUAL_parser_util__CollectTokensByTextVisitor__result_61d(val
* self
, val
* p0
) {
1545 parser_util__CollectTokensByTextVisitor__result_61d(self
, p0
);
1548 /* method parser_util#CollectTokensByTextVisitor#visit for (self: CollectTokensByTextVisitor, ANode) */
1549 void parser_util__CollectTokensByTextVisitor__visit(val
* self
, val
* p0
) {
1550 val
* var_node
/* var node: ANode */;
1551 short int var
/* : Bool */;
1552 short int var1
/* : Bool */;
1555 short int var_
/* var : Bool */;
1556 val
* var2
/* : String */;
1557 val
* var3
/* : String */;
1558 short int var4
/* : Bool */;
1559 val
* var5
/* : Array[Token] */;
1561 ((void (*)(val
*, val
*))(var_node
->class->vft
[COLOR_parser_nodes__ANode__visit_all
]))(var_node
, self
) /* visit_all on <var_node:ANode>*/;
1562 /* <var_node:ANode> isa Token */
1563 cltype
= type_parser_nodes__Token
.color
;
1564 idtype
= type_parser_nodes__Token
.id
;
1565 if(cltype
>= var_node
->type
->table_size
) {
1568 var1
= var_node
->type
->type_table
[cltype
] == idtype
;
1572 var2
= ((val
* (*)(val
*))(var_node
->class->vft
[COLOR_parser_nodes__Token__text
]))(var_node
) /* text on <var_node:ANode(Token)>*/;
1573 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_util__CollectTokensByTextVisitor__text
]))(self
) /* text on <self:CollectTokensByTextVisitor>*/;
1574 var4
= ((short int (*)(val
*, val
*))(var2
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var2
, var3
) /* == on <var2:String>*/;
1580 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_util__CollectTokensByTextVisitor__result
]))(self
) /* result on <self:CollectTokensByTextVisitor>*/;
1581 ((void (*)(val
*, val
*))(var5
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var5
, var_node
) /* add on <var5:Array[Token]>*/;
1586 /* method parser_util#CollectTokensByTextVisitor#visit for (self: Object, ANode) */
1587 void VIRTUAL_parser_util__CollectTokensByTextVisitor__visit(val
* self
, val
* p0
) {
1588 parser_util__CollectTokensByTextVisitor__visit(self
, p0
);
1591 /* method parser_util#CollectAnnotationsByNameVisitor#name for (self: CollectAnnotationsByNameVisitor): String */
1592 val
* parser_util__CollectAnnotationsByNameVisitor__name(val
* self
) {
1593 val
* var
/* : String */;
1594 val
* var1
/* : String */;
1595 var1
= self
->attrs
[COLOR_parser_util__CollectAnnotationsByNameVisitor___64dname
].val
; /* @name on <self:CollectAnnotationsByNameVisitor> */
1597 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @name", "src/parser_util.nit", 225);
1604 /* method parser_util#CollectAnnotationsByNameVisitor#name for (self: Object): String */
1605 val
* VIRTUAL_parser_util__CollectAnnotationsByNameVisitor__name(val
* self
) {
1606 val
* var
/* : String */;
1607 val
* var1
/* : String */;
1608 var1
= parser_util__CollectAnnotationsByNameVisitor__name(self
);
1613 /* method parser_util#CollectAnnotationsByNameVisitor#name= for (self: CollectAnnotationsByNameVisitor, String) */
1614 void parser_util__CollectAnnotationsByNameVisitor__name_61d(val
* self
, val
* p0
) {
1615 self
->attrs
[COLOR_parser_util__CollectAnnotationsByNameVisitor___64dname
].val
= p0
; /* @name on <self:CollectAnnotationsByNameVisitor> */
1618 /* method parser_util#CollectAnnotationsByNameVisitor#name= for (self: Object, String) */
1619 void VIRTUAL_parser_util__CollectAnnotationsByNameVisitor__name_61d(val
* self
, val
* p0
) {
1620 parser_util__CollectAnnotationsByNameVisitor__name_61d(self
, p0
);
1623 /* method parser_util#CollectAnnotationsByNameVisitor#init for (self: CollectAnnotationsByNameVisitor, String) */
1624 void parser_util__CollectAnnotationsByNameVisitor__init(val
* self
, val
* p0
) {
1625 val
* var_name
/* var name: String */;
1627 ((void (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__Visitor__init
]))(self
) /* init on <self:CollectAnnotationsByNameVisitor>*/;
1628 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_util__CollectAnnotationsByNameVisitor__name_61d
]))(self
, var_name
) /* name= on <self:CollectAnnotationsByNameVisitor>*/;
1631 /* method parser_util#CollectAnnotationsByNameVisitor#init for (self: Object, String) */
1632 void VIRTUAL_parser_util__CollectAnnotationsByNameVisitor__init(val
* self
, val
* p0
) {
1633 parser_util__CollectAnnotationsByNameVisitor__init(self
, p0
);
1636 /* method parser_util#CollectAnnotationsByNameVisitor#result for (self: CollectAnnotationsByNameVisitor): Array[AAnnotation] */
1637 val
* parser_util__CollectAnnotationsByNameVisitor__result(val
* self
) {
1638 val
* var
/* : Array[AAnnotation] */;
1639 val
* var1
/* : Array[AAnnotation] */;
1640 var1
= self
->attrs
[COLOR_parser_util__CollectAnnotationsByNameVisitor___64dresult
].val
; /* @result on <self:CollectAnnotationsByNameVisitor> */
1642 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @result", "src/parser_util.nit", 227);
1649 /* method parser_util#CollectAnnotationsByNameVisitor#result for (self: Object): Array[AAnnotation] */
1650 val
* VIRTUAL_parser_util__CollectAnnotationsByNameVisitor__result(val
* self
) {
1651 val
* var
/* : Array[AAnnotation] */;
1652 val
* var1
/* : Array[AAnnotation] */;
1653 var1
= parser_util__CollectAnnotationsByNameVisitor__result(self
);
1658 /* method parser_util#CollectAnnotationsByNameVisitor#result= for (self: CollectAnnotationsByNameVisitor, Array[AAnnotation]) */
1659 void parser_util__CollectAnnotationsByNameVisitor__result_61d(val
* self
, val
* p0
) {
1660 self
->attrs
[COLOR_parser_util__CollectAnnotationsByNameVisitor___64dresult
].val
= p0
; /* @result on <self:CollectAnnotationsByNameVisitor> */
1663 /* method parser_util#CollectAnnotationsByNameVisitor#result= for (self: Object, Array[AAnnotation]) */
1664 void VIRTUAL_parser_util__CollectAnnotationsByNameVisitor__result_61d(val
* self
, val
* p0
) {
1665 parser_util__CollectAnnotationsByNameVisitor__result_61d(self
, p0
);
1668 /* method parser_util#CollectAnnotationsByNameVisitor#visit for (self: CollectAnnotationsByNameVisitor, ANode) */
1669 void parser_util__CollectAnnotationsByNameVisitor__visit(val
* self
, val
* p0
) {
1670 val
* var_node
/* var node: ANode */;
1671 short int var
/* : Bool */;
1672 short int var1
/* : Bool */;
1675 short int var_
/* var : Bool */;
1676 val
* var2
/* : AAtid */;
1677 val
* var3
/* : Token */;
1678 val
* var4
/* : String */;
1679 val
* var5
/* : String */;
1680 short int var6
/* : Bool */;
1681 val
* var7
/* : Array[AAnnotation] */;
1683 ((void (*)(val
*, val
*))(var_node
->class->vft
[COLOR_parser_nodes__ANode__visit_all
]))(var_node
, self
) /* visit_all on <var_node:ANode>*/;
1684 /* <var_node:ANode> isa AAnnotation */
1685 cltype
= type_parser_nodes__AAnnotation
.color
;
1686 idtype
= type_parser_nodes__AAnnotation
.id
;
1687 if(cltype
>= var_node
->type
->table_size
) {
1690 var1
= var_node
->type
->type_table
[cltype
] == idtype
;
1694 var2
= ((val
* (*)(val
*))(var_node
->class->vft
[COLOR_parser_nodes__AAnnotation__n_atid
]))(var_node
) /* n_atid on <var_node:ANode(AAnnotation)>*/;
1695 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_parser_nodes__AAtid__n_id
]))(var2
) /* n_id on <var2:AAtid>*/;
1696 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_parser_nodes__Token__text
]))(var3
) /* text on <var3:Token>*/;
1697 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_util__CollectAnnotationsByNameVisitor__name
]))(self
) /* name on <self:CollectAnnotationsByNameVisitor>*/;
1698 var6
= ((short int (*)(val
*, val
*))(var4
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var4
, var5
) /* == on <var4:String>*/;
1704 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_util__CollectAnnotationsByNameVisitor__result
]))(self
) /* result on <self:CollectAnnotationsByNameVisitor>*/;
1705 ((void (*)(val
*, val
*))(var7
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var7
, var_node
) /* add on <var7:Array[AAnnotation]>*/;
1710 /* method parser_util#CollectAnnotationsByNameVisitor#visit for (self: Object, ANode) */
1711 void VIRTUAL_parser_util__CollectAnnotationsByNameVisitor__visit(val
* self
, val
* p0
) {
1712 parser_util__CollectAnnotationsByNameVisitor__visit(self
, p0
);