1 #include "nitc__astbuilder.sep.0.h"
2 /* method astbuilder#ASTBuilder#mmodule for (self: ASTBuilder): MModule */
3 val
* nitc___nitc__ASTBuilder___mmodule(val
* self
) {
4 val
* var
/* : MModule */;
5 val
* var1
/* : MModule */;
6 var1
= self
->attrs
[COLOR_nitc__astbuilder__ASTBuilder___mmodule
].val
; /* _mmodule on <self:ASTBuilder> */
7 if (unlikely(var1
== NULL
)) {
8 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
9 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder
, 25);
16 /* method astbuilder#ASTBuilder#mmodule= for (self: ASTBuilder, MModule) */
17 void nitc___nitc__ASTBuilder___mmodule_61d(val
* self
, val
* p0
) {
18 self
->attrs
[COLOR_nitc__astbuilder__ASTBuilder___mmodule
].val
= p0
; /* _mmodule on <self:ASTBuilder> */
21 /* method astbuilder#ASTBuilder#anchor for (self: ASTBuilder): nullable MClassType */
22 val
* nitc___nitc__ASTBuilder___anchor(val
* self
) {
23 val
* var
/* : nullable MClassType */;
24 val
* var1
/* : nullable MClassType */;
25 var1
= self
->attrs
[COLOR_nitc__astbuilder__ASTBuilder___anchor
].val
; /* _anchor on <self:ASTBuilder> */
30 /* method astbuilder#ASTBuilder#anchor= for (self: ASTBuilder, nullable MClassType) */
31 void nitc___nitc__ASTBuilder___anchor_61d(val
* self
, val
* p0
) {
32 self
->attrs
[COLOR_nitc__astbuilder__ASTBuilder___anchor
].val
= p0
; /* _anchor on <self:ASTBuilder> */
35 /* method astbuilder#ASTBuilder#make_int for (self: ASTBuilder, Int): AIntegerExpr */
36 val
* nitc___nitc__ASTBuilder___make_int(val
* self
, long p0
) {
37 val
* var
/* : AIntegerExpr */;
38 long var_value
/* var value: Int */;
39 val
* var1
/* : AIntegerExpr */;
40 val
* var2
/* : MModule */;
41 val
* var4
/* : MModule */;
42 val
* var5
/* : MClassType */;
44 var1
= NEW_nitc__AIntegerExpr(&type_nitc__AIntegerExpr
);
46 { /* Inline astbuilder#ASTBuilder#mmodule (self) on <self:ASTBuilder> */
47 var4
= self
->attrs
[COLOR_nitc__astbuilder__ASTBuilder___mmodule
].val
; /* _mmodule on <self:ASTBuilder> */
48 if (unlikely(var4
== NULL
)) {
49 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
50 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder
, 25);
58 var5
= nitc__model___MModule___int_type(var2
);
61 nitc__astbuilder___AIntegerExpr___make(var1
, var_value
, var5
); /* Direct call astbuilder#AIntegerExpr#make on <var1:AIntegerExpr>*/
68 /* method astbuilder#ASTBuilder#make_new for (self: ASTBuilder, CallSite, nullable Array[AExpr]): ANewExpr */
69 val
* nitc___nitc__ASTBuilder___make_new(val
* self
, val
* p0
, val
* p1
) {
70 val
* var
/* : ANewExpr */;
71 val
* var_callsite
/* var callsite: CallSite */;
72 val
* var_args
/* var args: nullable Array[AExpr] */;
73 val
* var1
/* : ANewExpr */;
76 var1
= NEW_nitc__ANewExpr(&type_nitc__ANewExpr
);
78 nitc__astbuilder___ANewExpr___make(var1
, var_callsite
, var_args
); /* Direct call astbuilder#ANewExpr#make on <var1:ANewExpr>*/
85 /* method astbuilder#ASTBuilder#make_call for (self: ASTBuilder, AExpr, CallSite, nullable Array[AExpr]): ACallExpr */
86 val
* nitc___nitc__ASTBuilder___make_call(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
87 val
* var
/* : ACallExpr */;
88 val
* var_recv
/* var recv: AExpr */;
89 val
* var_callsite
/* var callsite: CallSite */;
90 val
* var_args
/* var args: nullable Array[AExpr] */;
91 val
* var1
/* : ACallExpr */;
95 var1
= NEW_nitc__ACallExpr(&type_nitc__ACallExpr
);
97 nitc__astbuilder___ACallExpr___make(var1
, var_recv
, var_callsite
, var_args
); /* Direct call astbuilder#ACallExpr#make on <var1:ACallExpr>*/
104 /* method astbuilder#ASTBuilder#make_block for (self: ASTBuilder): ABlockExpr */
105 val
* nitc___nitc__ASTBuilder___make_block(val
* self
) {
106 val
* var
/* : ABlockExpr */;
107 val
* var1
/* : ABlockExpr */;
108 var1
= NEW_nitc__ABlockExpr(&type_nitc__ABlockExpr
);
110 nitc__astbuilder___ABlockExpr___make(var1
); /* Direct call astbuilder#ABlockExpr#make on <var1:ABlockExpr>*/
117 /* method astbuilder#ASTBuilder#make_loop for (self: ASTBuilder): ALoopExpr */
118 val
* nitc___nitc__ASTBuilder___make_loop(val
* self
) {
119 val
* var
/* : ALoopExpr */;
120 val
* var1
/* : ALoopExpr */;
121 var1
= NEW_nitc__ALoopExpr(&type_nitc__ALoopExpr
);
123 nitc__astbuilder___ALoopExpr___make(var1
); /* Direct call astbuilder#ALoopExpr#make on <var1:ALoopExpr>*/
130 /* method astbuilder#ASTBuilder#make_var_read for (self: ASTBuilder, Variable, MType): AVarExpr */
131 val
* nitc___nitc__ASTBuilder___make_var_read(val
* self
, val
* p0
, val
* p1
) {
132 val
* var
/* : AVarExpr */;
133 val
* var_variable
/* var variable: Variable */;
134 val
* var_mtype
/* var mtype: MType */;
135 val
* var1
/* : AVarExpr */;
138 var1
= NEW_nitc__AVarExpr(&type_nitc__AVarExpr
);
140 nitc__astbuilder___AVarExpr___make(var1
, var_variable
, var_mtype
); /* Direct call astbuilder#AVarExpr#make on <var1:AVarExpr>*/
147 /* method astbuilder#ASTBuilder#make_var_assign for (self: ASTBuilder, Variable, AExpr): AVarAssignExpr */
148 val
* nitc___nitc__ASTBuilder___make_var_assign(val
* self
, val
* p0
, val
* p1
) {
149 val
* var
/* : AVarAssignExpr */;
150 val
* var_variable
/* var variable: Variable */;
151 val
* var_value
/* var value: AExpr */;
152 val
* var1
/* : AVarAssignExpr */;
155 var1
= NEW_nitc__AVarAssignExpr(&type_nitc__AVarAssignExpr
);
157 nitc__astbuilder___AVarAssignExpr___make(var1
, var_variable
, var_value
); /* Direct call astbuilder#AVarAssignExpr#make on <var1:AVarAssignExpr>*/
164 /* method astbuilder#ASTBuilder#make_attr_read for (self: ASTBuilder, AExpr, MAttribute): AAttrExpr */
165 val
* nitc___nitc__ASTBuilder___make_attr_read(val
* self
, val
* p0
, val
* p1
) {
166 val
* var
/* : AAttrExpr */;
167 val
* var_recv
/* var recv: AExpr */;
168 val
* var_attribute
/* var attribute: MAttribute */;
169 val
* var1
/* : MPropDef */;
170 val
* var3
/* : MPropDef */;
171 val
* var4
/* : nullable MType */;
172 val
* var6
/* : nullable MType */;
173 val
* var7
/* : nullable MType */;
174 val
* var8
/* : nullable MClassType */;
175 val
* var10
/* : nullable MClassType */;
176 val
* var11
/* : MModule */;
177 val
* var13
/* : MModule */;
178 val
* var14
/* : MType */;
179 val
* var_mtype
/* var mtype: MType */;
180 val
* var15
/* : AAttrExpr */;
184 { /* Inline model#MProperty#intro (var_attribute) on <var_attribute:MAttribute> */
185 var3
= var_attribute
->attrs
[COLOR_nitc__model__MProperty___intro
].val
; /* _intro on <var_attribute:MAttribute> */
186 if (unlikely(var3
== NULL
)) {
187 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
188 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1986);
196 { /* Inline model#MAttributeDef#static_mtype (var1) on <var1:MPropDef(MAttributeDef)> */
197 var6
= var1
->attrs
[COLOR_nitc__model__MAttributeDef___static_mtype
].val
; /* _static_mtype on <var1:MPropDef(MAttributeDef)> */
203 var7
= ((val
*(*)(val
* self
))(var_recv
->class->vft
[COLOR_nitc__typing__AExpr__mtype
]))(var_recv
); /* mtype on <var_recv:AExpr>*/
205 if (unlikely(var7
== NULL
)) {
206 PRINT_ERROR("Runtime error: %s", "Cast failed");
207 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder
, 77);
211 { /* Inline astbuilder#ASTBuilder#anchor (self) on <self:ASTBuilder> */
212 var10
= self
->attrs
[COLOR_nitc__astbuilder__ASTBuilder___anchor
].val
; /* _anchor on <self:ASTBuilder> */
218 { /* Inline astbuilder#ASTBuilder#mmodule (self) on <self:ASTBuilder> */
219 var13
= self
->attrs
[COLOR_nitc__astbuilder__ASTBuilder___mmodule
].val
; /* _mmodule on <self:ASTBuilder> */
220 if (unlikely(var13
== NULL
)) {
221 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
222 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder
, 25);
230 PRINT_ERROR("Runtime error: %s", "Receiver is null");
231 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder
, 77);
234 var14
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
))(var4
->class->vft
[COLOR_nitc__model__MType__resolve_for
]))(var4
, var7
, var8
, var11
, 1); /* resolve_for on <var4:nullable MType>*/
237 var15
= NEW_nitc__AAttrExpr(&type_nitc__AAttrExpr
);
239 nitc__astbuilder___AAttrExpr___make(var15
, var_recv
, var_attribute
, var_mtype
); /* Direct call astbuilder#AAttrExpr#make on <var15:AAttrExpr>*/
246 /* method astbuilder#ASTBuilder#make_attr_assign for (self: ASTBuilder, AExpr, MAttribute, AExpr): AAttrAssignExpr */
247 val
* nitc___nitc__ASTBuilder___make_attr_assign(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
248 val
* var
/* : AAttrAssignExpr */;
249 val
* var_recv
/* var recv: AExpr */;
250 val
* var_attribute
/* var attribute: MAttribute */;
251 val
* var_value
/* var value: AExpr */;
252 val
* var1
/* : AAttrAssignExpr */;
256 var1
= NEW_nitc__AAttrAssignExpr(&type_nitc__AAttrAssignExpr
);
258 nitc__astbuilder___AAttrAssignExpr___make(var1
, var_recv
, var_attribute
, var_value
); /* Direct call astbuilder#AAttrAssignExpr#make on <var1:AAttrAssignExpr>*/
265 /* method astbuilder#ASTBuilder#make_do for (self: ASTBuilder): ADoExpr */
266 val
* nitc___nitc__ASTBuilder___make_do(val
* self
) {
267 val
* var
/* : ADoExpr */;
268 val
* var1
/* : ADoExpr */;
269 var1
= NEW_nitc__ADoExpr(&type_nitc__ADoExpr
);
271 nitc__astbuilder___ADoExpr___make(var1
); /* Direct call astbuilder#ADoExpr#make on <var1:ADoExpr>*/
278 /* method astbuilder#ASTBuilder#make_break for (self: ASTBuilder, EscapeMark): ABreakExpr */
279 val
* nitc___nitc__ASTBuilder___make_break(val
* self
, val
* p0
) {
280 val
* var
/* : ABreakExpr */;
281 val
* var_escapemark
/* var escapemark: EscapeMark */;
282 val
* var1
/* : ABreakExpr */;
284 var1
= NEW_nitc__ABreakExpr(&type_nitc__ABreakExpr
);
286 nitc__astbuilder___ABreakExpr___make(var1
, var_escapemark
); /* Direct call astbuilder#ABreakExpr#make on <var1:ABreakExpr>*/
293 /* method astbuilder#ASTBuilder#make_if for (self: ASTBuilder, AExpr, nullable MType): AIfExpr */
294 val
* nitc___nitc__ASTBuilder___make_if(val
* self
, val
* p0
, val
* p1
) {
295 val
* var
/* : AIfExpr */;
296 val
* var_condition
/* var condition: AExpr */;
297 val
* var_mtype
/* var mtype: nullable MType */;
298 val
* var1
/* : AIfExpr */;
301 var1
= NEW_nitc__AIfExpr(&type_nitc__AIfExpr
);
303 nitc__astbuilder___AIfExpr___make(var1
, var_condition
, var_mtype
); /* Direct call astbuilder#AIfExpr#make on <var1:AIfExpr>*/
310 /* method astbuilder#ASTBuilder#init for (self: ASTBuilder) */
311 void nitc___nitc__ASTBuilder___core__kernel__Object__init(val
* self
) {
313 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc___nitc__ASTBuilder___core__kernel__Object__init
]))(self
); /* init on <self:ASTBuilder>*/
317 /* method astbuilder#AExpr#make_var_read for (self: AExpr): AVarExpr */
318 val
* nitc__astbuilder___AExpr___make_var_read(val
* self
) {
319 val
* var
/* : AVarExpr */;
320 val
* var1
/* : nullable Variable */;
321 val
* var3
/* : nullable Variable */;
322 val
* var_variable
/* var variable: nullable Variable */;
323 short int var4
/* : Bool */;
324 short int var5
/* : Bool */;
325 val
* var_other
/* var other: nullable Object */;
326 short int var7
/* : Bool */;
327 short int var9
/* : Bool */;
328 val
* var10
/* : nullable ANode */;
329 val
* var12
/* : nullable ANode */;
330 short int var13
/* : Bool */;
331 short int var14
/* : Bool */;
332 val
* var_other16
/* var other: nullable Object */;
333 short int var17
/* : Bool */;
334 short int var18
/* : Bool */;
335 val
* var19
/* : AExpr */;
336 val
* var_place
/* var place: AExpr */;
337 val
* var20
/* : Variable */;
339 val
* var21
/* : String */;
340 char* var22
/* : NativeString */;
341 val
* var23
/* : String */;
342 val
* var24
/* : nullable MType */;
343 val
* var26
/* : AVarAssignExpr */;
344 val
* var_nvar
/* var nvar: AVarAssignExpr */;
345 val
* var28
/* : AVarExpr */;
346 val
* var29
/* : nullable MType */;
347 val
* var31
/* : nullable MType */;
349 { /* Inline astbuilder#AExpr#variable_cache (self) on <self:AExpr> */
350 var3
= self
->attrs
[COLOR_nitc__astbuilder__AExpr___variable_cache
].val
; /* _variable_cache on <self:AExpr> */
356 if (var_variable
== NULL
) {
357 var4
= 1; /* is null */
359 var4
= 0; /* arg is null but recv is not */
362 { /* Inline kernel#Object#== (var_variable,((val*)NULL)) on <var_variable:nullable Variable> */
363 var_other
= ((val
*)NULL
);
365 { /* Inline kernel#Object#is_same_instance (var_variable,var_other) on <var_variable:nullable Variable(Variable)> */
366 var9
= var_variable
== var_other
;
380 { /* Inline parser_nodes#ANode#parent (self) on <self:AExpr> */
381 var12
= self
->attrs
[COLOR_nitc__parser_nodes__ANode___parent
].val
; /* _parent on <self:AExpr> */
387 var13
= 0; /* is null */
389 var13
= 1; /* arg is null and recv is not */
392 { /* Inline kernel#Object#!= (var10,((val*)NULL)) on <var10:nullable ANode> */
393 var_other16
= ((val
*)NULL
);
395 var17
= ((short int(*)(val
* self
, val
* p0
))(var10
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var10
, var_other16
); /* == on <var10:nullable ANode(ANode)>*/
404 if (unlikely(!var13
)) {
405 PRINT_ERROR("Runtime error: %s", "Assert failed");
406 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder
, 117);
410 var19
= nitc__astbuilder___AExpr___detach_with_placeholder(self
);
413 var20
= NEW_nitc__Variable(&type_nitc__Variable
);
414 if (likely(varonce
!=NULL
)) {
418 var23
= core__flat___NativeString___to_s_full(var22
, 0l, 0l);
423 ((void(*)(val
* self
, val
* p0
))(var20
->class->vft
[COLOR_nitc__scope__Variable__name_61d
]))(var20
, var21
); /* name= on <var20:Variable>*/
426 ((void(*)(val
* self
))(var20
->class->vft
[COLOR_core__kernel__Object__init
]))(var20
); /* init on <var20:Variable>*/
428 var_variable
= var20
;
430 var24
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nitc__typing__AExpr__mtype
]))(self
); /* mtype on <self:AExpr>*/
433 { /* Inline typing#Variable#declared_type= (var_variable,var24) on <var_variable:nullable Variable(Variable)> */
434 var_variable
->attrs
[COLOR_nitc__typing__Variable___declared_type
].val
= var24
; /* _declared_type on <var_variable:nullable Variable(Variable)> */
438 var26
= NEW_nitc__AVarAssignExpr(&type_nitc__AVarAssignExpr
);
440 nitc__astbuilder___AVarAssignExpr___make(var26
, var_variable
, self
); /* Direct call astbuilder#AVarAssignExpr#make on <var26:AVarAssignExpr>*/
444 nitc__transform___AExpr___nitc__parser_nodes__ANode__replace_with(var_place
, var_nvar
); /* Direct call transform#AExpr#replace_with on <var_place:AExpr>*/
447 { /* Inline astbuilder#AExpr#variable_cache= (self,var_variable) on <self:AExpr> */
448 self
->attrs
[COLOR_nitc__astbuilder__AExpr___variable_cache
].val
= var_variable
; /* _variable_cache on <self:AExpr> */
454 var28
= NEW_nitc__AVarExpr(&type_nitc__AVarExpr
);
456 { /* Inline typing#Variable#declared_type (var_variable) on <var_variable:nullable Variable(Variable)> */
457 var31
= var_variable
->attrs
[COLOR_nitc__typing__Variable___declared_type
].val
; /* _declared_type on <var_variable:nullable Variable(Variable)> */
462 if (unlikely(var29
== NULL
)) {
463 PRINT_ERROR("Runtime error: %s", "Cast failed");
464 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder
, 125);
468 nitc__astbuilder___AVarExpr___make(var28
, var_variable
, var29
); /* Direct call astbuilder#AVarExpr#make on <var28:AVarExpr>*/
475 /* method astbuilder#AExpr#variable_cache for (self: AExpr): nullable Variable */
476 val
* nitc__astbuilder___AExpr___variable_cache(val
* self
) {
477 val
* var
/* : nullable Variable */;
478 val
* var1
/* : nullable Variable */;
479 var1
= self
->attrs
[COLOR_nitc__astbuilder__AExpr___variable_cache
].val
; /* _variable_cache on <self:AExpr> */
484 /* method astbuilder#AExpr#variable_cache= for (self: AExpr, nullable Variable) */
485 void nitc__astbuilder___AExpr___variable_cache_61d(val
* self
, val
* p0
) {
486 self
->attrs
[COLOR_nitc__astbuilder__AExpr___variable_cache
].val
= p0
; /* _variable_cache on <self:AExpr> */
489 /* method astbuilder#AExpr#detach_with_placeholder for (self: AExpr): AExpr */
490 val
* nitc__astbuilder___AExpr___detach_with_placeholder(val
* self
) {
491 val
* var
/* : AExpr */;
492 val
* var1
/* : APlaceholderExpr */;
493 val
* var_h
/* var h: APlaceholderExpr */;
494 var1
= NEW_nitc__APlaceholderExpr(&type_nitc__APlaceholderExpr
);
496 nitc___nitc__APlaceholderExpr___make(var1
); /* Direct call astbuilder#APlaceholderExpr#make on <var1:APlaceholderExpr>*/
500 nitc__transform___AExpr___nitc__parser_nodes__ANode__replace_with(self
, var_h
); /* Direct call transform#AExpr#replace_with on <self:AExpr>*/
507 /* method astbuilder#AExpr#add for (self: AExpr, AExpr) */
508 void nitc__astbuilder___AExpr___add(val
* self
, val
* p0
) {
509 val
* var_expr
/* var expr: AExpr */;
510 val
* var
/* : Sys */;
511 val
* var1
/* : NativeArray[String] */;
513 static val
* varonce2
;
514 val
* var3
/* : String */;
515 char* var4
/* : NativeString */;
516 val
* var5
/* : String */;
517 val
* var6
/* : String */;
518 val
* var7
/* : String */;
521 if (unlikely(varonce
==NULL
)) {
522 var1
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
523 if (likely(varonce2
!=NULL
)) {
526 var4
= "add not implemented in ";
527 var5
= core__flat___NativeString___to_s_full(var4
, 23l, 23l);
531 ((struct instance_core__NativeArray
*)var1
)->values
[0]=var3
;
537 var6
= core__abstract_text___Object___inspect(self
);
539 ((struct instance_core__NativeArray
*)var1
)->values
[1]=var6
;
541 var7
= ((val
*(*)(val
* self
))(var1
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1
); /* native_to_s on <var1:NativeArray[String]>*/
545 core__file___Sys___print(var
, var7
); /* Direct call file#Sys#print on <var:Sys>*/
547 PRINT_ERROR("Runtime error: %s", "Aborted");
548 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder
, 160);
552 /* method astbuilder#APlaceholderExpr#make for (self: APlaceholderExpr) */
553 void nitc___nitc__APlaceholderExpr___make(val
* self
) {
555 { /* Inline kernel#Object#init (self) on <self:APlaceholderExpr> */
561 /* method astbuilder#ABlockExpr#make for (self: ABlockExpr) */
562 void nitc__astbuilder___ABlockExpr___make(val
* self
) {
564 { /* Inline kernel#Object#init (self) on <self:ABlockExpr> */
569 { /* Inline typing#AExpr#is_typed= (self,1) on <self:ABlockExpr> */
570 self
->attrs
[COLOR_nitc__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:ABlockExpr> */
576 /* method astbuilder#ABlockExpr#add for (self: ABlockExpr, AExpr) */
577 void nitc__astbuilder___ABlockExpr___AExpr__add(val
* self
, val
* p0
) {
578 val
* var_expr
/* var expr: AExpr */;
579 val
* var
/* : ANodes[AExpr] */;
580 val
* var2
/* : ANodes[AExpr] */;
583 { /* Inline parser_nodes#ABlockExpr#n_expr (self) on <self:ABlockExpr> */
584 var2
= self
->attrs
[COLOR_nitc__parser_nodes__ABlockExpr___n_expr
].val
; /* _n_expr on <self:ABlockExpr> */
585 if (unlikely(var2
== NULL
)) {
586 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
587 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 1744);
595 core___core__Sequence___SimpleCollection__add(var
, var_expr
); /* Direct call abstract_collection#Sequence#add on <var:ANodes[AExpr]>*/
599 /* method astbuilder#ALoopExpr#make for (self: ALoopExpr) */
600 void nitc__astbuilder___ALoopExpr___make(val
* self
) {
601 val
* var
/* : TKwloop */;
602 val
* var4
/* : ABlockExpr */;
603 val
* var6
/* : nullable AExpr */;
604 val
* var8
/* : nullable AExpr */;
606 { /* Inline kernel#Object#init (self) on <self:ALoopExpr> */
610 var
= NEW_nitc__TKwloop(&type_nitc__TKwloop
);
612 { /* Inline kernel#Object#init (var) on <var:TKwloop> */
616 self
->attrs
[COLOR_nitc__parser_nodes__ALoopExpr___n_kwloop
].val
= var
; /* _n_kwloop on <self:ALoopExpr> */
618 { /* Inline typing#AExpr#is_typed= (self,1) on <self:ALoopExpr> */
619 self
->attrs
[COLOR_nitc__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:ALoopExpr> */
623 var4
= NEW_nitc__ABlockExpr(&type_nitc__ABlockExpr
);
625 { /* Inline kernel#Object#init (var4) on <var4:ABlockExpr> */
630 nitc__parser_prod___ALoopExpr___n_block_61d(self
, var4
); /* Direct call parser_prod#ALoopExpr#n_block= on <self:ALoopExpr>*/
633 { /* Inline parser_nodes#ALoopExpr#n_block (self) on <self:ALoopExpr> */
634 var8
= self
->attrs
[COLOR_nitc__parser_nodes__ALoopExpr___n_block
].val
; /* _n_block on <self:ALoopExpr> */
640 PRINT_ERROR("Runtime error: %s", "Receiver is null");
641 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder
, 196);
644 { /* Inline typing#AExpr#is_typed= (var6,1) on <var6:nullable AExpr> */
645 if (unlikely(var6
== NULL
)) {
646 PRINT_ERROR("Runtime error: %s", "Receiver is null");
647 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 841);
650 var6
->attrs
[COLOR_nitc__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <var6:nullable AExpr> */
656 /* method astbuilder#ALoopExpr#add for (self: ALoopExpr, AExpr) */
657 void nitc__astbuilder___ALoopExpr___AExpr__add(val
* self
, val
* p0
) {
658 val
* var_expr
/* var expr: AExpr */;
659 val
* var
/* : nullable AExpr */;
660 val
* var2
/* : nullable AExpr */;
663 { /* Inline parser_nodes#ALoopExpr#n_block (self) on <self:ALoopExpr> */
664 var2
= self
->attrs
[COLOR_nitc__parser_nodes__ALoopExpr___n_block
].val
; /* _n_block on <self:ALoopExpr> */
670 PRINT_ERROR("Runtime error: %s", "Receiver is null");
671 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder
, 201);
674 ((void(*)(val
* self
, val
* p0
))(var
->class->vft
[COLOR_nitc__astbuilder__AExpr__add
]))(var
, var_expr
); /* add on <var:nullable AExpr>*/
678 /* method astbuilder#ADoExpr#make for (self: ADoExpr) */
679 void nitc__astbuilder___ADoExpr___make(val
* self
) {
680 val
* var
/* : TKwdo */;
681 val
* var4
/* : ABlockExpr */;
682 val
* var6
/* : nullable AExpr */;
683 val
* var8
/* : nullable AExpr */;
685 { /* Inline kernel#Object#init (self) on <self:ADoExpr> */
689 var
= NEW_nitc__TKwdo(&type_nitc__TKwdo
);
691 { /* Inline kernel#Object#init (var) on <var:TKwdo> */
695 self
->attrs
[COLOR_nitc__parser_nodes__ADoExpr___n_kwdo
].val
= var
; /* _n_kwdo on <self:ADoExpr> */
697 { /* Inline typing#AExpr#is_typed= (self,1) on <self:ADoExpr> */
698 self
->attrs
[COLOR_nitc__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:ADoExpr> */
702 var4
= NEW_nitc__ABlockExpr(&type_nitc__ABlockExpr
);
704 { /* Inline kernel#Object#init (var4) on <var4:ABlockExpr> */
709 nitc__parser_prod___ADoExpr___n_block_61d(self
, var4
); /* Direct call parser_prod#ADoExpr#n_block= on <self:ADoExpr>*/
712 { /* Inline parser_nodes#ADoExpr#n_block (self) on <self:ADoExpr> */
713 var8
= self
->attrs
[COLOR_nitc__parser_nodes__ADoExpr___n_block
].val
; /* _n_block on <self:ADoExpr> */
719 PRINT_ERROR("Runtime error: %s", "Receiver is null");
720 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder
, 211);
723 { /* Inline typing#AExpr#is_typed= (var6,1) on <var6:nullable AExpr> */
724 if (unlikely(var6
== NULL
)) {
725 PRINT_ERROR("Runtime error: %s", "Receiver is null");
726 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 841);
729 var6
->attrs
[COLOR_nitc__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <var6:nullable AExpr> */
735 /* method astbuilder#ADoExpr#add for (self: ADoExpr, AExpr) */
736 void nitc__astbuilder___ADoExpr___AExpr__add(val
* self
, val
* p0
) {
737 val
* var_expr
/* var expr: AExpr */;
738 val
* var
/* : nullable AExpr */;
739 val
* var2
/* : nullable AExpr */;
742 { /* Inline parser_nodes#ADoExpr#n_block (self) on <self:ADoExpr> */
743 var2
= self
->attrs
[COLOR_nitc__parser_nodes__ADoExpr___n_block
].val
; /* _n_block on <self:ADoExpr> */
749 PRINT_ERROR("Runtime error: %s", "Receiver is null");
750 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder
, 227);
753 ((void(*)(val
* self
, val
* p0
))(var
->class->vft
[COLOR_nitc__astbuilder__AExpr__add
]))(var
, var_expr
); /* add on <var:nullable AExpr>*/
757 /* method astbuilder#ABreakExpr#make for (self: ABreakExpr, EscapeMark) */
758 void nitc__astbuilder___ABreakExpr___make(val
* self
, val
* p0
) {
759 val
* var_escapemark
/* var escapemark: EscapeMark */;
760 val
* var
/* : TKwbreak */;
761 val
* var4
/* : Array[AEscapeExpr] */;
762 val
* var6
/* : Array[AEscapeExpr] */;
764 { /* Inline kernel#Object#init (self) on <self:ABreakExpr> */
769 var
= NEW_nitc__TKwbreak(&type_nitc__TKwbreak
);
771 { /* Inline kernel#Object#init (var) on <var:TKwbreak> */
775 self
->attrs
[COLOR_nitc__parser_nodes__ABreakExpr___n_kwbreak
].val
= var
; /* _n_kwbreak on <self:ABreakExpr> */
777 { /* Inline scope#AEscapeExpr#escapemark= (self,var_escapemark) on <self:ABreakExpr> */
778 self
->attrs
[COLOR_nitc__scope__AEscapeExpr___escapemark
].val
= var_escapemark
; /* _escapemark on <self:ABreakExpr> */
783 { /* Inline scope#EscapeMark#escapes (var_escapemark) on <var_escapemark:EscapeMark> */
784 var6
= var_escapemark
->attrs
[COLOR_nitc__scope__EscapeMark___escapes
].val
; /* _escapes on <var_escapemark:EscapeMark> */
785 if (unlikely(var6
== NULL
)) {
786 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapes");
787 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope
, 59);
795 core___core__Array___core__abstract_collection__SimpleCollection__add(var4
, self
); /* Direct call array#Array#add on <var4:Array[AEscapeExpr]>*/
798 { /* Inline typing#AExpr#is_typed= (self,1) on <self:ABreakExpr> */
799 self
->attrs
[COLOR_nitc__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:ABreakExpr> */
805 /* method astbuilder#AIfExpr#make for (self: AIfExpr, AExpr, nullable MType) */
806 void nitc__astbuilder___AIfExpr___make(val
* self
, val
* p0
, val
* p1
) {
807 val
* var_condition
/* var condition: AExpr */;
808 val
* var_mtype
/* var mtype: nullable MType */;
809 val
* var
/* : TKwif */;
810 val
* var3
/* : AExpr */;
811 val
* var5
/* : TKwthen */;
812 val
* var7
/* : ABlockExpr */;
813 val
* var8
/* : TKwelse */;
814 val
* var10
/* : ABlockExpr */;
816 { /* Inline kernel#Object#init (self) on <self:AIfExpr> */
822 var
= NEW_nitc__TKwif(&type_nitc__TKwif
);
824 { /* Inline kernel#Object#init (var) on <var:TKwif> */
828 self
->attrs
[COLOR_nitc__parser_nodes__AIfExpr___n_kwif
].val
= var
; /* _n_kwif on <self:AIfExpr> */
829 self
->attrs
[COLOR_nitc__parser_nodes__AIfExpr___n_expr
].val
= var_condition
; /* _n_expr on <self:AIfExpr> */
830 var3
= self
->attrs
[COLOR_nitc__parser_nodes__AIfExpr___n_expr
].val
; /* _n_expr on <self:AIfExpr> */
831 if (unlikely(var3
== NULL
)) {
832 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
833 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder
, 246);
837 { /* Inline parser_nodes#ANode#parent= (var3,self) on <var3:AExpr> */
838 var3
->attrs
[COLOR_nitc__parser_nodes__ANode___parent
].val
= self
; /* _parent on <var3:AExpr> */
842 var5
= NEW_nitc__TKwthen(&type_nitc__TKwthen
);
844 { /* Inline kernel#Object#init (var5) on <var5:TKwthen> */
848 self
->attrs
[COLOR_nitc__parser_nodes__AIfExpr___n_kwthen
].val
= var5
; /* _n_kwthen on <self:AIfExpr> */
849 var7
= NEW_nitc__ABlockExpr(&type_nitc__ABlockExpr
);
851 nitc__astbuilder___ABlockExpr___make(var7
); /* Direct call astbuilder#ABlockExpr#make on <var7:ABlockExpr>*/
853 self
->attrs
[COLOR_nitc__parser_nodes__AIfExpr___n_then
].val
= var7
; /* _n_then on <self:AIfExpr> */
854 var8
= NEW_nitc__TKwelse(&type_nitc__TKwelse
);
856 { /* Inline kernel#Object#init (var8) on <var8:TKwelse> */
860 self
->attrs
[COLOR_nitc__parser_nodes__AIfExpr___n_kwelse
].val
= var8
; /* _n_kwelse on <self:AIfExpr> */
861 var10
= NEW_nitc__ABlockExpr(&type_nitc__ABlockExpr
);
863 nitc__astbuilder___ABlockExpr___make(var10
); /* Direct call astbuilder#ABlockExpr#make on <var10:ABlockExpr>*/
865 self
->attrs
[COLOR_nitc__parser_nodes__AIfExpr___n_else
].val
= var10
; /* _n_else on <self:AIfExpr> */
867 { /* Inline typing#AExpr#mtype= (self,var_mtype) on <self:AIfExpr> */
868 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var_mtype
; /* _mtype on <self:AIfExpr> */
873 { /* Inline typing#AExpr#is_typed= (self,1) on <self:AIfExpr> */
874 self
->attrs
[COLOR_nitc__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:AIfExpr> */
880 /* method astbuilder#AType#make for (self: AType) */
881 void nitc__astbuilder___AType___make(val
* self
) {
882 val
* var
/* : TClassid */;
883 val
* var_n_id
/* var n_id: TClassid */;
884 val
* var3
/* : AQclassid */;
885 val
* var_n_qid
/* var n_qid: AQclassid */;
887 { /* Inline kernel#Object#init (self) on <self:AType> */
891 var
= NEW_nitc__TClassid(&type_nitc__TClassid
);
893 { /* Inline kernel#Object#init (var) on <var:TClassid> */
898 var3
= NEW_nitc__AQclassid(&type_nitc__AQclassid
);
900 { /* Inline kernel#Object#init (var3) on <var3:AQclassid> */
906 nitc__parser_prod___AQclassid___n_id_61d(var_n_qid
, var_n_id
); /* Direct call parser_prod#AQclassid#n_id= on <var_n_qid:AQclassid>*/
908 self
->attrs
[COLOR_nitc__parser_nodes__AType___n_qid
].val
= var_n_qid
; /* _n_qid on <self:AType> */
911 /* method astbuilder#AIntegerExpr#make for (self: AIntegerExpr, Int, MType) */
912 void nitc__astbuilder___AIntegerExpr___make(val
* self
, long p0
, val
* p1
) {
913 long var_value
/* var value: Int */;
914 val
* var_t
/* var t: MType */;
915 val
* var
/* : nullable Numeric */;
916 val
* var3
/* : TInteger */;
918 { /* Inline kernel#Object#init (self) on <self:AIntegerExpr> */
925 { /* Inline literal#AIntegerExpr#value= (self,var_value) on <self:AIntegerExpr> */
926 var
= (val
*)(var_value
<<2|1);
927 self
->attrs
[COLOR_nitc__literal__AIntegerExpr___value
].val
= var
; /* _value on <self:AIntegerExpr> */
931 var3
= NEW_nitc__TInteger(&type_nitc__TInteger
);
933 { /* Inline kernel#Object#init (var3) on <var3:TInteger> */
937 self
->attrs
[COLOR_nitc__parser_nodes__AIntegerExpr___n_integer
].val
= var3
; /* _n_integer on <self:AIntegerExpr> */
939 { /* Inline typing#AExpr#mtype= (self,var_t) on <self:AIntegerExpr> */
940 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var_t
; /* _mtype on <self:AIntegerExpr> */
946 /* method astbuilder#ANewExpr#make for (self: ANewExpr, CallSite, nullable Array[AExpr]) */
947 void nitc__astbuilder___ANewExpr___make(val
* self
, val
* p0
, val
* p1
) {
948 val
* var_callsite
/* var callsite: CallSite */;
949 val
* var_args
/* var args: nullable Array[AExpr] */;
950 val
* var
/* : TKwnew */;
951 val
* var3
/* : AType */;
952 val
* var4
/* : AListExprs */;
953 short int var6
/* : Bool */;
954 short int var7
/* : Bool */;
955 val
* var_other
/* var other: nullable Object */;
956 short int var9
/* : Bool */;
957 short int var10
/* : Bool */;
958 val
* var11
/* : AExprs */;
959 val
* var13
/* : AExprs */;
960 val
* var14
/* : ANodes[AExpr] */;
961 val
* var16
/* : ANodes[AExpr] */;
962 val
* var18
/* : MType */;
963 val
* var20
/* : MType */;
964 short int var21
/* : Bool */;
967 const char* var_class_name
;
968 val
* var23
/* : MMethod */;
969 val
* var25
/* : MMethod */;
970 short int var26
/* : Bool */;
971 short int var28
/* : Bool */;
972 val
* var29
/* : MSignature */;
973 val
* var31
/* : MSignature */;
974 val
* var32
/* : nullable MType */;
975 val
* var34
/* : nullable MType */;
976 val
* var36
/* : MType */;
977 val
* var38
/* : MType */;
979 { /* Inline kernel#Object#init (self) on <self:ANewExpr> */
985 var
= NEW_nitc__TKwnew(&type_nitc__TKwnew
);
987 { /* Inline kernel#Object#init (var) on <var:TKwnew> */
991 self
->attrs
[COLOR_nitc__parser_nodes__ANewExpr___n_kwnew
].val
= var
; /* _n_kwnew on <self:ANewExpr> */
992 var3
= NEW_nitc__AType(&type_nitc__AType
);
994 nitc__astbuilder___AType___make(var3
); /* Direct call astbuilder#AType#make on <var3:AType>*/
996 self
->attrs
[COLOR_nitc__parser_nodes__ANewExpr___n_type
].val
= var3
; /* _n_type on <self:ANewExpr> */
997 var4
= NEW_nitc__AListExprs(&type_nitc__AListExprs
);
999 { /* Inline kernel#Object#init (var4) on <var4:AListExprs> */
1003 self
->attrs
[COLOR_nitc__parser_nodes__ANewExpr___n_args
].val
= var4
; /* _n_args on <self:ANewExpr> */
1004 if (var_args
== NULL
) {
1005 var6
= 0; /* is null */
1007 var6
= 1; /* arg is null and recv is not */
1010 { /* Inline kernel#Object#!= (var_args,((val*)NULL)) on <var_args:nullable Array[AExpr]> */
1011 var_other
= ((val
*)NULL
);
1013 var9
= ((short int(*)(val
* self
, val
* p0
))(var_args
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_args
, var_other
); /* == on <var_args:nullable Array[AExpr](Array[AExpr])>*/
1024 { /* Inline parser_nodes#ANewExpr#n_args (self) on <self:ANewExpr> */
1025 var13
= self
->attrs
[COLOR_nitc__parser_nodes__ANewExpr___n_args
].val
; /* _n_args on <self:ANewExpr> */
1026 if (unlikely(var13
== NULL
)) {
1027 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
1028 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2265);
1032 RET_LABEL12
:(void)0;
1036 { /* Inline parser_nodes#AExprs#n_exprs (var11) on <var11:AExprs> */
1037 var16
= var11
->attrs
[COLOR_nitc__parser_nodes__AExprs___n_exprs
].val
; /* _n_exprs on <var11:AExprs> */
1038 if (unlikely(var16
== NULL
)) {
1039 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
1040 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2709);
1044 RET_LABEL15
:(void)0;
1048 core___core__SimpleCollection___add_all(var14
, var_args
); /* Direct call abstract_collection#SimpleCollection#add_all on <var14:ANodes[AExpr]>*/
1053 { /* Inline typing#ANewExpr#callsite= (self,var_callsite) on <self:ANewExpr> */
1054 self
->attrs
[COLOR_nitc__typing__ANewExpr___callsite
].val
= var_callsite
; /* _callsite on <self:ANewExpr> */
1055 RET_LABEL17
:(void)0;
1059 { /* Inline typing#CallSite#recv (var_callsite) on <var_callsite:CallSite> */
1060 var20
= var_callsite
->attrs
[COLOR_nitc__typing__CallSite___recv
].val
; /* _recv on <var_callsite:CallSite> */
1061 if (unlikely(var20
== NULL
)) {
1062 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _recv");
1063 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 639);
1067 RET_LABEL19
:(void)0;
1070 /* <var18:MType> isa MClassType */
1071 cltype
= type_nitc__MClassType
.color
;
1072 idtype
= type_nitc__MClassType
.id
;
1073 if(cltype
>= var18
->type
->table_size
) {
1076 var21
= var18
->type
->type_table
[cltype
] == idtype
;
1078 if (unlikely(!var21
)) {
1079 var_class_name
= var18
== NULL ?
"null" : var18
->type
->name
;
1080 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
1081 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder
, 285);
1085 { /* Inline typing#ANewExpr#recvtype= (self,var18) on <self:ANewExpr> */
1086 self
->attrs
[COLOR_nitc__typing__ANewExpr___recvtype
].val
= var18
; /* _recvtype on <self:ANewExpr> */
1087 RET_LABEL22
:(void)0;
1091 { /* Inline typing#CallSite#mproperty (var_callsite) on <var_callsite:CallSite> */
1092 var25
= var_callsite
->attrs
[COLOR_nitc__typing__CallSite___mproperty
].val
; /* _mproperty on <var_callsite:CallSite> */
1093 if (unlikely(var25
== NULL
)) {
1094 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1095 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 653);
1099 RET_LABEL24
:(void)0;
1103 { /* Inline model#MMethod#is_new (var23) on <var23:MMethod> */
1104 var28
= var23
->attrs
[COLOR_nitc__model__MMethod___is_new
].s
; /* _is_new on <var23:MMethod> */
1106 RET_LABEL27
:(void)0;
1111 { /* Inline typing#CallSite#msignature (var_callsite) on <var_callsite:CallSite> */
1112 var31
= var_callsite
->attrs
[COLOR_nitc__typing__CallSite___msignature
].val
; /* _msignature on <var_callsite:CallSite> */
1113 if (unlikely(var31
== NULL
)) {
1114 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
1115 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 660);
1119 RET_LABEL30
:(void)0;
1123 { /* Inline model#MSignature#return_mtype (var29) on <var29:MSignature> */
1124 var34
= var29
->attrs
[COLOR_nitc__model__MSignature___return_mtype
].val
; /* _return_mtype on <var29:MSignature> */
1126 RET_LABEL33
:(void)0;
1130 { /* Inline typing#AExpr#mtype= (self,var32) on <self:ANewExpr> */
1131 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var32
; /* _mtype on <self:ANewExpr> */
1132 RET_LABEL35
:(void)0;
1137 { /* Inline typing#CallSite#recv (var_callsite) on <var_callsite:CallSite> */
1138 var38
= var_callsite
->attrs
[COLOR_nitc__typing__CallSite___recv
].val
; /* _recv on <var_callsite:CallSite> */
1139 if (unlikely(var38
== NULL
)) {
1140 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _recv");
1141 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 639);
1145 RET_LABEL37
:(void)0;
1149 { /* Inline typing#AExpr#mtype= (self,var36) on <self:ANewExpr> */
1150 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var36
; /* _mtype on <self:ANewExpr> */
1151 RET_LABEL39
:(void)0;
1156 { /* Inline typing#AExpr#is_typed= (self,1) on <self:ANewExpr> */
1157 self
->attrs
[COLOR_nitc__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:ANewExpr> */
1158 RET_LABEL40
:(void)0;
1163 /* method astbuilder#ACallExpr#make for (self: ACallExpr, AExpr, CallSite, nullable Array[AExpr]) */
1164 void nitc__astbuilder___ACallExpr___make(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1165 val
* var_recv
/* var recv: AExpr */;
1166 val
* var_callsite
/* var callsite: CallSite */;
1167 val
* var_args
/* var args: nullable Array[AExpr] */;
1168 val
* var
/* : AListExprs */;
1169 val
* var3
/* : AQid */;
1170 val
* var5
/* : AQid */;
1171 val
* var6
/* : TId */;
1172 short int var8
/* : Bool */;
1173 short int var9
/* : Bool */;
1174 val
* var_other
/* var other: nullable Object */;
1175 short int var11
/* : Bool */;
1176 short int var12
/* : Bool */;
1177 val
* var13
/* : AExprs */;
1178 val
* var15
/* : AExprs */;
1179 val
* var16
/* : ANodes[AExpr] */;
1180 val
* var18
/* : ANodes[AExpr] */;
1181 val
* var20
/* : MSignature */;
1182 val
* var22
/* : MSignature */;
1183 val
* var23
/* : nullable MType */;
1184 val
* var25
/* : nullable MType */;
1186 { /* Inline kernel#Object#init (self) on <self:ACallExpr> */
1193 self
->attrs
[COLOR_nitc__parser_nodes__ASendExpr___n_expr
].val
= var_recv
; /* _n_expr on <self:ACallExpr> */
1194 var
= NEW_nitc__AListExprs(&type_nitc__AListExprs
);
1196 { /* Inline kernel#Object#init (var) on <var:AListExprs> */
1200 self
->attrs
[COLOR_nitc__parser_nodes__ACallFormExpr___n_args
].val
= var
; /* _n_args on <self:ACallExpr> */
1201 var3
= NEW_nitc__AQid(&type_nitc__AQid
);
1203 { /* Inline kernel#Object#init (var3) on <var3:AQid> */
1207 self
->attrs
[COLOR_nitc__parser_nodes__ACallFormExpr___n_qid
].val
= var3
; /* _n_qid on <self:ACallExpr> */
1208 var5
= self
->attrs
[COLOR_nitc__parser_nodes__ACallFormExpr___n_qid
].val
; /* _n_qid on <self:ACallExpr> */
1209 if (unlikely(var5
== NULL
)) {
1210 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_qid");
1211 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder
, 301);
1214 var6
= NEW_nitc__TId(&type_nitc__TId
);
1216 { /* Inline kernel#Object#init (var6) on <var6:TId> */
1221 nitc__parser_prod___AQid___n_id_61d(var5
, var6
); /* Direct call parser_prod#AQid#n_id= on <var5:AQid>*/
1223 if (var_args
== NULL
) {
1224 var8
= 0; /* is null */
1226 var8
= 1; /* arg is null and recv is not */
1229 { /* Inline kernel#Object#!= (var_args,((val*)NULL)) on <var_args:nullable Array[AExpr]> */
1230 var_other
= ((val
*)NULL
);
1232 var11
= ((short int(*)(val
* self
, val
* p0
))(var_args
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_args
, var_other
); /* == on <var_args:nullable Array[AExpr](Array[AExpr])>*/
1237 RET_LABEL10
:(void)0;
1243 { /* Inline parser_nodes#ACallFormExpr#n_args (self) on <self:ACallExpr> */
1244 var15
= self
->attrs
[COLOR_nitc__parser_nodes__ACallFormExpr___n_args
].val
; /* _n_args on <self:ACallExpr> */
1245 if (unlikely(var15
== NULL
)) {
1246 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
1247 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2299);
1251 RET_LABEL14
:(void)0;
1255 { /* Inline parser_nodes#AExprs#n_exprs (var13) on <var13:AExprs> */
1256 var18
= var13
->attrs
[COLOR_nitc__parser_nodes__AExprs___n_exprs
].val
; /* _n_exprs on <var13:AExprs> */
1257 if (unlikely(var18
== NULL
)) {
1258 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
1259 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2709);
1263 RET_LABEL17
:(void)0;
1267 core___core__SimpleCollection___add_all(var16
, var_args
); /* Direct call abstract_collection#SimpleCollection#add_all on <var16:ANodes[AExpr]>*/
1272 { /* Inline typing#ASendExpr#callsite= (self,var_callsite) on <self:ACallExpr> */
1273 self
->attrs
[COLOR_nitc__typing__ASendExpr___callsite
].val
= var_callsite
; /* _callsite on <self:ACallExpr> */
1274 RET_LABEL19
:(void)0;
1278 { /* Inline typing#CallSite#msignature (var_callsite) on <var_callsite:CallSite> */
1279 var22
= var_callsite
->attrs
[COLOR_nitc__typing__CallSite___msignature
].val
; /* _msignature on <var_callsite:CallSite> */
1280 if (unlikely(var22
== NULL
)) {
1281 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
1282 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 660);
1286 RET_LABEL21
:(void)0;
1290 { /* Inline model#MSignature#return_mtype (var20) on <var20:MSignature> */
1291 var25
= var20
->attrs
[COLOR_nitc__model__MSignature___return_mtype
].val
; /* _return_mtype on <var20:MSignature> */
1293 RET_LABEL24
:(void)0;
1297 { /* Inline typing#AExpr#mtype= (self,var23) on <self:ACallExpr> */
1298 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var23
; /* _mtype on <self:ACallExpr> */
1299 RET_LABEL26
:(void)0;
1303 { /* Inline typing#AExpr#is_typed= (self,1) on <self:ACallExpr> */
1304 self
->attrs
[COLOR_nitc__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:ACallExpr> */
1305 RET_LABEL27
:(void)0;
1310 /* method astbuilder#AAttrExpr#make for (self: AAttrExpr, AExpr, MAttribute, MType) */
1311 void nitc__astbuilder___AAttrExpr___make(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1312 val
* var_recv
/* var recv: AExpr */;
1313 val
* var_attribute
/* var attribute: MAttribute */;
1314 val
* var_t
/* var t: MType */;
1315 val
* var
/* : TAttrid */;
1317 { /* Inline kernel#Object#init (self) on <self:AAttrExpr> */
1324 self
->attrs
[COLOR_nitc__parser_nodes__AAttrFormExpr___n_expr
].val
= var_recv
; /* _n_expr on <self:AAttrExpr> */
1326 { /* Inline parser_nodes#ANode#parent= (var_recv,self) on <var_recv:AExpr> */
1327 var_recv
->attrs
[COLOR_nitc__parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_recv:AExpr> */
1331 var
= NEW_nitc__TAttrid(&type_nitc__TAttrid
);
1333 { /* Inline kernel#Object#init (var) on <var:TAttrid> */
1337 self
->attrs
[COLOR_nitc__parser_nodes__AAttrFormExpr___n_id
].val
= var
; /* _n_id on <self:AAttrExpr> */
1339 { /* Inline typing#AAttrFormExpr#mproperty= (self,var_attribute) on <self:AAttrExpr> */
1340 self
->attrs
[COLOR_nitc__typing__AAttrFormExpr___mproperty
].val
= var_attribute
; /* _mproperty on <self:AAttrExpr> */
1345 { /* Inline typing#AExpr#mtype= (self,var_t) on <self:AAttrExpr> */
1346 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var_t
; /* _mtype on <self:AAttrExpr> */
1352 /* method astbuilder#AAttrAssignExpr#make for (self: AAttrAssignExpr, AExpr, MAttribute, AExpr) */
1353 void nitc__astbuilder___AAttrAssignExpr___make(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1354 val
* var_recv
/* var recv: AExpr */;
1355 val
* var_attribute
/* var attribute: MAttribute */;
1356 val
* var_value
/* var value: AExpr */;
1357 val
* var
/* : TAttrid */;
1358 val
* var5
/* : TAssign */;
1359 val
* var8
/* : nullable MType */;
1361 { /* Inline kernel#Object#init (self) on <self:AAttrAssignExpr> */
1368 self
->attrs
[COLOR_nitc__parser_nodes__AAttrFormExpr___n_expr
].val
= var_recv
; /* _n_expr on <self:AAttrAssignExpr> */
1370 { /* Inline parser_nodes#ANode#parent= (var_recv,self) on <var_recv:AExpr> */
1371 var_recv
->attrs
[COLOR_nitc__parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_recv:AExpr> */
1375 var
= NEW_nitc__TAttrid(&type_nitc__TAttrid
);
1377 { /* Inline kernel#Object#init (var) on <var:TAttrid> */
1381 self
->attrs
[COLOR_nitc__parser_nodes__AAttrFormExpr___n_id
].val
= var
; /* _n_id on <self:AAttrAssignExpr> */
1382 self
->attrs
[COLOR_nitc__parser_nodes__AAssignFormExpr___n_value
].val
= var_value
; /* _n_value on <self:AAttrAssignExpr> */
1384 { /* Inline parser_nodes#ANode#parent= (var_value,self) on <var_value:AExpr> */
1385 var_value
->attrs
[COLOR_nitc__parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_value:AExpr> */
1389 var5
= NEW_nitc__TAssign(&type_nitc__TAssign
);
1391 { /* Inline kernel#Object#init (var5) on <var5:TAssign> */
1395 self
->attrs
[COLOR_nitc__parser_nodes__AAssignFormExpr___n_assign
].val
= var5
; /* _n_assign on <self:AAttrAssignExpr> */
1397 { /* Inline typing#AAttrFormExpr#mproperty= (self,var_attribute) on <self:AAttrAssignExpr> */
1398 self
->attrs
[COLOR_nitc__typing__AAttrFormExpr___mproperty
].val
= var_attribute
; /* _mproperty on <self:AAttrAssignExpr> */
1403 var8
= ((val
*(*)(val
* self
))(var_value
->class->vft
[COLOR_nitc__typing__AExpr__mtype
]))(var_value
); /* mtype on <var_value:AExpr>*/
1406 { /* Inline typing#AExpr#mtype= (self,var8) on <self:AAttrAssignExpr> */
1407 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var8
; /* _mtype on <self:AAttrAssignExpr> */
1413 /* method astbuilder#AVarExpr#make for (self: AVarExpr, Variable, MType) */
1414 void nitc__astbuilder___AVarExpr___make(val
* self
, val
* p0
, val
* p1
) {
1415 val
* var_v
/* var v: Variable */;
1416 val
* var_mtype
/* var mtype: MType */;
1417 val
* var
/* : TId */;
1419 { /* Inline kernel#Object#init (self) on <self:AVarExpr> */
1425 var
= NEW_nitc__TId(&type_nitc__TId
);
1427 { /* Inline kernel#Object#init (var) on <var:TId> */
1431 self
->attrs
[COLOR_nitc__parser_nodes__AVarFormExpr___n_id
].val
= var
; /* _n_id on <self:AVarExpr> */
1433 { /* Inline scope#AVarFormExpr#variable= (self,var_v) on <self:AVarExpr> */
1434 self
->attrs
[COLOR_nitc__scope__AVarFormExpr___variable
].val
= var_v
; /* _variable on <self:AVarExpr> */
1439 { /* Inline typing#AExpr#mtype= (self,var_mtype) on <self:AVarExpr> */
1440 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var_mtype
; /* _mtype on <self:AVarExpr> */
1446 /* method astbuilder#AVarAssignExpr#make for (self: AVarAssignExpr, Variable, AExpr) */
1447 void nitc__astbuilder___AVarAssignExpr___make(val
* self
, val
* p0
, val
* p1
) {
1448 val
* var_v
/* var v: Variable */;
1449 val
* var_value
/* var value: AExpr */;
1450 val
* var
/* : TId */;
1451 val
* var4
/* : TAssign */;
1452 val
* var7
/* : nullable MType */;
1454 { /* Inline kernel#Object#init (self) on <self:AVarAssignExpr> */
1460 var
= NEW_nitc__TId(&type_nitc__TId
);
1462 { /* Inline kernel#Object#init (var) on <var:TId> */
1466 self
->attrs
[COLOR_nitc__parser_nodes__AVarFormExpr___n_id
].val
= var
; /* _n_id on <self:AVarAssignExpr> */
1467 self
->attrs
[COLOR_nitc__parser_nodes__AAssignFormExpr___n_value
].val
= var_value
; /* _n_value on <self:AVarAssignExpr> */
1469 { /* Inline parser_nodes#ANode#parent= (var_value,self) on <var_value:AExpr> */
1470 var_value
->attrs
[COLOR_nitc__parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_value:AExpr> */
1474 var4
= NEW_nitc__TAssign(&type_nitc__TAssign
);
1476 { /* Inline kernel#Object#init (var4) on <var4:TAssign> */
1480 self
->attrs
[COLOR_nitc__parser_nodes__AAssignFormExpr___n_assign
].val
= var4
; /* _n_assign on <self:AVarAssignExpr> */
1482 { /* Inline scope#AVarFormExpr#variable= (self,var_v) on <self:AVarAssignExpr> */
1483 self
->attrs
[COLOR_nitc__scope__AVarFormExpr___variable
].val
= var_v
; /* _variable on <self:AVarAssignExpr> */
1488 var7
= ((val
*(*)(val
* self
))(var_value
->class->vft
[COLOR_nitc__typing__AExpr__mtype
]))(var_value
); /* mtype on <var_value:AExpr>*/
1491 { /* Inline typing#AExpr#mtype= (self,var7) on <self:AVarAssignExpr> */
1492 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var7
; /* _mtype on <self:AVarAssignExpr> */