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 (%s:%d)\n", "Uninitialized attribute @mmodule", "src/astbuilder.nit", 25);
15 /* method astbuilder#ASTBuilder#mmodule for (self: Object): MModule */
16 val
* VIRTUAL_astbuilder__ASTBuilder__mmodule(val
* self
) {
17 val
* var
/* : MModule */;
18 val
* var1
/* : MModule */;
19 var1
= astbuilder__ASTBuilder__mmodule(self
);
24 /* method astbuilder#ASTBuilder#mmodule= for (self: ASTBuilder, MModule) */
25 void astbuilder__ASTBuilder__mmodule_61d(val
* self
, val
* p0
) {
26 self
->attrs
[COLOR_astbuilder__ASTBuilder___64dmmodule
].val
= p0
; /* @mmodule on <self:ASTBuilder> */
29 /* method astbuilder#ASTBuilder#mmodule= for (self: Object, MModule) */
30 void VIRTUAL_astbuilder__ASTBuilder__mmodule_61d(val
* self
, val
* p0
) {
31 astbuilder__ASTBuilder__mmodule_61d(self
, p0
);
34 /* method astbuilder#ASTBuilder#anchor for (self: ASTBuilder): nullable MClassType */
35 val
* astbuilder__ASTBuilder__anchor(val
* self
) {
36 val
* var
/* : nullable MClassType */;
37 val
* var1
/* : nullable MClassType */;
38 var1
= self
->attrs
[COLOR_astbuilder__ASTBuilder___64danchor
].val
; /* @anchor on <self:ASTBuilder> */
43 /* method astbuilder#ASTBuilder#anchor for (self: Object): nullable MClassType */
44 val
* VIRTUAL_astbuilder__ASTBuilder__anchor(val
* self
) {
45 val
* var
/* : nullable MClassType */;
46 val
* var1
/* : nullable MClassType */;
47 var1
= astbuilder__ASTBuilder__anchor(self
);
52 /* method astbuilder#ASTBuilder#anchor= for (self: ASTBuilder, nullable MClassType) */
53 void astbuilder__ASTBuilder__anchor_61d(val
* self
, val
* p0
) {
54 self
->attrs
[COLOR_astbuilder__ASTBuilder___64danchor
].val
= p0
; /* @anchor on <self:ASTBuilder> */
57 /* method astbuilder#ASTBuilder#anchor= for (self: Object, nullable MClassType) */
58 void VIRTUAL_astbuilder__ASTBuilder__anchor_61d(val
* self
, val
* p0
) {
59 astbuilder__ASTBuilder__anchor_61d(self
, p0
);
62 /* method astbuilder#ASTBuilder#make_int for (self: ASTBuilder, Int): AIntExpr */
63 val
* astbuilder__ASTBuilder__make_int(val
* self
, long p0
) {
64 val
* var
/* : AIntExpr */;
65 long var_value
/* var value: Int */;
66 val
* var1
/* : AIntExpr */;
67 val
* var2
/* : MModule */;
69 val
* var3
/* : String */;
70 char* var4
/* : NativeString */;
71 long var5
/* : Int */;
72 val
* var6
/* : String */;
73 val
* var7
/* : MClass */;
74 val
* var8
/* : MClassType */;
76 var1
= NEW_parser_nodes__AIntExpr(&type_parser_nodes__AIntExpr
);
77 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_astbuilder__ASTBuilder__mmodule
]))(self
) /* mmodule on <self:ASTBuilder>*/;
83 var6
= string__NativeString__to_s_with_length(var4
, var5
);
87 var7
= ((val
* (*)(val
*, val
*))(var2
->class->vft
[COLOR_model__MModule__get_primitive_class
]))(var2
, var3
) /* get_primitive_class on <var2:MModule>*/;
88 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_model__MClass__mclass_type
]))(var7
) /* mclass_type on <var7:MClass>*/;
89 ((void (*)(val
*, long, val
*))(var1
->class->vft
[COLOR_astbuilder__AIntExpr__make
]))(var1
, var_value
, var8
) /* make on <var1:AIntExpr>*/;
90 CHECK_NEW_parser_nodes__AIntExpr(var1
);
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>*/;
117 CHECK_NEW_parser_nodes__ANewExpr(var1
);
123 /* method astbuilder#ASTBuilder#make_new for (self: Object, MClassType, MMethod, nullable Array[AExpr]): ANewExpr */
124 val
* VIRTUAL_astbuilder__ASTBuilder__make_new(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
125 val
* var
/* : ANewExpr */;
126 val
* var1
/* : ANewExpr */;
127 var1
= astbuilder__ASTBuilder__make_new(self
, p0
, p1
, p2
);
132 /* method astbuilder#ASTBuilder#make_call for (self: ASTBuilder, AExpr, MMethod, nullable Array[AExpr]): ACallExpr */
133 val
* astbuilder__ASTBuilder__make_call(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
134 val
* var
/* : ACallExpr */;
135 val
* var_recv
/* var recv: AExpr */;
136 val
* var_mmethod
/* var mmethod: MMethod */;
137 val
* var_args
/* var args: nullable Array[AExpr] */;
138 val
* var1
/* : MPropDef */;
139 val
* var2
/* : nullable MSignature */;
140 val
* var3
/* : nullable MType */;
141 val
* var_mtype
/* var mtype: nullable MType */;
142 val
* var4
/* : null */;
143 short int var5
/* : Bool */;
144 val
* var6
/* : nullable MType */;
145 val
* var7
/* : nullable MClassType */;
146 val
* var8
/* : MModule */;
147 short int var9
/* : Bool */;
148 val
* var10
/* : MType */;
149 val
* var11
/* : ACallExpr */;
153 var1
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__intro
]))(var_mmethod
) /* intro on <var_mmethod:MMethod>*/;
154 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var1
) /* msignature on <var1:MPropDef(MMethodDef)>*/;
156 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "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 (%s:%d)\n", "Cast failed", "src/astbuilder.nit", 48);
174 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_astbuilder__ASTBuilder__anchor
]))(self
) /* anchor on <self:ASTBuilder>*/;
175 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_astbuilder__ASTBuilder__mmodule
]))(self
) /* mmodule on <self:ASTBuilder>*/;
177 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)>*/;
181 var11
= NEW_parser_nodes__ACallExpr(&type_parser_nodes__ACallExpr
);
182 ((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>*/;
183 CHECK_NEW_parser_nodes__ACallExpr(var11
);
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>*/;
204 CHECK_NEW_parser_nodes__ABlockExpr(var1
);
210 /* method astbuilder#ASTBuilder#make_block for (self: Object): ABlockExpr */
211 val
* VIRTUAL_astbuilder__ASTBuilder__make_block(val
* self
) {
212 val
* var
/* : ABlockExpr */;
213 val
* var1
/* : ABlockExpr */;
214 var1
= astbuilder__ASTBuilder__make_block(self
);
219 /* method astbuilder#ASTBuilder#make_var_read for (self: ASTBuilder, Variable): AVarExpr */
220 val
* astbuilder__ASTBuilder__make_var_read(val
* self
, val
* p0
) {
221 val
* var
/* : AVarExpr */;
222 val
* var_variable
/* var variable: Variable */;
223 val
* var1
/* : AVarExpr */;
225 var1
= NEW_parser_nodes__AVarExpr(&type_parser_nodes__AVarExpr
);
226 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_astbuilder__AVarExpr__make
]))(var1
, var_variable
) /* make on <var1:AVarExpr>*/;
227 CHECK_NEW_parser_nodes__AVarExpr(var1
);
233 /* method astbuilder#ASTBuilder#make_var_read for (self: Object, Variable): AVarExpr */
234 val
* VIRTUAL_astbuilder__ASTBuilder__make_var_read(val
* self
, val
* p0
) {
235 val
* var
/* : AVarExpr */;
236 val
* var1
/* : AVarExpr */;
237 var1
= astbuilder__ASTBuilder__make_var_read(self
, p0
);
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>*/;
252 CHECK_NEW_parser_nodes__AVarAssignExpr(var1
);
258 /* method astbuilder#ASTBuilder#make_var_assign for (self: Object, Variable, AExpr): AVarAssignExpr */
259 val
* VIRTUAL_astbuilder__ASTBuilder__make_var_assign(val
* self
, val
* p0
, val
* p1
) {
260 val
* var
/* : AVarAssignExpr */;
261 val
* var1
/* : AVarAssignExpr */;
262 var1
= astbuilder__ASTBuilder__make_var_assign(self
, p0
, p1
);
267 /* method astbuilder#ASTBuilder#make_attr_read for (self: ASTBuilder, AExpr, MAttribute): AAttrExpr */
268 val
* astbuilder__ASTBuilder__make_attr_read(val
* self
, val
* p0
, val
* p1
) {
269 val
* var
/* : AAttrExpr */;
270 val
* var_recv
/* var recv: AExpr */;
271 val
* var_attribute
/* var attribute: MAttribute */;
272 val
* var1
/* : MPropDef */;
273 val
* var2
/* : nullable MType */;
274 val
* var3
/* : nullable MType */;
275 val
* var4
/* : nullable MClassType */;
276 val
* var5
/* : MModule */;
277 short int var6
/* : Bool */;
278 val
* var7
/* : MType */;
279 val
* var_mtype
/* var mtype: MType */;
280 val
* var8
/* : AAttrExpr */;
283 var1
= ((val
* (*)(val
*))(var_attribute
->class->vft
[COLOR_model__MProperty__intro
]))(var_attribute
) /* intro on <var_attribute:MAttribute>*/;
284 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_model__MAttributeDef__static_mtype
]))(var1
) /* static_mtype on <var1:MPropDef(MAttributeDef)>*/;
285 var3
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_typing__AExpr__mtype
]))(var_recv
) /* mtype on <var_recv:AExpr>*/;
287 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "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 (%s:%d)\n", "Reciever is null", "src/astbuilder.nit", 73);
297 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>*/;
300 var8
= NEW_parser_nodes__AAttrExpr(&type_parser_nodes__AAttrExpr
);
301 ((void (*)(val
*, val
*, val
*, val
*))(var8
->class->vft
[COLOR_astbuilder__AAttrExpr__make
]))(var8
, var_recv
, var_attribute
, var_mtype
) /* make on <var8:AAttrExpr>*/;
302 CHECK_NEW_parser_nodes__AAttrExpr(var8
);
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>*/;
329 CHECK_NEW_parser_nodes__AAttrAssignExpr(var1
);
335 /* method astbuilder#ASTBuilder#make_attr_assign for (self: Object, AExpr, MAttribute, AExpr): AAttrAssignExpr */
336 val
* VIRTUAL_astbuilder__ASTBuilder__make_attr_assign(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
337 val
* var
/* : AAttrAssignExpr */;
338 val
* var1
/* : AAttrAssignExpr */;
339 var1
= astbuilder__ASTBuilder__make_attr_assign(self
, p0
, p1
, p2
);
344 /* method astbuilder#ASTBuilder#make_do for (self: ASTBuilder): ADoExpr */
345 val
* astbuilder__ASTBuilder__make_do(val
* self
) {
346 val
* var
/* : ADoExpr */;
347 val
* var1
/* : ADoExpr */;
348 var1
= NEW_parser_nodes__ADoExpr(&type_parser_nodes__ADoExpr
);
349 ((void (*)(val
*))(var1
->class->vft
[COLOR_astbuilder__ADoExpr__make
]))(var1
) /* make on <var1:ADoExpr>*/;
350 CHECK_NEW_parser_nodes__ADoExpr(var1
);
356 /* method astbuilder#ASTBuilder#make_do for (self: Object): ADoExpr */
357 val
* VIRTUAL_astbuilder__ASTBuilder__make_do(val
* self
) {
358 val
* var
/* : ADoExpr */;
359 val
* var1
/* : ADoExpr */;
360 var1
= astbuilder__ASTBuilder__make_do(self
);
365 /* method astbuilder#ASTBuilder#make_if for (self: ASTBuilder, AExpr, nullable MType): AIfExpr */
366 val
* astbuilder__ASTBuilder__make_if(val
* self
, val
* p0
, val
* p1
) {
367 val
* var
/* : AIfExpr */;
368 val
* var_condition
/* var condition: AExpr */;
369 val
* var_mtype
/* var mtype: nullable MType */;
370 val
* var1
/* : AIfExpr */;
373 var1
= NEW_parser_nodes__AIfExpr(&type_parser_nodes__AIfExpr
);
374 ((void (*)(val
*, val
*, val
*))(var1
->class->vft
[COLOR_astbuilder__AIfExpr__make
]))(var1
, var_condition
, var_mtype
) /* make on <var1:AIfExpr>*/;
375 CHECK_NEW_parser_nodes__AIfExpr(var1
);
381 /* method astbuilder#ASTBuilder#make_if for (self: Object, AExpr, nullable MType): AIfExpr */
382 val
* VIRTUAL_astbuilder__ASTBuilder__make_if(val
* self
, val
* p0
, val
* p1
) {
383 val
* var
/* : AIfExpr */;
384 val
* var1
/* : AIfExpr */;
385 var1
= astbuilder__ASTBuilder__make_if(self
, p0
, p1
);
390 /* method astbuilder#ASTBuilder#init for (self: ASTBuilder, MModule, nullable MClassType) */
391 void astbuilder__ASTBuilder__init(val
* self
, val
* p0
, val
* p1
) {
392 self
->attrs
[COLOR_astbuilder__ASTBuilder___64dmmodule
].val
= p0
; /* @mmodule on <self:ASTBuilder> */
393 self
->attrs
[COLOR_astbuilder__ASTBuilder___64danchor
].val
= p1
; /* @anchor on <self:ASTBuilder> */
396 /* method astbuilder#ASTBuilder#init for (self: Object, MModule, nullable MClassType) */
397 void VIRTUAL_astbuilder__ASTBuilder__init(val
* self
, val
* p0
, val
* p1
) {
398 astbuilder__ASTBuilder__init(self
, p0
, p1
);
401 /* method astbuilder#AExpr#make_var_read for (self: AExpr): AVarExpr */
402 val
* astbuilder__AExpr__make_var_read(val
* self
) {
403 val
* var
/* : AVarExpr */;
404 val
* var1
/* : nullable Variable */;
405 val
* var_variable
/* var variable: nullable Variable */;
406 val
* var2
/* : null */;
407 short int var3
/* : Bool */;
408 val
* var4
/* : nullable ANode */;
409 val
* var5
/* : null */;
410 short int var6
/* : Bool */;
411 val
* var7
/* : AExpr */;
412 val
* var_place
/* var place: AExpr */;
413 val
* var8
/* : Variable */;
415 val
* var9
/* : String */;
416 char* var10
/* : NativeString */;
417 long var11
/* : Int */;
418 val
* var12
/* : String */;
419 val
* var13
/* : nullable MType */;
420 val
* var14
/* : AVarAssignExpr */;
421 val
* var_nvar
/* var nvar: AVarAssignExpr */;
422 val
* var15
/* : AVarExpr */;
423 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_astbuilder__AExpr__variable_cache
]))(self
) /* variable_cache on <self:AExpr>*/;
426 if (var_variable
== NULL
) {
427 var3
= 1; /* is null */
429 var3
= 0; /* arg is null but recv is not */
432 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__parent
]))(self
) /* parent on <self:AExpr>*/;
435 var6
= 0; /* is null */
437 var6
= 1; /* arg is null and recv is not */
440 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/astbuilder.nit", 107);
443 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_astbuilder__AExpr__detach_with_placeholder
]))(self
) /* detach_with_placeholder on <self:AExpr>*/;
445 var8
= NEW_scope__Variable(&type_scope__Variable
);
451 var12
= string__NativeString__to_s_with_length(var10
, var11
);
455 ((void (*)(val
*, val
*))(var8
->class->vft
[COLOR_scope__Variable__init
]))(var8
, var9
) /* init on <var8:Variable>*/;
456 CHECK_NEW_scope__Variable(var8
);
458 var13
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AExpr>*/;
459 ((void (*)(val
*, val
*))(var_variable
->class->vft
[COLOR_typing__Variable__declared_type_61d
]))(var_variable
, var13
) /* declared_type= on <var_variable:nullable Variable(Variable)>*/;
460 var14
= NEW_parser_nodes__AVarAssignExpr(&type_parser_nodes__AVarAssignExpr
);
461 ((void (*)(val
*, val
*, val
*))(var14
->class->vft
[COLOR_astbuilder__AVarAssignExpr__make
]))(var14
, var_variable
, self
) /* make on <var14:AVarAssignExpr>*/;
462 CHECK_NEW_parser_nodes__AVarAssignExpr(var14
);
464 ((void (*)(val
*, val
*))(var_place
->class->vft
[COLOR_parser_nodes__ANode__replace_with
]))(var_place
, var_nvar
) /* replace_with on <var_place:AExpr>*/;
465 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_astbuilder__AExpr__variable_cache_61d
]))(self
, var_variable
) /* variable_cache= on <self:AExpr>*/;
468 var15
= NEW_parser_nodes__AVarExpr(&type_parser_nodes__AVarExpr
);
469 ((void (*)(val
*, val
*))(var15
->class->vft
[COLOR_astbuilder__AVarExpr__make
]))(var15
, var_variable
) /* make on <var15:AVarExpr>*/;
470 CHECK_NEW_parser_nodes__AVarExpr(var15
);
476 /* method astbuilder#AExpr#make_var_read for (self: Object): AVarExpr */
477 val
* VIRTUAL_astbuilder__AExpr__make_var_read(val
* self
) {
478 val
* var
/* : AVarExpr */;
479 val
* var1
/* : AVarExpr */;
480 var1
= astbuilder__AExpr__make_var_read(self
);
485 /* method astbuilder#AExpr#variable_cache for (self: AExpr): nullable Variable */
486 val
* astbuilder__AExpr__variable_cache(val
* self
) {
487 val
* var
/* : nullable Variable */;
488 val
* var1
/* : nullable Variable */;
489 var1
= self
->attrs
[COLOR_astbuilder__AExpr___64dvariable_cache
].val
; /* @variable_cache on <self:AExpr> */
494 /* method astbuilder#AExpr#variable_cache for (self: Object): nullable Variable */
495 val
* VIRTUAL_astbuilder__AExpr__variable_cache(val
* self
) {
496 val
* var
/* : nullable Variable */;
497 val
* var1
/* : nullable Variable */;
498 var1
= astbuilder__AExpr__variable_cache(self
);
503 /* method astbuilder#AExpr#variable_cache= for (self: AExpr, nullable Variable) */
504 void astbuilder__AExpr__variable_cache_61d(val
* self
, val
* p0
) {
505 self
->attrs
[COLOR_astbuilder__AExpr___64dvariable_cache
].val
= p0
; /* @variable_cache on <self:AExpr> */
508 /* method astbuilder#AExpr#variable_cache= for (self: Object, nullable Variable) */
509 void VIRTUAL_astbuilder__AExpr__variable_cache_61d(val
* self
, val
* p0
) {
510 astbuilder__AExpr__variable_cache_61d(self
, p0
);
513 /* method astbuilder#AExpr#detach_with_placeholder for (self: AExpr): AExpr */
514 val
* astbuilder__AExpr__detach_with_placeholder(val
* self
) {
515 val
* var
/* : AExpr */;
516 val
* var1
/* : APlaceholderExpr */;
517 val
* var_h
/* var h: APlaceholderExpr */;
518 var1
= NEW_astbuilder__APlaceholderExpr(&type_astbuilder__APlaceholderExpr
);
519 ((void (*)(val
*))(var1
->class->vft
[COLOR_astbuilder__APlaceholderExpr__make
]))(var1
) /* make on <var1:APlaceholderExpr>*/;
520 CHECK_NEW_astbuilder__APlaceholderExpr(var1
);
522 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__replace_with
]))(self
, var_h
) /* replace_with on <self:AExpr>*/;
528 /* method astbuilder#AExpr#detach_with_placeholder for (self: Object): AExpr */
529 val
* VIRTUAL_astbuilder__AExpr__detach_with_placeholder(val
* self
) {
530 val
* var
/* : AExpr */;
531 val
* var1
/* : AExpr */;
532 var1
= astbuilder__AExpr__detach_with_placeholder(self
);
537 /* method astbuilder#AExpr#add for (self: AExpr, AExpr) */
538 void astbuilder__AExpr__add(val
* self
, val
* p0
) {
539 val
* var_expr
/* var expr: AExpr */;
541 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Aborted", "src/astbuilder.nit", 147);
545 /* method astbuilder#AExpr#add for (self: Object, AExpr) */
546 void VIRTUAL_astbuilder__AExpr__add(val
* self
, val
* p0
) {
547 astbuilder__AExpr__add(self
, p0
);
550 /* method astbuilder#APlaceholderExpr#make for (self: APlaceholderExpr) */
551 void astbuilder__APlaceholderExpr__make(val
* self
) {
552 ((void (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AExpr__init
]))(self
) /* init on <self:APlaceholderExpr>*/;
555 /* method astbuilder#APlaceholderExpr#make for (self: Object) */
556 void VIRTUAL_astbuilder__APlaceholderExpr__make(val
* self
) {
557 astbuilder__APlaceholderExpr__make(self
);
560 /* method astbuilder#ABlockExpr#make for (self: ABlockExpr) */
561 void astbuilder__ABlockExpr__make(val
* self
) {
562 short int var
/* : Bool */;
564 ((void (*)(val
*, short int))(self
->class->vft
[COLOR_typing__AExpr__is_typed_61d
]))(self
, var
) /* is_typed= on <self:ABlockExpr>*/;
567 /* method astbuilder#ABlockExpr#make for (self: Object) */
568 void VIRTUAL_astbuilder__ABlockExpr__make(val
* self
) {
569 astbuilder__ABlockExpr__make(self
);
572 /* method astbuilder#ABlockExpr#add for (self: ABlockExpr, AExpr) */
573 void astbuilder__ABlockExpr__add(val
* self
, val
* p0
) {
574 val
* var_expr
/* var expr: AExpr */;
575 val
* var
/* : ANodes[AExpr] */;
577 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ABlockExpr__n_expr
]))(self
) /* n_expr on <self:ABlockExpr>*/;
578 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var
, var_expr
) /* add on <var:ANodes[AExpr]>*/;
581 /* method astbuilder#ABlockExpr#add for (self: Object, AExpr) */
582 void VIRTUAL_astbuilder__ABlockExpr__add(val
* self
, val
* p0
) {
583 astbuilder__ABlockExpr__add(self
, p0
);
586 /* method astbuilder#ADoExpr#make for (self: ADoExpr) */
587 void astbuilder__ADoExpr__make(val
* self
) {
588 val
* var
/* : TKwdo */;
589 val
* var1
/* : EscapeMark */;
590 val
* var2
/* : null */;
591 short int var3
/* : Bool */;
592 var
= NEW_parser_nodes__TKwdo(&type_parser_nodes__TKwdo
);
593 ((void (*)(val
*))(var
->class->vft
[COLOR_parser_nodes__TKwdo__init
]))(var
) /* init on <var:TKwdo>*/;
594 CHECK_NEW_parser_nodes__TKwdo(var
);
595 self
->attrs
[COLOR_parser_nodes__ADoExpr___n_kwdo
].val
= var
; /* _n_kwdo on <self:ADoExpr> */
596 var1
= NEW_scope__EscapeMark(&type_scope__EscapeMark
);
599 ((void (*)(val
*, val
*, short int))(var1
->class->vft
[COLOR_scope__EscapeMark__init
]))(var1
, var2
, var3
) /* init on <var1:EscapeMark>*/;
600 CHECK_NEW_scope__EscapeMark(var1
);
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 CHECK_NEW_scope__EscapeMark(var4
);
634 var_escapemark
= var4
;
635 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ADoExpr__escapemark_61d
]))(self
, var_escapemark
) /* escapemark= on <self:ADoExpr>*/;
638 var7
= NEW_parser_nodes__ABreakExpr(&type_parser_nodes__ABreakExpr
);
639 ((void (*)(val
*, val
*))(var7
->class->vft
[COLOR_astbuilder__ABreakExpr__make
]))(var7
, var_escapemark
) /* make on <var7:ABreakExpr>*/;
640 CHECK_NEW_parser_nodes__ABreakExpr(var7
);
646 /* method astbuilder#ADoExpr#make_break for (self: Object): ABreakExpr */
647 val
* VIRTUAL_astbuilder__ADoExpr__make_break(val
* self
) {
648 val
* var
/* : ABreakExpr */;
649 val
* var1
/* : ABreakExpr */;
650 var1
= astbuilder__ADoExpr__make_break(self
);
655 /* method astbuilder#ABreakExpr#make for (self: ABreakExpr, EscapeMark) */
656 void astbuilder__ABreakExpr__make(val
* self
, val
* p0
) {
657 val
* var_escapemark
/* var escapemark: EscapeMark */;
659 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ABreakExpr__escapemark_61d
]))(self
, var_escapemark
) /* escapemark= on <self:ABreakExpr>*/;
662 /* method astbuilder#ABreakExpr#make for (self: Object, EscapeMark) */
663 void VIRTUAL_astbuilder__ABreakExpr__make(val
* self
, val
* p0
) {
664 astbuilder__ABreakExpr__make(self
, p0
);
667 /* method astbuilder#AIfExpr#make for (self: AIfExpr, AExpr, nullable MType) */
668 void astbuilder__AIfExpr__make(val
* self
, val
* p0
, val
* p1
) {
669 val
* var_condition
/* var condition: AExpr */;
670 val
* var_mtype
/* var mtype: nullable MType */;
671 val
* var
/* : TKwif */;
672 val
* var1
/* : AExpr */;
673 val
* var2
/* : ABlockExpr */;
674 val
* var3
/* : ABlockExpr */;
675 short int var4
/* : Bool */;
678 var
= NEW_parser_nodes__TKwif(&type_parser_nodes__TKwif
);
679 ((void (*)(val
*))(var
->class->vft
[COLOR_parser_nodes__TKwif__init
]))(var
) /* init on <var:TKwif>*/;
680 CHECK_NEW_parser_nodes__TKwif(var
);
681 self
->attrs
[COLOR_parser_nodes__AIfExpr___n_kwif
].val
= var
; /* _n_kwif on <self:AIfExpr> */
682 self
->attrs
[COLOR_parser_nodes__AIfExpr___n_expr
].val
= var_condition
; /* _n_expr on <self:AIfExpr> */
683 var1
= self
->attrs
[COLOR_parser_nodes__AIfExpr___n_expr
].val
; /* _n_expr on <self:AIfExpr> */
685 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/astbuilder.nit", 208);
688 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_parser_nodes__ANode__parent_61d
]))(var1
, self
) /* parent= on <var1:AExpr>*/;
689 var2
= NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr
);
690 ((void (*)(val
*))(var2
->class->vft
[COLOR_astbuilder__ABlockExpr__make
]))(var2
) /* make on <var2:ABlockExpr>*/;
691 CHECK_NEW_parser_nodes__ABlockExpr(var2
);
692 self
->attrs
[COLOR_parser_nodes__AIfExpr___n_then
].val
= var2
; /* _n_then on <self:AIfExpr> */
693 var3
= NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr
);
694 ((void (*)(val
*))(var3
->class->vft
[COLOR_astbuilder__ABlockExpr__make
]))(var3
) /* make on <var3:ABlockExpr>*/;
695 CHECK_NEW_parser_nodes__ABlockExpr(var3
);
696 self
->attrs
[COLOR_parser_nodes__AIfExpr___n_else
].val
= var3
; /* _n_else on <self:AIfExpr> */
697 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype_61d
]))(self
, var_mtype
) /* mtype= on <self:AIfExpr>*/;
699 ((void (*)(val
*, short int))(self
->class->vft
[COLOR_typing__AExpr__is_typed_61d
]))(self
, var4
) /* is_typed= on <self:AIfExpr>*/;
702 /* method astbuilder#AIfExpr#make for (self: Object, AExpr, nullable MType) */
703 void VIRTUAL_astbuilder__AIfExpr__make(val
* self
, val
* p0
, val
* p1
) {
704 astbuilder__AIfExpr__make(self
, p0
, p1
);
707 /* method astbuilder#AType#make for (self: AType) */
708 void astbuilder__AType__make(val
* self
) {
709 val
* var
/* : TClassid */;
710 var
= NEW_parser_nodes__TClassid(&type_parser_nodes__TClassid
);
711 ((void (*)(val
*))(var
->class->vft
[COLOR_parser_nodes__TClassid__init
]))(var
) /* init on <var:TClassid>*/;
712 CHECK_NEW_parser_nodes__TClassid(var
);
713 self
->attrs
[COLOR_parser_nodes__AType___n_id
].val
= var
; /* _n_id on <self:AType> */
716 /* method astbuilder#AType#make for (self: Object) */
717 void VIRTUAL_astbuilder__AType__make(val
* self
) {
718 astbuilder__AType__make(self
);
721 /* method astbuilder#AIntExpr#make for (self: AIntExpr, Int, MType) */
722 void astbuilder__AIntExpr__make(val
* self
, long p0
, val
* p1
) {
723 long var_value
/* var value: Int */;
724 val
* var_t
/* var t: MType */;
725 val
* var
/* : nullable Int */;
726 val
* var1
/* : TNumber */;
729 var
= BOX_kernel__Int(var_value
); /* autobox from Int to nullable Int */
730 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_literal__AIntExpr__value_61d
]))(self
, var
) /* value= on <self:AIntExpr>*/;
731 var1
= NEW_parser_nodes__TNumber(&type_parser_nodes__TNumber
);
732 ((void (*)(val
*))(var1
->class->vft
[COLOR_parser_nodes__TNumber__init
]))(var1
) /* init on <var1:TNumber>*/;
733 CHECK_NEW_parser_nodes__TNumber(var1
);
734 self
->attrs
[COLOR_parser_nodes__AIntExpr___n_number
].val
= var1
; /* _n_number on <self:AIntExpr> */
735 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype_61d
]))(self
, var_t
) /* mtype= on <self:AIntExpr>*/;
738 /* method astbuilder#AIntExpr#make for (self: Object, Int, MType) */
739 void VIRTUAL_astbuilder__AIntExpr__make(val
* self
, long p0
, val
* p1
) {
740 astbuilder__AIntExpr__make(self
, p0
, p1
);
743 /* method astbuilder#ANewExpr#make for (self: ANewExpr, MClassType, MMethod, nullable Array[AExpr]) */
744 void astbuilder__ANewExpr__make(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
745 val
* var_mtype
/* var mtype: MClassType */;
746 val
* var_mmethod
/* var mmethod: MMethod */;
747 val
* var_args
/* var args: nullable Array[AExpr] */;
748 val
* var
/* : TKwnew */;
749 val
* var1
/* : AType */;
750 val
* var2
/* : AListExprs */;
751 val
* var3
/* : null */;
752 short int var4
/* : Bool */;
753 val
* var5
/* : AExprs */;
754 val
* var6
/* : ANodes[AExpr] */;
755 val
* var7
/* : CallSite */;
756 short int var8
/* : Bool */;
757 val
* var9
/* : MPropDef */;
758 val
* var10
/* : MPropDef */;
759 val
* var11
/* : nullable MSignature */;
760 short int var12
/* : Bool */;
764 var
= NEW_parser_nodes__TKwnew(&type_parser_nodes__TKwnew
);
765 ((void (*)(val
*))(var
->class->vft
[COLOR_parser_nodes__TKwnew__init
]))(var
) /* init on <var:TKwnew>*/;
766 CHECK_NEW_parser_nodes__TKwnew(var
);
767 self
->attrs
[COLOR_parser_nodes__ANewExpr___n_kwnew
].val
= var
; /* _n_kwnew on <self:ANewExpr> */
768 var1
= NEW_parser_nodes__AType(&type_parser_nodes__AType
);
769 ((void (*)(val
*))(var1
->class->vft
[COLOR_astbuilder__AType__make
]))(var1
) /* make on <var1:AType>*/;
770 CHECK_NEW_parser_nodes__AType(var1
);
771 self
->attrs
[COLOR_parser_nodes__ANewExpr___n_type
].val
= var1
; /* _n_type on <self:ANewExpr> */
772 var2
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
773 ((void (*)(val
*))(var2
->class->vft
[COLOR_parser_nodes__AListExprs__init
]))(var2
) /* init on <var2:AListExprs>*/;
774 CHECK_NEW_parser_nodes__AListExprs(var2
);
775 self
->attrs
[COLOR_parser_nodes__ANewExpr___n_args
].val
= var2
; /* _n_args on <self:ANewExpr> */
777 if (var_args
== NULL
) {
778 var4
= 0; /* is null */
780 var4
= 1; /* arg is null and recv is not */
783 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANewExpr__n_args
]))(self
) /* n_args on <self:ANewExpr>*/;
784 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_parser_nodes__AExprs__n_exprs
]))(var5
) /* n_exprs on <var5:AExprs>*/;
785 ((void (*)(val
*, val
*))(var6
->class->vft
[COLOR_abstract_collection__SimpleCollection__add_all
]))(var6
, var_args
) /* add_all on <var6:ANodes[AExpr]>*/;
788 var7
= NEW_typing__CallSite(&type_typing__CallSite
);
790 var9
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__intro
]))(var_mmethod
) /* intro on <var_mmethod:MMethod>*/;
791 var10
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__intro
]))(var_mmethod
) /* intro on <var_mmethod:MMethod>*/;
792 var11
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var10
) /* msignature on <var10:MPropDef(MMethodDef)>*/;
794 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/astbuilder.nit", 241);
798 ((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>*/;
799 CHECK_NEW_typing__CallSite(var7
);
800 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__ANewExpr__callsite_61d
]))(self
, var7
) /* callsite= on <self:ANewExpr>*/;
801 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype_61d
]))(self
, var_mtype
) /* mtype= on <self:ANewExpr>*/;
804 /* method astbuilder#ANewExpr#make for (self: Object, MClassType, MMethod, nullable Array[AExpr]) */
805 void VIRTUAL_astbuilder__ANewExpr__make(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
806 astbuilder__ANewExpr__make(self
, p0
, p1
, p2
);
809 /* method astbuilder#ACallExpr#make for (self: ACallExpr, AExpr, MMethod, nullable Array[AExpr], nullable MType) */
810 void astbuilder__ACallExpr__make(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
811 val
* var_recv
/* var recv: AExpr */;
812 val
* var_mmethod
/* var mmethod: MMethod */;
813 val
* var_args
/* var args: nullable Array[AExpr] */;
814 val
* var_t
/* var t: nullable MType */;
815 val
* var
/* : Array[AExpr] */;
816 val
* var1
/* : Array[AExpr] */;
817 val
* var2
/* : AListExprs */;
818 val
* var3
/* : TId */;
819 val
* var4
/* : null */;
820 short int var5
/* : Bool */;
821 val
* var6
/* : AExprs */;
822 val
* var7
/* : ANodes[AExpr] */;
823 val
* var8
/* : nullable MType */;
824 val
* var_mtype
/* var mtype: MType */;
825 val
* var9
/* : CallSite */;
826 short int var10
/* : Bool */;
827 val
* var11
/* : MPropDef */;
828 val
* var12
/* : MPropDef */;
829 val
* var13
/* : nullable MSignature */;
830 short int var14
/* : Bool */;
831 short int var15
/* : Bool */;
836 self
->attrs
[COLOR_parser_nodes__ASendExpr___n_expr
].val
= var_recv
; /* _n_expr on <self:ACallExpr> */
837 ((void (*)(val
*, val
*))(var_recv
->class->vft
[COLOR_parser_nodes__ANode__parent_61d
]))(var_recv
, self
) /* parent= on <var_recv:AExpr>*/;
838 if (var_args
!=NULL
) {
841 var1
= NEW_array__Array(&type_array__Arrayparser_nodes__AExpr
);
842 ((void (*)(val
*))(var1
->class->vft
[COLOR_array__Array__init
]))(var1
) /* init on <var1:Array[AExpr]>*/;
843 CHECK_NEW_array__Array(var1
);
846 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__ASendExpr__raw_arguments_61d
]))(self
, var
) /* raw_arguments= on <self:ACallExpr>*/;
847 var2
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
848 ((void (*)(val
*))(var2
->class->vft
[COLOR_parser_nodes__AListExprs__init
]))(var2
) /* init on <var2:AListExprs>*/;
849 CHECK_NEW_parser_nodes__AListExprs(var2
);
850 self
->attrs
[COLOR_parser_nodes__ACallFormExpr___n_args
].val
= var2
; /* _n_args on <self:ACallExpr> */
851 var3
= NEW_parser_nodes__TId(&type_parser_nodes__TId
);
852 ((void (*)(val
*))(var3
->class->vft
[COLOR_parser_nodes__TId__init
]))(var3
) /* init on <var3:TId>*/;
853 CHECK_NEW_parser_nodes__TId(var3
);
854 self
->attrs
[COLOR_parser_nodes__ACallFormExpr___n_id
].val
= var3
; /* _n_id on <self:ACallExpr> */
856 if (var_args
== NULL
) {
857 var5
= 0; /* is null */
859 var5
= 1; /* arg is null and recv is not */
862 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ACallFormExpr__n_args
]))(self
) /* n_args on <self:ACallExpr>*/;
863 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_parser_nodes__AExprs__n_exprs
]))(var6
) /* n_exprs on <var6:AExprs>*/;
864 ((void (*)(val
*, val
*))(var7
->class->vft
[COLOR_abstract_collection__SimpleCollection__add_all
]))(var7
, var_args
) /* add_all on <var7:ANodes[AExpr]>*/;
867 var8
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_typing__AExpr__mtype
]))(var_recv
) /* mtype on <var_recv:AExpr>*/;
869 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/astbuilder.nit", 257);
873 var9
= NEW_typing__CallSite(&type_typing__CallSite
);
875 var11
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__intro
]))(var_mmethod
) /* intro on <var_mmethod:MMethod>*/;
876 var12
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__intro
]))(var_mmethod
) /* intro on <var_mmethod:MMethod>*/;
877 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var12
) /* msignature on <var12:MPropDef(MMethodDef)>*/;
879 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/astbuilder.nit", 258);
883 ((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>*/;
884 CHECK_NEW_typing__CallSite(var9
);
885 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__ASendExpr__callsite_61d
]))(self
, var9
) /* callsite= on <self:ACallExpr>*/;
886 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype_61d
]))(self
, var_t
) /* mtype= on <self:ACallExpr>*/;
888 ((void (*)(val
*, short int))(self
->class->vft
[COLOR_typing__AExpr__is_typed_61d
]))(self
, var15
) /* is_typed= on <self:ACallExpr>*/;
891 /* method astbuilder#ACallExpr#make for (self: Object, AExpr, MMethod, nullable Array[AExpr], nullable MType) */
892 void VIRTUAL_astbuilder__ACallExpr__make(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
893 astbuilder__ACallExpr__make(self
, p0
, p1
, p2
, p3
);
896 /* method astbuilder#AAttrExpr#make for (self: AAttrExpr, AExpr, MAttribute, MType) */
897 void astbuilder__AAttrExpr__make(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
898 val
* var_recv
/* var recv: AExpr */;
899 val
* var_attribute
/* var attribute: MAttribute */;
900 val
* var_t
/* var t: MType */;
901 val
* var
/* : TAttrid */;
905 self
->attrs
[COLOR_parser_nodes__AAttrFormExpr___n_expr
].val
= var_recv
; /* _n_expr on <self:AAttrExpr> */
906 ((void (*)(val
*, val
*))(var_recv
->class->vft
[COLOR_parser_nodes__ANode__parent_61d
]))(var_recv
, self
) /* parent= on <var_recv:AExpr>*/;
907 var
= NEW_parser_nodes__TAttrid(&type_parser_nodes__TAttrid
);
908 ((void (*)(val
*))(var
->class->vft
[COLOR_parser_nodes__TAttrid__init
]))(var
) /* init on <var:TAttrid>*/;
909 CHECK_NEW_parser_nodes__TAttrid(var
);
910 self
->attrs
[COLOR_parser_nodes__AAttrFormExpr___n_id
].val
= var
; /* _n_id on <self:AAttrExpr> */
911 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__AAttrFormExpr__mproperty_61d
]))(self
, var_attribute
) /* mproperty= on <self:AAttrExpr>*/;
912 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype_61d
]))(self
, var_t
) /* mtype= on <self:AAttrExpr>*/;
915 /* method astbuilder#AAttrExpr#make for (self: Object, AExpr, MAttribute, MType) */
916 void VIRTUAL_astbuilder__AAttrExpr__make(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
917 astbuilder__AAttrExpr__make(self
, p0
, p1
, p2
);
920 /* method astbuilder#AAttrAssignExpr#make for (self: AAttrAssignExpr, AExpr, MAttribute, AExpr) */
921 void astbuilder__AAttrAssignExpr__make(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
922 val
* var_recv
/* var recv: AExpr */;
923 val
* var_attribute
/* var attribute: MAttribute */;
924 val
* var_value
/* var value: AExpr */;
925 val
* var
/* : TAttrid */;
926 val
* var1
/* : TAssign */;
927 val
* var2
/* : nullable MType */;
931 self
->attrs
[COLOR_parser_nodes__AAttrFormExpr___n_expr
].val
= var_recv
; /* _n_expr on <self:AAttrAssignExpr> */
932 ((void (*)(val
*, val
*))(var_recv
->class->vft
[COLOR_parser_nodes__ANode__parent_61d
]))(var_recv
, self
) /* parent= on <var_recv:AExpr>*/;
933 var
= NEW_parser_nodes__TAttrid(&type_parser_nodes__TAttrid
);
934 ((void (*)(val
*))(var
->class->vft
[COLOR_parser_nodes__TAttrid__init
]))(var
) /* init on <var:TAttrid>*/;
935 CHECK_NEW_parser_nodes__TAttrid(var
);
936 self
->attrs
[COLOR_parser_nodes__AAttrFormExpr___n_id
].val
= var
; /* _n_id on <self:AAttrAssignExpr> */
937 self
->attrs
[COLOR_parser_nodes__AAssignFormExpr___n_value
].val
= var_value
; /* _n_value on <self:AAttrAssignExpr> */
938 ((void (*)(val
*, val
*))(var_value
->class->vft
[COLOR_parser_nodes__ANode__parent_61d
]))(var_value
, self
) /* parent= on <var_value:AExpr>*/;
939 var1
= NEW_parser_nodes__TAssign(&type_parser_nodes__TAssign
);
940 ((void (*)(val
*))(var1
->class->vft
[COLOR_parser_nodes__TAssign__init
]))(var1
) /* init on <var1:TAssign>*/;
941 CHECK_NEW_parser_nodes__TAssign(var1
);
942 self
->attrs
[COLOR_parser_nodes__AAssignFormExpr___n_assign
].val
= var1
; /* _n_assign on <self:AAttrAssignExpr> */
943 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__AAttrFormExpr__mproperty_61d
]))(self
, var_attribute
) /* mproperty= on <self:AAttrAssignExpr>*/;
944 var2
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_typing__AExpr__mtype
]))(var_value
) /* mtype on <var_value:AExpr>*/;
945 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype_61d
]))(self
, var2
) /* mtype= on <self:AAttrAssignExpr>*/;
948 /* method astbuilder#AAttrAssignExpr#make for (self: Object, AExpr, MAttribute, AExpr) */
949 void VIRTUAL_astbuilder__AAttrAssignExpr__make(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
950 astbuilder__AAttrAssignExpr__make(self
, p0
, p1
, p2
);
953 /* method astbuilder#AVarExpr#make for (self: AVarExpr, Variable) */
954 void astbuilder__AVarExpr__make(val
* self
, val
* p0
) {
955 val
* var_v
/* var v: Variable */;
956 val
* var
/* : TId */;
957 val
* var1
/* : nullable MType */;
959 var
= NEW_parser_nodes__TId(&type_parser_nodes__TId
);
960 ((void (*)(val
*))(var
->class->vft
[COLOR_parser_nodes__TId__init
]))(var
) /* init on <var:TId>*/;
961 CHECK_NEW_parser_nodes__TId(var
);
962 self
->attrs
[COLOR_parser_nodes__AVarFormExpr___n_id
].val
= var
; /* _n_id on <self:AVarExpr> */
963 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__AVarFormExpr__variable_61d
]))(self
, var_v
) /* variable= on <self:AVarExpr>*/;
964 var1
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_typing__Variable__declared_type
]))(var_v
) /* declared_type on <var_v:Variable>*/;
965 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype_61d
]))(self
, var1
) /* mtype= on <self:AVarExpr>*/;
968 /* method astbuilder#AVarExpr#make for (self: Object, Variable) */
969 void VIRTUAL_astbuilder__AVarExpr__make(val
* self
, val
* p0
) {
970 astbuilder__AVarExpr__make(self
, p0
);
973 /* method astbuilder#AVarAssignExpr#make for (self: AVarAssignExpr, Variable, AExpr) */
974 void astbuilder__AVarAssignExpr__make(val
* self
, val
* p0
, val
* p1
) {
975 val
* var_v
/* var v: Variable */;
976 val
* var_value
/* var value: AExpr */;
977 val
* var
/* : TId */;
978 val
* var1
/* : TAssign */;
979 val
* var2
/* : nullable MType */;
982 var
= NEW_parser_nodes__TId(&type_parser_nodes__TId
);
983 ((void (*)(val
*))(var
->class->vft
[COLOR_parser_nodes__TId__init
]))(var
) /* init on <var:TId>*/;
984 CHECK_NEW_parser_nodes__TId(var
);
985 self
->attrs
[COLOR_parser_nodes__AVarFormExpr___n_id
].val
= var
; /* _n_id on <self:AVarAssignExpr> */
986 self
->attrs
[COLOR_parser_nodes__AAssignFormExpr___n_value
].val
= var_value
; /* _n_value on <self:AVarAssignExpr> */
987 ((void (*)(val
*, val
*))(var_value
->class->vft
[COLOR_parser_nodes__ANode__parent_61d
]))(var_value
, self
) /* parent= on <var_value:AExpr>*/;
988 var1
= NEW_parser_nodes__TAssign(&type_parser_nodes__TAssign
);
989 ((void (*)(val
*))(var1
->class->vft
[COLOR_parser_nodes__TAssign__init
]))(var1
) /* init on <var1:TAssign>*/;
990 CHECK_NEW_parser_nodes__TAssign(var1
);
991 self
->attrs
[COLOR_parser_nodes__AAssignFormExpr___n_assign
].val
= var1
; /* _n_assign on <self:AVarAssignExpr> */
992 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__AVarFormExpr__variable_61d
]))(self
, var_v
) /* variable= on <self:AVarAssignExpr>*/;
993 var2
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_typing__AExpr__mtype
]))(var_value
) /* mtype on <var_value:AExpr>*/;
994 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype_61d
]))(self
, var2
) /* mtype= on <self:AVarAssignExpr>*/;
997 /* method astbuilder#AVarAssignExpr#make for (self: Object, Variable, AExpr) */
998 void VIRTUAL_astbuilder__AVarAssignExpr__make(val
* self
, val
* p0
, val
* p1
) {
999 astbuilder__AVarAssignExpr__make(self
, p0
, p1
);