1 #include "astbuilder.sep.0.h"
2 /* method astbuilder#ASTBuilder#mmodule for (self: ASTBuilder): MModule */
3 val
* astbuilder__ASTBuilder__mmodule(val
* self
) {
4 val
* var
/* : MModule */;
5 val
* var1
/* : MModule */;
6 var1
= self
->attrs
[COLOR_astbuilder__ASTBuilder___64dmmodule
].val
; /* @mmodule on <self:ASTBuilder> */
8 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @mmodule");
9 fprintf(stderr
, " (%s:%d)\n", "src/astbuilder.nit", 25);
16 /* method astbuilder#ASTBuilder#mmodule for (self: Object): MModule */
17 val
* VIRTUAL_astbuilder__ASTBuilder__mmodule(val
* self
) {
18 val
* var
/* : MModule */;
19 val
* var1
/* : MModule */;
20 var1
= astbuilder__ASTBuilder__mmodule(self
);
25 /* method astbuilder#ASTBuilder#mmodule= for (self: ASTBuilder, MModule) */
26 void astbuilder__ASTBuilder__mmodule_61d(val
* self
, val
* p0
) {
27 self
->attrs
[COLOR_astbuilder__ASTBuilder___64dmmodule
].val
= p0
; /* @mmodule on <self:ASTBuilder> */
30 /* method astbuilder#ASTBuilder#mmodule= for (self: Object, MModule) */
31 void VIRTUAL_astbuilder__ASTBuilder__mmodule_61d(val
* self
, val
* p0
) {
32 astbuilder__ASTBuilder__mmodule_61d(self
, p0
);
35 /* method astbuilder#ASTBuilder#anchor for (self: ASTBuilder): nullable MClassType */
36 val
* astbuilder__ASTBuilder__anchor(val
* self
) {
37 val
* var
/* : nullable MClassType */;
38 val
* var1
/* : nullable MClassType */;
39 var1
= self
->attrs
[COLOR_astbuilder__ASTBuilder___64danchor
].val
; /* @anchor on <self:ASTBuilder> */
44 /* method astbuilder#ASTBuilder#anchor for (self: Object): nullable MClassType */
45 val
* VIRTUAL_astbuilder__ASTBuilder__anchor(val
* self
) {
46 val
* var
/* : nullable MClassType */;
47 val
* var1
/* : nullable MClassType */;
48 var1
= astbuilder__ASTBuilder__anchor(self
);
53 /* method astbuilder#ASTBuilder#anchor= for (self: ASTBuilder, nullable MClassType) */
54 void astbuilder__ASTBuilder__anchor_61d(val
* self
, val
* p0
) {
55 self
->attrs
[COLOR_astbuilder__ASTBuilder___64danchor
].val
= p0
; /* @anchor on <self:ASTBuilder> */
58 /* method astbuilder#ASTBuilder#anchor= for (self: Object, nullable MClassType) */
59 void VIRTUAL_astbuilder__ASTBuilder__anchor_61d(val
* self
, val
* p0
) {
60 astbuilder__ASTBuilder__anchor_61d(self
, p0
);
63 /* method astbuilder#ASTBuilder#make_int for (self: ASTBuilder, Int): AIntExpr */
64 val
* astbuilder__ASTBuilder__make_int(val
* self
, long p0
) {
65 val
* var
/* : AIntExpr */;
66 long var_value
/* var value: Int */;
67 val
* var1
/* : AIntExpr */;
68 val
* var2
/* : MModule */;
70 val
* var3
/* : String */;
71 char* var4
/* : NativeString */;
72 long var5
/* : Int */;
73 val
* var6
/* : String */;
74 val
* var7
/* : MClass */;
75 val
* var8
/* : MClassType */;
77 var1
= NEW_parser_nodes__AIntExpr(&type_parser_nodes__AIntExpr
);
78 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_astbuilder__ASTBuilder__mmodule
]))(self
) /* mmodule on <self:ASTBuilder>*/;
84 var6
= string__NativeString__to_s_with_length(var4
, var5
);
88 var7
= ((val
* (*)(val
*, val
*))(var2
->class->vft
[COLOR_model__MModule__get_primitive_class
]))(var2
, var3
) /* get_primitive_class on <var2:MModule>*/;
89 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_model__MClass__mclass_type
]))(var7
) /* mclass_type on <var7:MClass>*/;
90 ((void (*)(val
*, long, val
*))(var1
->class->vft
[COLOR_astbuilder__AIntExpr__make
]))(var1
, var_value
, var8
) /* make on <var1:AIntExpr>*/;
96 /* method astbuilder#ASTBuilder#make_int for (self: Object, Int): AIntExpr */
97 val
* VIRTUAL_astbuilder__ASTBuilder__make_int(val
* self
, long p0
) {
98 val
* var
/* : AIntExpr */;
99 val
* var1
/* : AIntExpr */;
100 var1
= astbuilder__ASTBuilder__make_int(self
, p0
);
105 /* method astbuilder#ASTBuilder#make_new for (self: ASTBuilder, MClassType, MMethod, nullable Array[AExpr]): ANewExpr */
106 val
* astbuilder__ASTBuilder__make_new(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
107 val
* var
/* : ANewExpr */;
108 val
* var_mtype
/* var mtype: MClassType */;
109 val
* var_constructor
/* var constructor: MMethod */;
110 val
* var_args
/* var args: nullable Array[AExpr] */;
111 val
* var1
/* : ANewExpr */;
113 var_constructor
= p1
;
115 var1
= NEW_parser_nodes__ANewExpr(&type_parser_nodes__ANewExpr
);
116 ((void (*)(val
*, val
*, val
*, val
*))(var1
->class->vft
[COLOR_astbuilder__ANewExpr__make
]))(var1
, var_mtype
, var_constructor
, var_args
) /* make on <var1:ANewExpr>*/;
122 /* method astbuilder#ASTBuilder#make_new for (self: Object, MClassType, MMethod, nullable Array[AExpr]): ANewExpr */
123 val
* VIRTUAL_astbuilder__ASTBuilder__make_new(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
124 val
* var
/* : ANewExpr */;
125 val
* var1
/* : ANewExpr */;
126 var1
= astbuilder__ASTBuilder__make_new(self
, p0
, p1
, p2
);
131 /* method astbuilder#ASTBuilder#make_call for (self: ASTBuilder, AExpr, MMethod, nullable Array[AExpr]): ACallExpr */
132 val
* astbuilder__ASTBuilder__make_call(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
133 val
* var
/* : ACallExpr */;
134 val
* var_recv
/* var recv: AExpr */;
135 val
* var_mmethod
/* var mmethod: MMethod */;
136 val
* var_args
/* var args: nullable Array[AExpr] */;
137 val
* var1
/* : MPropDef */;
138 val
* var2
/* : nullable MSignature */;
139 val
* var3
/* : nullable MType */;
140 val
* var_mtype
/* var mtype: nullable MType */;
141 val
* var4
/* : null */;
142 short int var5
/* : Bool */;
143 val
* var6
/* : nullable MType */;
144 val
* var7
/* : nullable MClassType */;
145 val
* var8
/* : MModule */;
146 short int var9
/* : Bool */;
147 val
* var10
/* : MType */;
148 val
* var11
/* : ACallExpr */;
152 var1
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__intro
]))(var_mmethod
) /* intro on <var_mmethod:MMethod>*/;
153 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var1
) /* msignature on <var1:MPropDef(MMethodDef)>*/;
155 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
156 fprintf(stderr
, " (%s:%d)\n", "src/astbuilder.nit", 47);
159 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_model__MSignature__return_mtype
]))(var2
) /* return_mtype on <var2:nullable MSignature>*/;
163 if (var_mtype
== NULL
) {
164 var5
= 0; /* is null */
166 var5
= 1; /* arg is null and recv is not */
169 var6
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_typing__AExpr__mtype
]))(var_recv
) /* mtype on <var_recv:AExpr>*/;
171 fprintf(stderr
, "Runtime error: %s", "Cast failed");
172 fprintf(stderr
, " (%s:%d)\n", "src/astbuilder.nit", 48);
175 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_astbuilder__ASTBuilder__anchor
]))(self
) /* anchor on <self:ASTBuilder>*/;
176 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_astbuilder__ASTBuilder__mmodule
]))(self
) /* mmodule on <self:ASTBuilder>*/;
178 var10
= ((val
* (*)(val
*, val
*, val
*, val
*, short int))(var_mtype
->class->vft
[COLOR_model__MType__resolve_for
]))(var_mtype
, var6
, var7
, var8
, var9
) /* resolve_for on <var_mtype:nullable MType(MType)>*/;
182 var11
= NEW_parser_nodes__ACallExpr(&type_parser_nodes__ACallExpr
);
183 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var11
->class->vft
[COLOR_astbuilder__ACallExpr__make
]))(var11
, var_recv
, var_mmethod
, var_args
, var_mtype
) /* make on <var11:ACallExpr>*/;
189 /* method astbuilder#ASTBuilder#make_call for (self: Object, AExpr, MMethod, nullable Array[AExpr]): ACallExpr */
190 val
* VIRTUAL_astbuilder__ASTBuilder__make_call(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
191 val
* var
/* : ACallExpr */;
192 val
* var1
/* : ACallExpr */;
193 var1
= astbuilder__ASTBuilder__make_call(self
, p0
, p1
, p2
);
198 /* method astbuilder#ASTBuilder#make_block for (self: ASTBuilder): ABlockExpr */
199 val
* astbuilder__ASTBuilder__make_block(val
* self
) {
200 val
* var
/* : ABlockExpr */;
201 val
* var1
/* : ABlockExpr */;
202 var1
= NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr
);
203 ((void (*)(val
*))(var1
->class->vft
[COLOR_astbuilder__ABlockExpr__make
]))(var1
) /* make on <var1:ABlockExpr>*/;
209 /* method astbuilder#ASTBuilder#make_block for (self: Object): ABlockExpr */
210 val
* VIRTUAL_astbuilder__ASTBuilder__make_block(val
* self
) {
211 val
* var
/* : ABlockExpr */;
212 val
* var1
/* : ABlockExpr */;
213 var1
= astbuilder__ASTBuilder__make_block(self
);
218 /* method astbuilder#ASTBuilder#make_var_read for (self: ASTBuilder, Variable, MType): AVarExpr */
219 val
* astbuilder__ASTBuilder__make_var_read(val
* self
, val
* p0
, val
* p1
) {
220 val
* var
/* : AVarExpr */;
221 val
* var_variable
/* var variable: Variable */;
222 val
* var_mtype
/* var mtype: MType */;
223 val
* var1
/* : AVarExpr */;
226 var1
= NEW_parser_nodes__AVarExpr(&type_parser_nodes__AVarExpr
);
227 ((void (*)(val
*, val
*, val
*))(var1
->class->vft
[COLOR_astbuilder__AVarExpr__make
]))(var1
, var_variable
, var_mtype
) /* make on <var1:AVarExpr>*/;
233 /* method astbuilder#ASTBuilder#make_var_read for (self: Object, Variable, MType): AVarExpr */
234 val
* VIRTUAL_astbuilder__ASTBuilder__make_var_read(val
* self
, val
* p0
, val
* p1
) {
235 val
* var
/* : AVarExpr */;
236 val
* var1
/* : AVarExpr */;
237 var1
= astbuilder__ASTBuilder__make_var_read(self
, p0
, p1
);
242 /* method astbuilder#ASTBuilder#make_var_assign for (self: ASTBuilder, Variable, AExpr): AVarAssignExpr */
243 val
* astbuilder__ASTBuilder__make_var_assign(val
* self
, val
* p0
, val
* p1
) {
244 val
* var
/* : AVarAssignExpr */;
245 val
* var_variable
/* var variable: Variable */;
246 val
* var_value
/* var value: AExpr */;
247 val
* var1
/* : AVarAssignExpr */;
250 var1
= NEW_parser_nodes__AVarAssignExpr(&type_parser_nodes__AVarAssignExpr
);
251 ((void (*)(val
*, val
*, val
*))(var1
->class->vft
[COLOR_astbuilder__AVarAssignExpr__make
]))(var1
, var_variable
, var_value
) /* make on <var1:AVarAssignExpr>*/;
257 /* method astbuilder#ASTBuilder#make_var_assign for (self: Object, Variable, AExpr): AVarAssignExpr */
258 val
* VIRTUAL_astbuilder__ASTBuilder__make_var_assign(val
* self
, val
* p0
, val
* p1
) {
259 val
* var
/* : AVarAssignExpr */;
260 val
* var1
/* : AVarAssignExpr */;
261 var1
= astbuilder__ASTBuilder__make_var_assign(self
, p0
, p1
);
266 /* method astbuilder#ASTBuilder#make_attr_read for (self: ASTBuilder, AExpr, MAttribute): AAttrExpr */
267 val
* astbuilder__ASTBuilder__make_attr_read(val
* self
, val
* p0
, val
* p1
) {
268 val
* var
/* : AAttrExpr */;
269 val
* var_recv
/* var recv: AExpr */;
270 val
* var_attribute
/* var attribute: MAttribute */;
271 val
* var1
/* : MPropDef */;
272 val
* var2
/* : nullable MType */;
273 val
* var3
/* : nullable MType */;
274 val
* var4
/* : nullable MClassType */;
275 val
* var5
/* : MModule */;
276 short int var6
/* : Bool */;
277 val
* var7
/* : MType */;
278 val
* var_mtype
/* var mtype: MType */;
279 val
* var8
/* : AAttrExpr */;
282 var1
= ((val
* (*)(val
*))(var_attribute
->class->vft
[COLOR_model__MProperty__intro
]))(var_attribute
) /* intro on <var_attribute:MAttribute>*/;
283 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_model__MAttributeDef__static_mtype
]))(var1
) /* static_mtype on <var1:MPropDef(MAttributeDef)>*/;
284 var3
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_typing__AExpr__mtype
]))(var_recv
) /* mtype on <var_recv:AExpr>*/;
286 fprintf(stderr
, "Runtime error: %s", "Cast failed");
287 fprintf(stderr
, " (%s:%d)\n", "src/astbuilder.nit", 73);
290 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_astbuilder__ASTBuilder__anchor
]))(self
) /* anchor on <self:ASTBuilder>*/;
291 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_astbuilder__ASTBuilder__mmodule
]))(self
) /* mmodule on <self:ASTBuilder>*/;
294 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
295 fprintf(stderr
, " (%s:%d)\n", "src/astbuilder.nit", 73);
298 var7
= ((val
* (*)(val
*, val
*, val
*, val
*, short int))(var2
->class->vft
[COLOR_model__MType__resolve_for
]))(var2
, var3
, var4
, var5
, var6
) /* resolve_for on <var2:nullable MType>*/;
301 var8
= NEW_parser_nodes__AAttrExpr(&type_parser_nodes__AAttrExpr
);
302 ((void (*)(val
*, val
*, val
*, val
*))(var8
->class->vft
[COLOR_astbuilder__AAttrExpr__make
]))(var8
, var_recv
, var_attribute
, var_mtype
) /* make on <var8:AAttrExpr>*/;
308 /* method astbuilder#ASTBuilder#make_attr_read for (self: Object, AExpr, MAttribute): AAttrExpr */
309 val
* VIRTUAL_astbuilder__ASTBuilder__make_attr_read(val
* self
, val
* p0
, val
* p1
) {
310 val
* var
/* : AAttrExpr */;
311 val
* var1
/* : AAttrExpr */;
312 var1
= astbuilder__ASTBuilder__make_attr_read(self
, p0
, p1
);
317 /* method astbuilder#ASTBuilder#make_attr_assign for (self: ASTBuilder, AExpr, MAttribute, AExpr): AAttrAssignExpr */
318 val
* astbuilder__ASTBuilder__make_attr_assign(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
319 val
* var
/* : AAttrAssignExpr */;
320 val
* var_recv
/* var recv: AExpr */;
321 val
* var_attribute
/* var attribute: MAttribute */;
322 val
* var_value
/* var value: AExpr */;
323 val
* var1
/* : AAttrAssignExpr */;
327 var1
= NEW_parser_nodes__AAttrAssignExpr(&type_parser_nodes__AAttrAssignExpr
);
328 ((void (*)(val
*, val
*, val
*, val
*))(var1
->class->vft
[COLOR_astbuilder__AAttrAssignExpr__make
]))(var1
, var_recv
, var_attribute
, var_value
) /* make on <var1:AAttrAssignExpr>*/;
334 /* method astbuilder#ASTBuilder#make_attr_assign for (self: Object, AExpr, MAttribute, AExpr): AAttrAssignExpr */
335 val
* VIRTUAL_astbuilder__ASTBuilder__make_attr_assign(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
336 val
* var
/* : AAttrAssignExpr */;
337 val
* var1
/* : AAttrAssignExpr */;
338 var1
= astbuilder__ASTBuilder__make_attr_assign(self
, p0
, p1
, p2
);
343 /* method astbuilder#ASTBuilder#make_do for (self: ASTBuilder): ADoExpr */
344 val
* astbuilder__ASTBuilder__make_do(val
* self
) {
345 val
* var
/* : ADoExpr */;
346 val
* var1
/* : ADoExpr */;
347 var1
= NEW_parser_nodes__ADoExpr(&type_parser_nodes__ADoExpr
);
348 ((void (*)(val
*))(var1
->class->vft
[COLOR_astbuilder__ADoExpr__make
]))(var1
) /* make on <var1:ADoExpr>*/;
354 /* method astbuilder#ASTBuilder#make_do for (self: Object): ADoExpr */
355 val
* VIRTUAL_astbuilder__ASTBuilder__make_do(val
* self
) {
356 val
* var
/* : ADoExpr */;
357 val
* var1
/* : ADoExpr */;
358 var1
= astbuilder__ASTBuilder__make_do(self
);
363 /* method astbuilder#ASTBuilder#make_if for (self: ASTBuilder, AExpr, nullable MType): AIfExpr */
364 val
* astbuilder__ASTBuilder__make_if(val
* self
, val
* p0
, val
* p1
) {
365 val
* var
/* : AIfExpr */;
366 val
* var_condition
/* var condition: AExpr */;
367 val
* var_mtype
/* var mtype: nullable MType */;
368 val
* var1
/* : AIfExpr */;
371 var1
= NEW_parser_nodes__AIfExpr(&type_parser_nodes__AIfExpr
);
372 ((void (*)(val
*, val
*, val
*))(var1
->class->vft
[COLOR_astbuilder__AIfExpr__make
]))(var1
, var_condition
, var_mtype
) /* make on <var1:AIfExpr>*/;
378 /* method astbuilder#ASTBuilder#make_if for (self: Object, AExpr, nullable MType): AIfExpr */
379 val
* VIRTUAL_astbuilder__ASTBuilder__make_if(val
* self
, val
* p0
, val
* p1
) {
380 val
* var
/* : AIfExpr */;
381 val
* var1
/* : AIfExpr */;
382 var1
= astbuilder__ASTBuilder__make_if(self
, p0
, p1
);
387 /* method astbuilder#ASTBuilder#init for (self: ASTBuilder, MModule, nullable MClassType) */
388 void astbuilder__ASTBuilder__init(val
* self
, val
* p0
, val
* p1
) {
389 self
->attrs
[COLOR_astbuilder__ASTBuilder___64dmmodule
].val
= p0
; /* @mmodule on <self:ASTBuilder> */
390 self
->attrs
[COLOR_astbuilder__ASTBuilder___64danchor
].val
= p1
; /* @anchor on <self:ASTBuilder> */
393 /* method astbuilder#ASTBuilder#init for (self: Object, MModule, nullable MClassType) */
394 void VIRTUAL_astbuilder__ASTBuilder__init(val
* self
, val
* p0
, val
* p1
) {
395 astbuilder__ASTBuilder__init(self
, p0
, p1
);
398 /* method astbuilder#AExpr#make_var_read for (self: AExpr): AVarExpr */
399 val
* astbuilder__AExpr__make_var_read(val
* self
) {
400 val
* var
/* : AVarExpr */;
401 val
* var1
/* : nullable Variable */;
402 val
* var_variable
/* var variable: nullable Variable */;
403 val
* var2
/* : null */;
404 short int var3
/* : Bool */;
405 val
* var4
/* : nullable ANode */;
406 val
* var5
/* : null */;
407 short int var6
/* : Bool */;
408 val
* var7
/* : AExpr */;
409 val
* var_place
/* var place: AExpr */;
410 val
* var8
/* : Variable */;
412 val
* var9
/* : String */;
413 char* var10
/* : NativeString */;
414 long var11
/* : Int */;
415 val
* var12
/* : String */;
416 val
* var13
/* : nullable MType */;
417 val
* var14
/* : AVarAssignExpr */;
418 val
* var_nvar
/* var nvar: AVarAssignExpr */;
419 val
* var15
/* : AVarExpr */;
420 val
* var16
/* : nullable MType */;
421 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_astbuilder__AExpr__variable_cache
]))(self
) /* variable_cache on <self:AExpr>*/;
424 if (var_variable
== NULL
) {
425 var3
= 1; /* is null */
427 var3
= 0; /* arg is null but recv is not */
430 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__parent
]))(self
) /* parent on <self:AExpr>*/;
433 var6
= 0; /* is null */
435 var6
= 1; /* arg is null and recv is not */
438 fprintf(stderr
, "Runtime error: %s", "Assert failed");
439 fprintf(stderr
, " (%s:%d)\n", "src/astbuilder.nit", 107);
442 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_astbuilder__AExpr__detach_with_placeholder
]))(self
) /* detach_with_placeholder on <self:AExpr>*/;
444 var8
= NEW_scope__Variable(&type_scope__Variable
);
450 var12
= string__NativeString__to_s_with_length(var10
, var11
);
454 ((void (*)(val
*, val
*))(var8
->class->vft
[COLOR_scope__Variable__init
]))(var8
, var9
) /* init on <var8:Variable>*/;
456 var13
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AExpr>*/;
457 ((void (*)(val
*, val
*))(var_variable
->class->vft
[COLOR_typing__Variable__declared_type_61d
]))(var_variable
, var13
) /* declared_type= on <var_variable:nullable Variable(Variable)>*/;
458 var14
= NEW_parser_nodes__AVarAssignExpr(&type_parser_nodes__AVarAssignExpr
);
459 ((void (*)(val
*, val
*, val
*))(var14
->class->vft
[COLOR_astbuilder__AVarAssignExpr__make
]))(var14
, var_variable
, self
) /* make on <var14:AVarAssignExpr>*/;
461 ((void (*)(val
*, val
*))(var_place
->class->vft
[COLOR_parser_nodes__ANode__replace_with
]))(var_place
, var_nvar
) /* replace_with on <var_place:AExpr>*/;
462 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_astbuilder__AExpr__variable_cache_61d
]))(self
, var_variable
) /* variable_cache= on <self:AExpr>*/;
465 var15
= NEW_parser_nodes__AVarExpr(&type_parser_nodes__AVarExpr
);
466 var16
= ((val
* (*)(val
*))(var_variable
->class->vft
[COLOR_typing__Variable__declared_type
]))(var_variable
) /* declared_type on <var_variable:nullable Variable(Variable)>*/;
468 fprintf(stderr
, "Runtime error: %s", "Cast failed");
469 fprintf(stderr
, " (%s:%d)\n", "src/astbuilder.nit", 115);
472 ((void (*)(val
*, val
*, val
*))(var15
->class->vft
[COLOR_astbuilder__AVarExpr__make
]))(var15
, var_variable
, var16
) /* make on <var15:AVarExpr>*/;
478 /* method astbuilder#AExpr#make_var_read for (self: Object): AVarExpr */
479 val
* VIRTUAL_astbuilder__AExpr__make_var_read(val
* self
) {
480 val
* var
/* : AVarExpr */;
481 val
* var1
/* : AVarExpr */;
482 var1
= astbuilder__AExpr__make_var_read(self
);
487 /* method astbuilder#AExpr#variable_cache for (self: AExpr): nullable Variable */
488 val
* astbuilder__AExpr__variable_cache(val
* self
) {
489 val
* var
/* : nullable Variable */;
490 val
* var1
/* : nullable Variable */;
491 var1
= self
->attrs
[COLOR_astbuilder__AExpr___64dvariable_cache
].val
; /* @variable_cache on <self:AExpr> */
496 /* method astbuilder#AExpr#variable_cache for (self: Object): nullable Variable */
497 val
* VIRTUAL_astbuilder__AExpr__variable_cache(val
* self
) {
498 val
* var
/* : nullable Variable */;
499 val
* var1
/* : nullable Variable */;
500 var1
= astbuilder__AExpr__variable_cache(self
);
505 /* method astbuilder#AExpr#variable_cache= for (self: AExpr, nullable Variable) */
506 void astbuilder__AExpr__variable_cache_61d(val
* self
, val
* p0
) {
507 self
->attrs
[COLOR_astbuilder__AExpr___64dvariable_cache
].val
= p0
; /* @variable_cache on <self:AExpr> */
510 /* method astbuilder#AExpr#variable_cache= for (self: Object, nullable Variable) */
511 void VIRTUAL_astbuilder__AExpr__variable_cache_61d(val
* self
, val
* p0
) {
512 astbuilder__AExpr__variable_cache_61d(self
, p0
);
515 /* method astbuilder#AExpr#detach_with_placeholder for (self: AExpr): AExpr */
516 val
* astbuilder__AExpr__detach_with_placeholder(val
* self
) {
517 val
* var
/* : AExpr */;
518 val
* var1
/* : APlaceholderExpr */;
519 val
* var_h
/* var h: APlaceholderExpr */;
520 var1
= NEW_astbuilder__APlaceholderExpr(&type_astbuilder__APlaceholderExpr
);
521 ((void (*)(val
*))(var1
->class->vft
[COLOR_astbuilder__APlaceholderExpr__make
]))(var1
) /* make on <var1:APlaceholderExpr>*/;
523 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__replace_with
]))(self
, var_h
) /* replace_with on <self:AExpr>*/;
529 /* method astbuilder#AExpr#detach_with_placeholder for (self: Object): AExpr */
530 val
* VIRTUAL_astbuilder__AExpr__detach_with_placeholder(val
* self
) {
531 val
* var
/* : AExpr */;
532 val
* var1
/* : AExpr */;
533 var1
= astbuilder__AExpr__detach_with_placeholder(self
);
538 /* method astbuilder#AExpr#add for (self: AExpr, AExpr) */
539 void astbuilder__AExpr__add(val
* self
, val
* p0
) {
540 val
* var_expr
/* var expr: AExpr */;
542 fprintf(stderr
, "Runtime error: %s", "Aborted");
543 fprintf(stderr
, " (%s:%d)\n", "src/astbuilder.nit", 147);
547 /* method astbuilder#AExpr#add for (self: Object, AExpr) */
548 void VIRTUAL_astbuilder__AExpr__add(val
* self
, val
* p0
) {
549 astbuilder__AExpr__add(self
, p0
);
552 /* method astbuilder#APlaceholderExpr#make for (self: APlaceholderExpr) */
553 void astbuilder__APlaceholderExpr__make(val
* self
) {
554 ((void (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AExpr__init
]))(self
) /* init on <self:APlaceholderExpr>*/;
557 /* method astbuilder#APlaceholderExpr#make for (self: Object) */
558 void VIRTUAL_astbuilder__APlaceholderExpr__make(val
* self
) {
559 astbuilder__APlaceholderExpr__make(self
);
562 /* method astbuilder#ABlockExpr#make for (self: ABlockExpr) */
563 void astbuilder__ABlockExpr__make(val
* self
) {
564 short int var
/* : Bool */;
566 ((void (*)(val
*, short int))(self
->class->vft
[COLOR_typing__AExpr__is_typed_61d
]))(self
, var
) /* is_typed= on <self:ABlockExpr>*/;
569 /* method astbuilder#ABlockExpr#make for (self: Object) */
570 void VIRTUAL_astbuilder__ABlockExpr__make(val
* self
) {
571 astbuilder__ABlockExpr__make(self
);
574 /* method astbuilder#ABlockExpr#add for (self: ABlockExpr, AExpr) */
575 void astbuilder__ABlockExpr__add(val
* self
, val
* p0
) {
576 val
* var_expr
/* var expr: AExpr */;
577 val
* var
/* : ANodes[AExpr] */;
579 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ABlockExpr__n_expr
]))(self
) /* n_expr on <self:ABlockExpr>*/;
580 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var
, var_expr
) /* add on <var:ANodes[AExpr]>*/;
583 /* method astbuilder#ABlockExpr#add for (self: Object, AExpr) */
584 void VIRTUAL_astbuilder__ABlockExpr__add(val
* self
, val
* p0
) {
585 astbuilder__ABlockExpr__add(self
, p0
);
588 /* method astbuilder#ADoExpr#make for (self: ADoExpr) */
589 void astbuilder__ADoExpr__make(val
* self
) {
590 val
* var
/* : TKwdo */;
591 val
* var1
/* : EscapeMark */;
592 val
* var2
/* : null */;
593 short int var3
/* : Bool */;
594 var
= NEW_parser_nodes__TKwdo(&type_parser_nodes__TKwdo
);
595 ((void (*)(val
*))(var
->class->vft
[COLOR_parser_nodes__TKwdo__init
]))(var
) /* init on <var:TKwdo>*/;
596 self
->attrs
[COLOR_parser_nodes__ADoExpr___n_kwdo
].val
= var
; /* _n_kwdo on <self:ADoExpr> */
597 var1
= NEW_scope__EscapeMark(&type_scope__EscapeMark
);
600 ((void (*)(val
*, val
*, short int))(var1
->class->vft
[COLOR_scope__EscapeMark__init
]))(var1
, var2
, var3
) /* init on <var1:EscapeMark>*/;
601 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ADoExpr__escapemark_61d
]))(self
, var1
) /* escapemark= on <self:ADoExpr>*/;
604 /* method astbuilder#ADoExpr#make for (self: Object) */
605 void VIRTUAL_astbuilder__ADoExpr__make(val
* self
) {
606 astbuilder__ADoExpr__make(self
);
609 /* method astbuilder#ADoExpr#make_break for (self: ADoExpr): ABreakExpr */
610 val
* astbuilder__ADoExpr__make_break(val
* self
) {
611 val
* var
/* : ABreakExpr */;
612 val
* var1
/* : nullable EscapeMark */;
613 val
* var_escapemark
/* var escapemark: nullable EscapeMark */;
614 val
* var2
/* : null */;
615 short int var3
/* : Bool */;
616 val
* var4
/* : EscapeMark */;
617 val
* var5
/* : null */;
618 short int var6
/* : Bool */;
619 val
* var7
/* : ABreakExpr */;
620 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ADoExpr__escapemark
]))(self
) /* escapemark on <self:ADoExpr>*/;
621 var_escapemark
= var1
;
623 if (var_escapemark
== NULL
) {
624 var3
= 1; /* is null */
626 var3
= 0; /* arg is null but recv is not */
629 var4
= NEW_scope__EscapeMark(&type_scope__EscapeMark
);
632 ((void (*)(val
*, val
*, short int))(var4
->class->vft
[COLOR_scope__EscapeMark__init
]))(var4
, var5
, var6
) /* init on <var4:EscapeMark>*/;
633 var_escapemark
= var4
;
634 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ADoExpr__escapemark_61d
]))(self
, var_escapemark
) /* escapemark= on <self:ADoExpr>*/;
637 var7
= NEW_parser_nodes__ABreakExpr(&type_parser_nodes__ABreakExpr
);
638 ((void (*)(val
*, val
*))(var7
->class->vft
[COLOR_astbuilder__ABreakExpr__make
]))(var7
, var_escapemark
) /* make on <var7:ABreakExpr>*/;
644 /* method astbuilder#ADoExpr#make_break for (self: Object): ABreakExpr */
645 val
* VIRTUAL_astbuilder__ADoExpr__make_break(val
* self
) {
646 val
* var
/* : ABreakExpr */;
647 val
* var1
/* : ABreakExpr */;
648 var1
= astbuilder__ADoExpr__make_break(self
);
653 /* method astbuilder#ABreakExpr#make for (self: ABreakExpr, EscapeMark) */
654 void astbuilder__ABreakExpr__make(val
* self
, val
* p0
) {
655 val
* var_escapemark
/* var escapemark: EscapeMark */;
657 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ABreakExpr__escapemark_61d
]))(self
, var_escapemark
) /* escapemark= on <self:ABreakExpr>*/;
660 /* method astbuilder#ABreakExpr#make for (self: Object, EscapeMark) */
661 void VIRTUAL_astbuilder__ABreakExpr__make(val
* self
, val
* p0
) {
662 astbuilder__ABreakExpr__make(self
, p0
);
665 /* method astbuilder#AIfExpr#make for (self: AIfExpr, AExpr, nullable MType) */
666 void astbuilder__AIfExpr__make(val
* self
, val
* p0
, val
* p1
) {
667 val
* var_condition
/* var condition: AExpr */;
668 val
* var_mtype
/* var mtype: nullable MType */;
669 val
* var
/* : TKwif */;
670 val
* var1
/* : AExpr */;
671 val
* var2
/* : ABlockExpr */;
672 val
* var3
/* : ABlockExpr */;
673 short int var4
/* : Bool */;
676 var
= NEW_parser_nodes__TKwif(&type_parser_nodes__TKwif
);
677 ((void (*)(val
*))(var
->class->vft
[COLOR_parser_nodes__TKwif__init
]))(var
) /* init on <var:TKwif>*/;
678 self
->attrs
[COLOR_parser_nodes__AIfExpr___n_kwif
].val
= var
; /* _n_kwif on <self:AIfExpr> */
679 self
->attrs
[COLOR_parser_nodes__AIfExpr___n_expr
].val
= var_condition
; /* _n_expr on <self:AIfExpr> */
680 var1
= self
->attrs
[COLOR_parser_nodes__AIfExpr___n_expr
].val
; /* _n_expr on <self:AIfExpr> */
682 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _n_expr");
683 fprintf(stderr
, " (%s:%d)\n", "src/astbuilder.nit", 208);
686 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_parser_nodes__ANode__parent_61d
]))(var1
, self
) /* parent= on <var1:AExpr>*/;
687 var2
= NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr
);
688 ((void (*)(val
*))(var2
->class->vft
[COLOR_astbuilder__ABlockExpr__make
]))(var2
) /* make on <var2:ABlockExpr>*/;
689 self
->attrs
[COLOR_parser_nodes__AIfExpr___n_then
].val
= var2
; /* _n_then on <self:AIfExpr> */
690 var3
= NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr
);
691 ((void (*)(val
*))(var3
->class->vft
[COLOR_astbuilder__ABlockExpr__make
]))(var3
) /* make on <var3:ABlockExpr>*/;
692 self
->attrs
[COLOR_parser_nodes__AIfExpr___n_else
].val
= var3
; /* _n_else on <self:AIfExpr> */
693 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype_61d
]))(self
, var_mtype
) /* mtype= on <self:AIfExpr>*/;
695 ((void (*)(val
*, short int))(self
->class->vft
[COLOR_typing__AExpr__is_typed_61d
]))(self
, var4
) /* is_typed= on <self:AIfExpr>*/;
698 /* method astbuilder#AIfExpr#make for (self: Object, AExpr, nullable MType) */
699 void VIRTUAL_astbuilder__AIfExpr__make(val
* self
, val
* p0
, val
* p1
) {
700 astbuilder__AIfExpr__make(self
, p0
, p1
);
703 /* method astbuilder#AType#make for (self: AType) */
704 void astbuilder__AType__make(val
* self
) {
705 val
* var
/* : TClassid */;
706 var
= NEW_parser_nodes__TClassid(&type_parser_nodes__TClassid
);
707 ((void (*)(val
*))(var
->class->vft
[COLOR_parser_nodes__TClassid__init
]))(var
) /* init on <var:TClassid>*/;
708 self
->attrs
[COLOR_parser_nodes__AType___n_id
].val
= var
; /* _n_id on <self:AType> */
711 /* method astbuilder#AType#make for (self: Object) */
712 void VIRTUAL_astbuilder__AType__make(val
* self
) {
713 astbuilder__AType__make(self
);
716 /* method astbuilder#AIntExpr#make for (self: AIntExpr, Int, MType) */
717 void astbuilder__AIntExpr__make(val
* self
, long p0
, val
* p1
) {
718 long var_value
/* var value: Int */;
719 val
* var_t
/* var t: MType */;
720 val
* var
/* : nullable Int */;
721 val
* var1
/* : TNumber */;
724 var
= BOX_kernel__Int(var_value
); /* autobox from Int to nullable Int */
725 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_literal__AIntExpr__value_61d
]))(self
, var
) /* value= on <self:AIntExpr>*/;
726 var1
= NEW_parser_nodes__TNumber(&type_parser_nodes__TNumber
);
727 ((void (*)(val
*))(var1
->class->vft
[COLOR_parser_nodes__TNumber__init
]))(var1
) /* init on <var1:TNumber>*/;
728 self
->attrs
[COLOR_parser_nodes__AIntExpr___n_number
].val
= var1
; /* _n_number on <self:AIntExpr> */
729 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype_61d
]))(self
, var_t
) /* mtype= on <self:AIntExpr>*/;
732 /* method astbuilder#AIntExpr#make for (self: Object, Int, MType) */
733 void VIRTUAL_astbuilder__AIntExpr__make(val
* self
, long p0
, val
* p1
) {
734 astbuilder__AIntExpr__make(self
, p0
, p1
);
737 /* method astbuilder#ANewExpr#make for (self: ANewExpr, MClassType, MMethod, nullable Array[AExpr]) */
738 void astbuilder__ANewExpr__make(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
739 val
* var_mtype
/* var mtype: MClassType */;
740 val
* var_mmethod
/* var mmethod: MMethod */;
741 val
* var_args
/* var args: nullable Array[AExpr] */;
742 val
* var
/* : TKwnew */;
743 val
* var1
/* : AType */;
744 val
* var2
/* : AListExprs */;
745 val
* var3
/* : null */;
746 short int var4
/* : Bool */;
747 val
* var5
/* : AExprs */;
748 val
* var6
/* : ANodes[AExpr] */;
749 val
* var7
/* : CallSite */;
750 short int var8
/* : Bool */;
751 val
* var9
/* : MPropDef */;
752 val
* var10
/* : MPropDef */;
753 val
* var11
/* : nullable MSignature */;
754 short int var12
/* : Bool */;
758 var
= NEW_parser_nodes__TKwnew(&type_parser_nodes__TKwnew
);
759 ((void (*)(val
*))(var
->class->vft
[COLOR_parser_nodes__TKwnew__init
]))(var
) /* init on <var:TKwnew>*/;
760 self
->attrs
[COLOR_parser_nodes__ANewExpr___n_kwnew
].val
= var
; /* _n_kwnew on <self:ANewExpr> */
761 var1
= NEW_parser_nodes__AType(&type_parser_nodes__AType
);
762 ((void (*)(val
*))(var1
->class->vft
[COLOR_astbuilder__AType__make
]))(var1
) /* make on <var1:AType>*/;
763 self
->attrs
[COLOR_parser_nodes__ANewExpr___n_type
].val
= var1
; /* _n_type on <self:ANewExpr> */
764 var2
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
765 ((void (*)(val
*))(var2
->class->vft
[COLOR_parser_nodes__AListExprs__init
]))(var2
) /* init on <var2:AListExprs>*/;
766 self
->attrs
[COLOR_parser_nodes__ANewExpr___n_args
].val
= var2
; /* _n_args on <self:ANewExpr> */
768 if (var_args
== NULL
) {
769 var4
= 0; /* is null */
771 var4
= 1; /* arg is null and recv is not */
774 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANewExpr__n_args
]))(self
) /* n_args on <self:ANewExpr>*/;
775 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_parser_nodes__AExprs__n_exprs
]))(var5
) /* n_exprs on <var5:AExprs>*/;
776 ((void (*)(val
*, val
*))(var6
->class->vft
[COLOR_abstract_collection__SimpleCollection__add_all
]))(var6
, var_args
) /* add_all on <var6:ANodes[AExpr]>*/;
779 var7
= NEW_typing__CallSite(&type_typing__CallSite
);
781 var9
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__intro
]))(var_mmethod
) /* intro on <var_mmethod:MMethod>*/;
782 var10
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__intro
]))(var_mmethod
) /* intro on <var_mmethod:MMethod>*/;
783 var11
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var10
) /* msignature on <var10:MPropDef(MMethodDef)>*/;
785 fprintf(stderr
, "Runtime error: %s", "Cast failed");
786 fprintf(stderr
, " (%s:%d)\n", "src/astbuilder.nit", 241);
790 ((void (*)(val
*, val
*, val
*, short int, val
*, val
*, val
*, short int))(var7
->class->vft
[COLOR_typing__CallSite__init
]))(var7
, self
, var_mtype
, var8
, var_mmethod
, var9
, var11
, var12
) /* init on <var7:CallSite>*/;
791 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__ANewExpr__callsite_61d
]))(self
, var7
) /* callsite= on <self:ANewExpr>*/;
792 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype_61d
]))(self
, var_mtype
) /* mtype= on <self:ANewExpr>*/;
795 /* method astbuilder#ANewExpr#make for (self: Object, MClassType, MMethod, nullable Array[AExpr]) */
796 void VIRTUAL_astbuilder__ANewExpr__make(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
797 astbuilder__ANewExpr__make(self
, p0
, p1
, p2
);
800 /* method astbuilder#ACallExpr#make for (self: ACallExpr, AExpr, MMethod, nullable Array[AExpr], nullable MType) */
801 void astbuilder__ACallExpr__make(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
802 val
* var_recv
/* var recv: AExpr */;
803 val
* var_mmethod
/* var mmethod: MMethod */;
804 val
* var_args
/* var args: nullable Array[AExpr] */;
805 val
* var_t
/* var t: nullable MType */;
806 val
* var
/* : Array[AExpr] */;
807 val
* var1
/* : Array[AExpr] */;
808 val
* var2
/* : AListExprs */;
809 val
* var3
/* : TId */;
810 val
* var4
/* : null */;
811 short int var5
/* : Bool */;
812 val
* var6
/* : AExprs */;
813 val
* var7
/* : ANodes[AExpr] */;
814 val
* var8
/* : nullable MType */;
815 val
* var_mtype
/* var mtype: MType */;
816 val
* var9
/* : CallSite */;
817 short int var10
/* : Bool */;
818 val
* var11
/* : MPropDef */;
819 val
* var12
/* : MPropDef */;
820 val
* var13
/* : nullable MSignature */;
821 short int var14
/* : Bool */;
822 short int var15
/* : Bool */;
827 self
->attrs
[COLOR_parser_nodes__ASendExpr___n_expr
].val
= var_recv
; /* _n_expr on <self:ACallExpr> */
828 ((void (*)(val
*, val
*))(var_recv
->class->vft
[COLOR_parser_nodes__ANode__parent_61d
]))(var_recv
, self
) /* parent= on <var_recv:AExpr>*/;
829 if (var_args
!=NULL
) {
832 var1
= NEW_array__Array(&type_array__Arrayparser_nodes__AExpr
);
833 ((void (*)(val
*))(var1
->class->vft
[COLOR_array__Array__init
]))(var1
) /* init on <var1:Array[AExpr]>*/;
836 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__ASendExpr__raw_arguments_61d
]))(self
, var
) /* raw_arguments= on <self:ACallExpr>*/;
837 var2
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
838 ((void (*)(val
*))(var2
->class->vft
[COLOR_parser_nodes__AListExprs__init
]))(var2
) /* init on <var2:AListExprs>*/;
839 self
->attrs
[COLOR_parser_nodes__ACallFormExpr___n_args
].val
= var2
; /* _n_args on <self:ACallExpr> */
840 var3
= NEW_parser_nodes__TId(&type_parser_nodes__TId
);
841 ((void (*)(val
*))(var3
->class->vft
[COLOR_parser_nodes__TId__init
]))(var3
) /* init on <var3:TId>*/;
842 self
->attrs
[COLOR_parser_nodes__ACallFormExpr___n_id
].val
= var3
; /* _n_id on <self:ACallExpr> */
844 if (var_args
== NULL
) {
845 var5
= 0; /* is null */
847 var5
= 1; /* arg is null and recv is not */
850 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ACallFormExpr__n_args
]))(self
) /* n_args on <self:ACallExpr>*/;
851 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_parser_nodes__AExprs__n_exprs
]))(var6
) /* n_exprs on <var6:AExprs>*/;
852 ((void (*)(val
*, val
*))(var7
->class->vft
[COLOR_abstract_collection__SimpleCollection__add_all
]))(var7
, var_args
) /* add_all on <var7:ANodes[AExpr]>*/;
855 var8
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_typing__AExpr__mtype
]))(var_recv
) /* mtype on <var_recv:AExpr>*/;
857 fprintf(stderr
, "Runtime error: %s", "Cast failed");
858 fprintf(stderr
, " (%s:%d)\n", "src/astbuilder.nit", 257);
862 var9
= NEW_typing__CallSite(&type_typing__CallSite
);
864 var11
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__intro
]))(var_mmethod
) /* intro on <var_mmethod:MMethod>*/;
865 var12
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__intro
]))(var_mmethod
) /* intro on <var_mmethod:MMethod>*/;
866 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var12
) /* msignature on <var12:MPropDef(MMethodDef)>*/;
868 fprintf(stderr
, "Runtime error: %s", "Cast failed");
869 fprintf(stderr
, " (%s:%d)\n", "src/astbuilder.nit", 258);
873 ((void (*)(val
*, val
*, val
*, short int, val
*, val
*, val
*, short int))(var9
->class->vft
[COLOR_typing__CallSite__init
]))(var9
, self
, var_mtype
, var10
, var_mmethod
, var11
, var13
, var14
) /* init on <var9:CallSite>*/;
874 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__ASendExpr__callsite_61d
]))(self
, var9
) /* callsite= on <self:ACallExpr>*/;
875 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype_61d
]))(self
, var_t
) /* mtype= on <self:ACallExpr>*/;
877 ((void (*)(val
*, short int))(self
->class->vft
[COLOR_typing__AExpr__is_typed_61d
]))(self
, var15
) /* is_typed= on <self:ACallExpr>*/;
880 /* method astbuilder#ACallExpr#make for (self: Object, AExpr, MMethod, nullable Array[AExpr], nullable MType) */
881 void VIRTUAL_astbuilder__ACallExpr__make(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
882 astbuilder__ACallExpr__make(self
, p0
, p1
, p2
, p3
);
885 /* method astbuilder#AAttrExpr#make for (self: AAttrExpr, AExpr, MAttribute, MType) */
886 void astbuilder__AAttrExpr__make(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
887 val
* var_recv
/* var recv: AExpr */;
888 val
* var_attribute
/* var attribute: MAttribute */;
889 val
* var_t
/* var t: MType */;
890 val
* var
/* : TAttrid */;
894 self
->attrs
[COLOR_parser_nodes__AAttrFormExpr___n_expr
].val
= var_recv
; /* _n_expr on <self:AAttrExpr> */
895 ((void (*)(val
*, val
*))(var_recv
->class->vft
[COLOR_parser_nodes__ANode__parent_61d
]))(var_recv
, self
) /* parent= on <var_recv:AExpr>*/;
896 var
= NEW_parser_nodes__TAttrid(&type_parser_nodes__TAttrid
);
897 ((void (*)(val
*))(var
->class->vft
[COLOR_parser_nodes__TAttrid__init
]))(var
) /* init on <var:TAttrid>*/;
898 self
->attrs
[COLOR_parser_nodes__AAttrFormExpr___n_id
].val
= var
; /* _n_id on <self:AAttrExpr> */
899 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__AAttrFormExpr__mproperty_61d
]))(self
, var_attribute
) /* mproperty= on <self:AAttrExpr>*/;
900 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype_61d
]))(self
, var_t
) /* mtype= on <self:AAttrExpr>*/;
903 /* method astbuilder#AAttrExpr#make for (self: Object, AExpr, MAttribute, MType) */
904 void VIRTUAL_astbuilder__AAttrExpr__make(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
905 astbuilder__AAttrExpr__make(self
, p0
, p1
, p2
);
908 /* method astbuilder#AAttrAssignExpr#make for (self: AAttrAssignExpr, AExpr, MAttribute, AExpr) */
909 void astbuilder__AAttrAssignExpr__make(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
910 val
* var_recv
/* var recv: AExpr */;
911 val
* var_attribute
/* var attribute: MAttribute */;
912 val
* var_value
/* var value: AExpr */;
913 val
* var
/* : TAttrid */;
914 val
* var1
/* : TAssign */;
915 val
* var2
/* : nullable MType */;
919 self
->attrs
[COLOR_parser_nodes__AAttrFormExpr___n_expr
].val
= var_recv
; /* _n_expr on <self:AAttrAssignExpr> */
920 ((void (*)(val
*, val
*))(var_recv
->class->vft
[COLOR_parser_nodes__ANode__parent_61d
]))(var_recv
, self
) /* parent= on <var_recv:AExpr>*/;
921 var
= NEW_parser_nodes__TAttrid(&type_parser_nodes__TAttrid
);
922 ((void (*)(val
*))(var
->class->vft
[COLOR_parser_nodes__TAttrid__init
]))(var
) /* init on <var:TAttrid>*/;
923 self
->attrs
[COLOR_parser_nodes__AAttrFormExpr___n_id
].val
= var
; /* _n_id on <self:AAttrAssignExpr> */
924 self
->attrs
[COLOR_parser_nodes__AAssignFormExpr___n_value
].val
= var_value
; /* _n_value on <self:AAttrAssignExpr> */
925 ((void (*)(val
*, val
*))(var_value
->class->vft
[COLOR_parser_nodes__ANode__parent_61d
]))(var_value
, self
) /* parent= on <var_value:AExpr>*/;
926 var1
= NEW_parser_nodes__TAssign(&type_parser_nodes__TAssign
);
927 ((void (*)(val
*))(var1
->class->vft
[COLOR_parser_nodes__TAssign__init
]))(var1
) /* init on <var1:TAssign>*/;
928 self
->attrs
[COLOR_parser_nodes__AAssignFormExpr___n_assign
].val
= var1
; /* _n_assign on <self:AAttrAssignExpr> */
929 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__AAttrFormExpr__mproperty_61d
]))(self
, var_attribute
) /* mproperty= on <self:AAttrAssignExpr>*/;
930 var2
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_typing__AExpr__mtype
]))(var_value
) /* mtype on <var_value:AExpr>*/;
931 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype_61d
]))(self
, var2
) /* mtype= on <self:AAttrAssignExpr>*/;
934 /* method astbuilder#AAttrAssignExpr#make for (self: Object, AExpr, MAttribute, AExpr) */
935 void VIRTUAL_astbuilder__AAttrAssignExpr__make(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
936 astbuilder__AAttrAssignExpr__make(self
, p0
, p1
, p2
);
939 /* method astbuilder#AVarExpr#make for (self: AVarExpr, Variable, MType) */
940 void astbuilder__AVarExpr__make(val
* self
, val
* p0
, val
* p1
) {
941 val
* var_v
/* var v: Variable */;
942 val
* var_mtype
/* var mtype: MType */;
943 val
* var
/* : TId */;
946 var
= NEW_parser_nodes__TId(&type_parser_nodes__TId
);
947 ((void (*)(val
*))(var
->class->vft
[COLOR_parser_nodes__TId__init
]))(var
) /* init on <var:TId>*/;
948 self
->attrs
[COLOR_parser_nodes__AVarFormExpr___n_id
].val
= var
; /* _n_id on <self:AVarExpr> */
949 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__AVarFormExpr__variable_61d
]))(self
, var_v
) /* variable= on <self:AVarExpr>*/;
950 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype_61d
]))(self
, var_mtype
) /* mtype= on <self:AVarExpr>*/;
953 /* method astbuilder#AVarExpr#make for (self: Object, Variable, MType) */
954 void VIRTUAL_astbuilder__AVarExpr__make(val
* self
, val
* p0
, val
* p1
) {
955 astbuilder__AVarExpr__make(self
, p0
, p1
);
958 /* method astbuilder#AVarAssignExpr#make for (self: AVarAssignExpr, Variable, AExpr) */
959 void astbuilder__AVarAssignExpr__make(val
* self
, val
* p0
, val
* p1
) {
960 val
* var_v
/* var v: Variable */;
961 val
* var_value
/* var value: AExpr */;
962 val
* var
/* : TId */;
963 val
* var1
/* : TAssign */;
964 val
* var2
/* : nullable MType */;
967 var
= NEW_parser_nodes__TId(&type_parser_nodes__TId
);
968 ((void (*)(val
*))(var
->class->vft
[COLOR_parser_nodes__TId__init
]))(var
) /* init on <var:TId>*/;
969 self
->attrs
[COLOR_parser_nodes__AVarFormExpr___n_id
].val
= var
; /* _n_id on <self:AVarAssignExpr> */
970 self
->attrs
[COLOR_parser_nodes__AAssignFormExpr___n_value
].val
= var_value
; /* _n_value on <self:AVarAssignExpr> */
971 ((void (*)(val
*, val
*))(var_value
->class->vft
[COLOR_parser_nodes__ANode__parent_61d
]))(var_value
, self
) /* parent= on <var_value:AExpr>*/;
972 var1
= NEW_parser_nodes__TAssign(&type_parser_nodes__TAssign
);
973 ((void (*)(val
*))(var1
->class->vft
[COLOR_parser_nodes__TAssign__init
]))(var1
) /* init on <var1:TAssign>*/;
974 self
->attrs
[COLOR_parser_nodes__AAssignFormExpr___n_assign
].val
= var1
; /* _n_assign on <self:AVarAssignExpr> */
975 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__AVarFormExpr__variable_61d
]))(self
, var_v
) /* variable= on <self:AVarAssignExpr>*/;
976 var2
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_typing__AExpr__mtype
]))(var_value
) /* mtype on <var_value:AExpr>*/;
977 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype_61d
]))(self
, var2
) /* mtype= on <self:AVarAssignExpr>*/;
980 /* method astbuilder#AVarAssignExpr#make for (self: Object, Variable, AExpr) */
981 void VIRTUAL_astbuilder__AVarAssignExpr__make(val
* self
, val
* p0
, val
* p1
) {
982 astbuilder__AVarAssignExpr__make(self
, p0
, p1
);