Merge: doc: fixed some typos and other misc. corrections
[nit.git] / c_src / nitc__astbuilder.sep.1.c
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 if(catchStack.cursor >= 0){
9 longjmp(catchStack.envs[catchStack.cursor], 1);
10 }
11 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
12 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder, 25);
13 fatal_exit(1);
14 }
15 var = var1;
16 RET_LABEL:;
17 return var;
18 }
19 /* method astbuilder$ASTBuilder$mmodule= for (self: ASTBuilder, MModule) */
20 void nitc___nitc__ASTBuilder___mmodule_61d(val* self, val* p0) {
21 self->attrs[COLOR_nitc__astbuilder__ASTBuilder___mmodule].val = p0; /* _mmodule on <self:ASTBuilder> */
22 RET_LABEL:;
23 }
24 /* method astbuilder$ASTBuilder$anchor for (self: ASTBuilder): nullable MClassType */
25 val* nitc___nitc__ASTBuilder___anchor(val* self) {
26 val* var /* : nullable MClassType */;
27 val* var1 /* : nullable MClassType */;
28 var1 = self->attrs[COLOR_nitc__astbuilder__ASTBuilder___anchor].val; /* _anchor on <self:ASTBuilder> */
29 var = var1;
30 RET_LABEL:;
31 return var;
32 }
33 /* method astbuilder$ASTBuilder$anchor= for (self: ASTBuilder, nullable MClassType) */
34 void nitc___nitc__ASTBuilder___anchor_61d(val* self, val* p0) {
35 self->attrs[COLOR_nitc__astbuilder__ASTBuilder___anchor].val = p0; /* _anchor on <self:ASTBuilder> */
36 RET_LABEL:;
37 }
38 /* method astbuilder$ASTBuilder$make_int for (self: ASTBuilder, Int): AIntegerExpr */
39 val* nitc___nitc__ASTBuilder___make_int(val* self, long p0) {
40 val* var /* : AIntegerExpr */;
41 long var_value /* var value: Int */;
42 val* var1 /* : AIntegerExpr */;
43 val* var2 /* : MModule */;
44 val* var4 /* : MModule */;
45 val* var5 /* : MClassType */;
46 var_value = p0;
47 var1 = NEW_nitc__AIntegerExpr(&type_nitc__AIntegerExpr);
48 {
49 { /* Inline astbuilder$ASTBuilder$mmodule (self) on <self:ASTBuilder> */
50 var4 = self->attrs[COLOR_nitc__astbuilder__ASTBuilder___mmodule].val; /* _mmodule on <self:ASTBuilder> */
51 if (unlikely(var4 == NULL)) {
52 if(catchStack.cursor >= 0){
53 longjmp(catchStack.envs[catchStack.cursor], 1);
54 }
55 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
56 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder, 25);
57 fatal_exit(1);
58 }
59 var2 = var4;
60 RET_LABEL3:(void)0;
61 }
62 }
63 {
64 var5 = nitc__model___MModule___int_type(var2);
65 }
66 {
67 nitc__astbuilder___AIntegerExpr___make(var1, var_value, var5); /* Direct call astbuilder$AIntegerExpr$make on <var1:AIntegerExpr>*/
68 }
69 var = var1;
70 goto RET_LABEL;
71 RET_LABEL:;
72 return var;
73 }
74 /* method astbuilder$ASTBuilder$make_new for (self: ASTBuilder, CallSite, nullable Array[AExpr]): ANewExpr */
75 val* nitc___nitc__ASTBuilder___make_new(val* self, val* p0, val* p1) {
76 val* var /* : ANewExpr */;
77 val* var_callsite /* var callsite: CallSite */;
78 val* var_args /* var args: nullable Array[AExpr] */;
79 val* var1 /* : ANewExpr */;
80 var_callsite = p0;
81 var_args = p1;
82 var1 = NEW_nitc__ANewExpr(&type_nitc__ANewExpr);
83 {
84 nitc__astbuilder___ANewExpr___make(var1, var_callsite, var_args); /* Direct call astbuilder$ANewExpr$make on <var1:ANewExpr>*/
85 }
86 var = var1;
87 goto RET_LABEL;
88 RET_LABEL:;
89 return var;
90 }
91 /* method astbuilder$ASTBuilder$make_call for (self: ASTBuilder, AExpr, CallSite, nullable Array[AExpr]): ACallExpr */
92 val* nitc___nitc__ASTBuilder___make_call(val* self, val* p0, val* p1, val* p2) {
93 val* var /* : ACallExpr */;
94 val* var_recv /* var recv: AExpr */;
95 val* var_callsite /* var callsite: CallSite */;
96 val* var_args /* var args: nullable Array[AExpr] */;
97 val* var1 /* : ACallExpr */;
98 var_recv = p0;
99 var_callsite = p1;
100 var_args = p2;
101 var1 = NEW_nitc__ACallExpr(&type_nitc__ACallExpr);
102 {
103 nitc__astbuilder___ACallExpr___make(var1, var_recv, var_callsite, var_args); /* Direct call astbuilder$ACallExpr$make on <var1:ACallExpr>*/
104 }
105 var = var1;
106 goto RET_LABEL;
107 RET_LABEL:;
108 return var;
109 }
110 /* method astbuilder$ASTBuilder$make_block for (self: ASTBuilder): ABlockExpr */
111 val* nitc___nitc__ASTBuilder___make_block(val* self) {
112 val* var /* : ABlockExpr */;
113 val* var1 /* : ABlockExpr */;
114 var1 = NEW_nitc__ABlockExpr(&type_nitc__ABlockExpr);
115 {
116 nitc__astbuilder___ABlockExpr___make(var1); /* Direct call astbuilder$ABlockExpr$make on <var1:ABlockExpr>*/
117 }
118 var = var1;
119 goto RET_LABEL;
120 RET_LABEL:;
121 return var;
122 }
123 /* method astbuilder$ASTBuilder$make_loop for (self: ASTBuilder): ALoopExpr */
124 val* nitc___nitc__ASTBuilder___make_loop(val* self) {
125 val* var /* : ALoopExpr */;
126 val* var1 /* : ALoopExpr */;
127 var1 = NEW_nitc__ALoopExpr(&type_nitc__ALoopExpr);
128 {
129 nitc__astbuilder___ALoopExpr___make(var1); /* Direct call astbuilder$ALoopExpr$make on <var1:ALoopExpr>*/
130 }
131 var = var1;
132 goto RET_LABEL;
133 RET_LABEL:;
134 return var;
135 }
136 /* method astbuilder$ASTBuilder$make_var_read for (self: ASTBuilder, Variable, MType): AVarExpr */
137 val* nitc___nitc__ASTBuilder___make_var_read(val* self, val* p0, val* p1) {
138 val* var /* : AVarExpr */;
139 val* var_variable /* var variable: Variable */;
140 val* var_mtype /* var mtype: MType */;
141 val* var1 /* : AVarExpr */;
142 var_variable = p0;
143 var_mtype = p1;
144 var1 = NEW_nitc__AVarExpr(&type_nitc__AVarExpr);
145 {
146 nitc__astbuilder___AVarExpr___make(var1, var_variable, var_mtype); /* Direct call astbuilder$AVarExpr$make on <var1:AVarExpr>*/
147 }
148 var = var1;
149 goto RET_LABEL;
150 RET_LABEL:;
151 return var;
152 }
153 /* method astbuilder$ASTBuilder$make_var_assign for (self: ASTBuilder, Variable, AExpr): AVarAssignExpr */
154 val* nitc___nitc__ASTBuilder___make_var_assign(val* self, val* p0, val* p1) {
155 val* var /* : AVarAssignExpr */;
156 val* var_variable /* var variable: Variable */;
157 val* var_value /* var value: AExpr */;
158 val* var1 /* : AVarAssignExpr */;
159 var_variable = p0;
160 var_value = p1;
161 var1 = NEW_nitc__AVarAssignExpr(&type_nitc__AVarAssignExpr);
162 {
163 nitc__astbuilder___AVarAssignExpr___make(var1, var_variable, var_value); /* Direct call astbuilder$AVarAssignExpr$make on <var1:AVarAssignExpr>*/
164 }
165 var = var1;
166 goto RET_LABEL;
167 RET_LABEL:;
168 return var;
169 }
170 /* method astbuilder$ASTBuilder$make_attr_read for (self: ASTBuilder, AExpr, MAttribute): AAttrExpr */
171 val* nitc___nitc__ASTBuilder___make_attr_read(val* self, val* p0, val* p1) {
172 val* var /* : AAttrExpr */;
173 val* var_recv /* var recv: AExpr */;
174 val* var_attribute /* var attribute: MAttribute */;
175 val* var1 /* : MPropDef */;
176 val* var3 /* : MPropDef */;
177 val* var4 /* : nullable MType */;
178 val* var6 /* : nullable MType */;
179 val* var7 /* : nullable MType */;
180 val* var8 /* : nullable MClassType */;
181 val* var10 /* : nullable MClassType */;
182 val* var11 /* : MModule */;
183 val* var13 /* : MModule */;
184 val* var14 /* : MType */;
185 val* var_mtype /* var mtype: MType */;
186 val* var15 /* : AAttrExpr */;
187 var_recv = p0;
188 var_attribute = p1;
189 {
190 { /* Inline model$MProperty$intro (var_attribute) on <var_attribute:MAttribute> */
191 var3 = var_attribute->attrs[COLOR_nitc__model__MProperty___intro].val; /* _intro on <var_attribute:MAttribute> */
192 if (unlikely(var3 == NULL)) {
193 if(catchStack.cursor >= 0){
194 longjmp(catchStack.envs[catchStack.cursor], 1);
195 }
196 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
197 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2097);
198 fatal_exit(1);
199 }
200 var1 = var3;
201 RET_LABEL2:(void)0;
202 }
203 }
204 {
205 { /* Inline model$MAttributeDef$static_mtype (var1) on <var1:MPropDef(MAttributeDef)> */
206 var6 = var1->attrs[COLOR_nitc__model__MAttributeDef___static_mtype].val; /* _static_mtype on <var1:MPropDef(MAttributeDef)> */
207 var4 = var6;
208 RET_LABEL5:(void)0;
209 }
210 }
211 {
212 var7 = ((val*(*)(val* self))(var_recv->class->vft[COLOR_nitc__typing__AExpr__mtype]))(var_recv); /* mtype on <var_recv:AExpr>*/
213 }
214 if (unlikely(var7 == NULL)) {
215 if(catchStack.cursor >= 0){
216 longjmp(catchStack.envs[catchStack.cursor], 1);
217 }
218 PRINT_ERROR("Runtime error: %s", "Cast failed");
219 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder, 77);
220 fatal_exit(1);
221 }
222 {
223 { /* Inline astbuilder$ASTBuilder$anchor (self) on <self:ASTBuilder> */
224 var10 = self->attrs[COLOR_nitc__astbuilder__ASTBuilder___anchor].val; /* _anchor on <self:ASTBuilder> */
225 var8 = var10;
226 RET_LABEL9:(void)0;
227 }
228 }
229 {
230 { /* Inline astbuilder$ASTBuilder$mmodule (self) on <self:ASTBuilder> */
231 var13 = self->attrs[COLOR_nitc__astbuilder__ASTBuilder___mmodule].val; /* _mmodule on <self:ASTBuilder> */
232 if (unlikely(var13 == NULL)) {
233 if(catchStack.cursor >= 0){
234 longjmp(catchStack.envs[catchStack.cursor], 1);
235 }
236 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
237 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder, 25);
238 fatal_exit(1);
239 }
240 var11 = var13;
241 RET_LABEL12:(void)0;
242 }
243 }
244 if (var4 == NULL) {
245 if(catchStack.cursor >= 0){
246 longjmp(catchStack.envs[catchStack.cursor], 1);
247 }
248 PRINT_ERROR("Runtime error: %s", "Receiver is null");
249 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder, 77);
250 fatal_exit(1);
251 } else {
252 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>*/
253 }
254 var_mtype = var14;
255 var15 = NEW_nitc__AAttrExpr(&type_nitc__AAttrExpr);
256 {
257 nitc__astbuilder___AAttrExpr___make(var15, var_recv, var_attribute, var_mtype); /* Direct call astbuilder$AAttrExpr$make on <var15:AAttrExpr>*/
258 }
259 var = var15;
260 goto RET_LABEL;
261 RET_LABEL:;
262 return var;
263 }
264 /* method astbuilder$ASTBuilder$make_attr_assign for (self: ASTBuilder, AExpr, MAttribute, AExpr): AAttrAssignExpr */
265 val* nitc___nitc__ASTBuilder___make_attr_assign(val* self, val* p0, val* p1, val* p2) {
266 val* var /* : AAttrAssignExpr */;
267 val* var_recv /* var recv: AExpr */;
268 val* var_attribute /* var attribute: MAttribute */;
269 val* var_value /* var value: AExpr */;
270 val* var1 /* : AAttrAssignExpr */;
271 var_recv = p0;
272 var_attribute = p1;
273 var_value = p2;
274 var1 = NEW_nitc__AAttrAssignExpr(&type_nitc__AAttrAssignExpr);
275 {
276 nitc__astbuilder___AAttrAssignExpr___make(var1, var_recv, var_attribute, var_value); /* Direct call astbuilder$AAttrAssignExpr$make on <var1:AAttrAssignExpr>*/
277 }
278 var = var1;
279 goto RET_LABEL;
280 RET_LABEL:;
281 return var;
282 }
283 /* method astbuilder$ASTBuilder$make_do for (self: ASTBuilder): ADoExpr */
284 val* nitc___nitc__ASTBuilder___make_do(val* self) {
285 val* var /* : ADoExpr */;
286 val* var1 /* : ADoExpr */;
287 var1 = NEW_nitc__ADoExpr(&type_nitc__ADoExpr);
288 {
289 nitc__astbuilder___ADoExpr___make(var1); /* Direct call astbuilder$ADoExpr$make on <var1:ADoExpr>*/
290 }
291 var = var1;
292 goto RET_LABEL;
293 RET_LABEL:;
294 return var;
295 }
296 /* method astbuilder$ASTBuilder$make_break for (self: ASTBuilder, EscapeMark): ABreakExpr */
297 val* nitc___nitc__ASTBuilder___make_break(val* self, val* p0) {
298 val* var /* : ABreakExpr */;
299 val* var_escapemark /* var escapemark: EscapeMark */;
300 val* var1 /* : ABreakExpr */;
301 var_escapemark = p0;
302 var1 = NEW_nitc__ABreakExpr(&type_nitc__ABreakExpr);
303 {
304 nitc__astbuilder___ABreakExpr___make(var1, var_escapemark); /* Direct call astbuilder$ABreakExpr$make on <var1:ABreakExpr>*/
305 }
306 var = var1;
307 goto RET_LABEL;
308 RET_LABEL:;
309 return var;
310 }
311 /* method astbuilder$ASTBuilder$make_if for (self: ASTBuilder, AExpr, nullable MType): AIfExpr */
312 val* nitc___nitc__ASTBuilder___make_if(val* self, val* p0, val* p1) {
313 val* var /* : AIfExpr */;
314 val* var_condition /* var condition: AExpr */;
315 val* var_mtype /* var mtype: nullable MType */;
316 val* var1 /* : AIfExpr */;
317 var_condition = p0;
318 var_mtype = p1;
319 var1 = NEW_nitc__AIfExpr(&type_nitc__AIfExpr);
320 {
321 nitc__astbuilder___AIfExpr___make(var1, var_condition, var_mtype); /* Direct call astbuilder$AIfExpr$make on <var1:AIfExpr>*/
322 }
323 var = var1;
324 goto RET_LABEL;
325 RET_LABEL:;
326 return var;
327 }
328 /* method astbuilder$ASTBuilder$init for (self: ASTBuilder) */
329 void nitc___nitc__ASTBuilder___core__kernel__Object__init(val* self) {
330 {
331 ((void(*)(val* self))(self->class->vft[COLOR_nitc___nitc__ASTBuilder___core__kernel__Object__init]))(self); /* init on <self:ASTBuilder>*/
332 }
333 RET_LABEL:;
334 }
335 /* method astbuilder$AExpr$make_var_read for (self: AExpr): AVarExpr */
336 val* nitc__astbuilder___AExpr___make_var_read(val* self) {
337 val* var /* : AVarExpr */;
338 val* var1 /* : nullable Variable */;
339 val* var3 /* : nullable Variable */;
340 val* var_variable /* var variable: nullable Variable */;
341 short int var4 /* : Bool */;
342 short int var5 /* : Bool */;
343 val* var_other /* var other: nullable Object */;
344 short int var7 /* : Bool */;
345 short int var9 /* : Bool */;
346 val* var10 /* : nullable ANode */;
347 val* var12 /* : nullable ANode */;
348 short int var13 /* : Bool */;
349 short int var14 /* : Bool */;
350 val* var_other16 /* var other: nullable Object */;
351 short int var17 /* : Bool */;
352 short int var18 /* : Bool */;
353 val* var19 /* : AExpr */;
354 val* var_place /* var place: AExpr */;
355 val* var20 /* : Variable */;
356 static val* varonce;
357 val* var21 /* : String */;
358 char* var22 /* : CString */;
359 val* var23 /* : String */;
360 val* var24 /* : nullable Int */;
361 val* var25 /* : nullable Int */;
362 val* var26 /* : nullable Bool */;
363 val* var27 /* : nullable Bool */;
364 val* var28 /* : nullable MType */;
365 val* var30 /* : AVarAssignExpr */;
366 val* var_nvar /* var nvar: AVarAssignExpr */;
367 val* var32 /* : AVarExpr */;
368 val* var33 /* : nullable MType */;
369 val* var35 /* : nullable MType */;
370 {
371 { /* Inline astbuilder$AExpr$variable_cache (self) on <self:AExpr> */
372 var3 = self->attrs[COLOR_nitc__astbuilder__AExpr___variable_cache].val; /* _variable_cache on <self:AExpr> */
373 var1 = var3;
374 RET_LABEL2:(void)0;
375 }
376 }
377 var_variable = var1;
378 if (var_variable == NULL) {
379 var4 = 1; /* is null */
380 } else {
381 var4 = 0; /* arg is null but recv is not */
382 }
383 if (0) {
384 { /* Inline kernel$Object$== (var_variable,((val*)NULL)) on <var_variable:nullable Variable> */
385 var_other = ((val*)NULL);
386 {
387 { /* Inline kernel$Object$is_same_instance (var_variable,var_other) on <var_variable:nullable Variable(Variable)> */
388 var9 = var_variable == var_other;
389 var7 = var9;
390 goto RET_LABEL8;
391 RET_LABEL8:(void)0;
392 }
393 }
394 var5 = var7;
395 goto RET_LABEL6;
396 RET_LABEL6:(void)0;
397 }
398 var4 = var5;
399 }
400 if (var4){
401 {
402 { /* Inline parser_nodes$ANode$parent (self) on <self:AExpr> */
403 var12 = self->attrs[COLOR_nitc__parser_nodes__ANode___parent].val; /* _parent on <self:AExpr> */
404 var10 = var12;
405 RET_LABEL11:(void)0;
406 }
407 }
408 if (var10 == NULL) {
409 var13 = 0; /* is null */
410 } else {
411 var13 = 1; /* arg is null and recv is not */
412 }
413 if (0) {
414 { /* Inline kernel$Object$!= (var10,((val*)NULL)) on <var10:nullable ANode> */
415 var_other16 = ((val*)NULL);
416 {
417 var17 = ((short int(*)(val* self, val* p0))(var10->class->vft[COLOR_core__kernel__Object___61d_61d]))(var10, var_other16); /* == on <var10:nullable ANode(ANode)>*/
418 }
419 var18 = !var17;
420 var14 = var18;
421 goto RET_LABEL15;
422 RET_LABEL15:(void)0;
423 }
424 var13 = var14;
425 }
426 if (unlikely(!var13)) {
427 if(catchStack.cursor >= 0){
428 longjmp(catchStack.envs[catchStack.cursor], 1);
429 }
430 PRINT_ERROR("Runtime error: %s", "Assert failed");
431 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder, 117);
432 fatal_exit(1);
433 }
434 {
435 var19 = nitc__astbuilder___AExpr___detach_with_placeholder(self);
436 }
437 var_place = var19;
438 var20 = NEW_nitc__Variable(&type_nitc__Variable);
439 if (likely(varonce!=NULL)) {
440 var21 = varonce;
441 } else {
442 var22 = "";
443 var24 = (val*)(0l<<2|1);
444 var25 = (val*)(0l<<2|1);
445 var26 = (val*)((long)(0)<<2|3);
446 var27 = (val*)((long)(0)<<2|3);
447 var23 = core__flat___CString___to_s_unsafe(var22, var24, var25, var26, var27);
448 var21 = var23;
449 varonce = var21;
450 }
451 {
452 ((void(*)(val* self, val* p0))(var20->class->vft[COLOR_nitc__scope__Variable__name_61d]))(var20, var21); /* name= on <var20:Variable>*/
453 }
454 {
455 ((void(*)(val* self))(var20->class->vft[COLOR_core__kernel__Object__init]))(var20); /* init on <var20:Variable>*/
456 }
457 var_variable = var20;
458 {
459 var28 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__typing__AExpr__mtype]))(self); /* mtype on <self:AExpr>*/
460 }
461 {
462 { /* Inline typing$Variable$declared_type= (var_variable,var28) on <var_variable:nullable Variable(Variable)> */
463 var_variable->attrs[COLOR_nitc__typing__Variable___declared_type].val = var28; /* _declared_type on <var_variable:nullable Variable(Variable)> */
464 RET_LABEL29:(void)0;
465 }
466 }
467 var30 = NEW_nitc__AVarAssignExpr(&type_nitc__AVarAssignExpr);
468 {
469 nitc__astbuilder___AVarAssignExpr___make(var30, var_variable, self); /* Direct call astbuilder$AVarAssignExpr$make on <var30:AVarAssignExpr>*/
470 }
471 var_nvar = var30;
472 {
473 nitc__transform___AExpr___nitc__parser_nodes__ANode__replace_with(var_place, var_nvar); /* Direct call transform$AExpr$replace_with on <var_place:AExpr>*/
474 }
475 {
476 { /* Inline astbuilder$AExpr$variable_cache= (self,var_variable) on <self:AExpr> */
477 self->attrs[COLOR_nitc__astbuilder__AExpr___variable_cache].val = var_variable; /* _variable_cache on <self:AExpr> */
478 RET_LABEL31:(void)0;
479 }
480 }
481 } else {
482 }
483 var32 = NEW_nitc__AVarExpr(&type_nitc__AVarExpr);
484 {
485 { /* Inline typing$Variable$declared_type (var_variable) on <var_variable:nullable Variable(Variable)> */
486 var35 = var_variable->attrs[COLOR_nitc__typing__Variable___declared_type].val; /* _declared_type on <var_variable:nullable Variable(Variable)> */
487 var33 = var35;
488 RET_LABEL34:(void)0;
489 }
490 }
491 if (unlikely(var33 == NULL)) {
492 if(catchStack.cursor >= 0){
493 longjmp(catchStack.envs[catchStack.cursor], 1);
494 }
495 PRINT_ERROR("Runtime error: %s", "Cast failed");
496 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder, 125);
497 fatal_exit(1);
498 }
499 {
500 nitc__astbuilder___AVarExpr___make(var32, var_variable, var33); /* Direct call astbuilder$AVarExpr$make on <var32:AVarExpr>*/
501 }
502 var = var32;
503 goto RET_LABEL;
504 RET_LABEL:;
505 return var;
506 }
507 /* method astbuilder$AExpr$variable_cache for (self: AExpr): nullable Variable */
508 val* nitc__astbuilder___AExpr___variable_cache(val* self) {
509 val* var /* : nullable Variable */;
510 val* var1 /* : nullable Variable */;
511 var1 = self->attrs[COLOR_nitc__astbuilder__AExpr___variable_cache].val; /* _variable_cache on <self:AExpr> */
512 var = var1;
513 RET_LABEL:;
514 return var;
515 }
516 /* method astbuilder$AExpr$variable_cache= for (self: AExpr, nullable Variable) */
517 void nitc__astbuilder___AExpr___variable_cache_61d(val* self, val* p0) {
518 self->attrs[COLOR_nitc__astbuilder__AExpr___variable_cache].val = p0; /* _variable_cache on <self:AExpr> */
519 RET_LABEL:;
520 }
521 /* method astbuilder$AExpr$detach_with_placeholder for (self: AExpr): AExpr */
522 val* nitc__astbuilder___AExpr___detach_with_placeholder(val* self) {
523 val* var /* : AExpr */;
524 val* var1 /* : APlaceholderExpr */;
525 val* var_h /* var h: APlaceholderExpr */;
526 var1 = NEW_nitc__APlaceholderExpr(&type_nitc__APlaceholderExpr);
527 {
528 nitc___nitc__APlaceholderExpr___make(var1); /* Direct call astbuilder$APlaceholderExpr$make on <var1:APlaceholderExpr>*/
529 }
530 var_h = var1;
531 {
532 nitc__transform___AExpr___nitc__parser_nodes__ANode__replace_with(self, var_h); /* Direct call transform$AExpr$replace_with on <self:AExpr>*/
533 }
534 var = var_h;
535 goto RET_LABEL;
536 RET_LABEL:;
537 return var;
538 }
539 /* method astbuilder$AExpr$add for (self: AExpr, AExpr) */
540 void nitc__astbuilder___AExpr___add(val* self, val* p0) {
541 val* var_expr /* var expr: AExpr */;
542 val* var /* : Sys */;
543 val* var1 /* : NativeArray[String] */;
544 static val* varonce;
545 static val* varonce2;
546 val* var3 /* : String */;
547 char* var4 /* : CString */;
548 val* var5 /* : String */;
549 val* var6 /* : nullable Int */;
550 val* var7 /* : nullable Int */;
551 val* var8 /* : nullable Bool */;
552 val* var9 /* : nullable Bool */;
553 val* var10 /* : String */;
554 val* var11 /* : String */;
555 var_expr = p0;
556 var = glob_sys;
557 if (unlikely(varonce==NULL)) {
558 var1 = NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String);
559 if (likely(varonce2!=NULL)) {
560 var3 = varonce2;
561 } else {
562 var4 = "add not implemented in ";
563 var6 = (val*)(23l<<2|1);
564 var7 = (val*)(23l<<2|1);
565 var8 = (val*)((long)(0)<<2|3);
566 var9 = (val*)((long)(0)<<2|3);
567 var5 = core__flat___CString___to_s_unsafe(var4, var6, var7, var8, var9);
568 var3 = var5;
569 varonce2 = var3;
570 }
571 ((struct instance_core__NativeArray*)var1)->values[0]=var3;
572 } else {
573 var1 = varonce;
574 varonce = NULL;
575 }
576 {
577 var10 = core__abstract_text___Object___inspect(self);
578 }
579 ((struct instance_core__NativeArray*)var1)->values[1]=var10;
580 {
581 var11 = ((val*(*)(val* self))(var1->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var1); /* native_to_s on <var1:NativeArray[String]>*/
582 }
583 varonce = var1;
584 {
585 core__file___Sys___print(var, var11); /* Direct call file$Sys$print on <var:Sys>*/
586 }
587 if(catchStack.cursor >= 0){
588 longjmp(catchStack.envs[catchStack.cursor], 1);
589 }
590 PRINT_ERROR("Runtime error: %s", "Aborted");
591 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder, 160);
592 fatal_exit(1);
593 RET_LABEL:;
594 }
595 /* method astbuilder$APlaceholderExpr$make for (self: APlaceholderExpr) */
596 void nitc___nitc__APlaceholderExpr___make(val* self) {
597 {
598 { /* Inline kernel$Object$init (self) on <self:APlaceholderExpr> */
599 RET_LABEL1:(void)0;
600 }
601 }
602 RET_LABEL:;
603 }
604 /* method astbuilder$ABlockExpr$make for (self: ABlockExpr) */
605 void nitc__astbuilder___ABlockExpr___make(val* self) {
606 {
607 { /* Inline kernel$Object$init (self) on <self:ABlockExpr> */
608 RET_LABEL1:(void)0;
609 }
610 }
611 {
612 { /* Inline typing$AExpr$is_typed= (self,1) on <self:ABlockExpr> */
613 self->attrs[COLOR_nitc__typing__AExpr___is_typed].s = 1; /* _is_typed on <self:ABlockExpr> */
614 RET_LABEL2:(void)0;
615 }
616 }
617 RET_LABEL:;
618 }
619 /* method astbuilder$ABlockExpr$add for (self: ABlockExpr, AExpr) */
620 void nitc__astbuilder___ABlockExpr___AExpr__add(val* self, val* p0) {
621 val* var_expr /* var expr: AExpr */;
622 val* var /* : ANodes[AExpr] */;
623 val* var2 /* : ANodes[AExpr] */;
624 var_expr = p0;
625 {
626 { /* Inline parser_nodes$ABlockExpr$n_expr (self) on <self:ABlockExpr> */
627 var2 = self->attrs[COLOR_nitc__parser_nodes__ABlockExpr___n_expr].val; /* _n_expr on <self:ABlockExpr> */
628 if (unlikely(var2 == NULL)) {
629 if(catchStack.cursor >= 0){
630 longjmp(catchStack.envs[catchStack.cursor], 1);
631 }
632 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
633 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1811);
634 fatal_exit(1);
635 }
636 var = var2;
637 RET_LABEL1:(void)0;
638 }
639 }
640 {
641 core___core__Sequence___SimpleCollection__add(var, var_expr); /* Direct call abstract_collection$Sequence$add on <var:ANodes[AExpr]>*/
642 }
643 RET_LABEL:;
644 }
645 /* method astbuilder$ALoopExpr$make for (self: ALoopExpr) */
646 void nitc__astbuilder___ALoopExpr___make(val* self) {
647 val* var /* : TKwloop */;
648 val* var4 /* : ABlockExpr */;
649 val* var6 /* : nullable AExpr */;
650 val* var8 /* : nullable AExpr */;
651 {
652 { /* Inline kernel$Object$init (self) on <self:ALoopExpr> */
653 RET_LABEL1:(void)0;
654 }
655 }
656 var = NEW_nitc__TKwloop(&type_nitc__TKwloop);
657 {
658 { /* Inline kernel$Object$init (var) on <var:TKwloop> */
659 RET_LABEL2:(void)0;
660 }
661 }
662 self->attrs[COLOR_nitc__parser_nodes__ALoopExpr___n_kwloop].val = var; /* _n_kwloop on <self:ALoopExpr> */
663 {
664 { /* Inline typing$AExpr$is_typed= (self,1) on <self:ALoopExpr> */
665 self->attrs[COLOR_nitc__typing__AExpr___is_typed].s = 1; /* _is_typed on <self:ALoopExpr> */
666 RET_LABEL3:(void)0;
667 }
668 }
669 var4 = NEW_nitc__ABlockExpr(&type_nitc__ABlockExpr);
670 {
671 { /* Inline kernel$Object$init (var4) on <var4:ABlockExpr> */
672 RET_LABEL5:(void)0;
673 }
674 }
675 {
676 nitc__parser_prod___ALoopExpr___n_block_61d(self, var4); /* Direct call parser_prod$ALoopExpr$n_block= on <self:ALoopExpr>*/
677 }
678 {
679 { /* Inline parser_nodes$ALoopExpr$n_block (self) on <self:ALoopExpr> */
680 var8 = self->attrs[COLOR_nitc__parser_nodes__ALoopExpr___n_block].val; /* _n_block on <self:ALoopExpr> */
681 var6 = var8;
682 RET_LABEL7:(void)0;
683 }
684 }
685 if (var6 == NULL) {
686 if(catchStack.cursor >= 0){
687 longjmp(catchStack.envs[catchStack.cursor], 1);
688 }
689 PRINT_ERROR("Runtime error: %s", "Receiver is null");
690 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder, 196);
691 fatal_exit(1);
692 } else {
693 { /* Inline typing$AExpr$is_typed= (var6,1) on <var6:nullable AExpr> */
694 if (unlikely(var6 == NULL)) {
695 if(catchStack.cursor >= 0){
696 longjmp(catchStack.envs[catchStack.cursor], 1);
697 }
698 PRINT_ERROR("Runtime error: %s", "Receiver is null");
699 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 855);
700 fatal_exit(1);
701 }
702 var6->attrs[COLOR_nitc__typing__AExpr___is_typed].s = 1; /* _is_typed on <var6:nullable AExpr> */
703 RET_LABEL9:(void)0;
704 }
705 }
706 RET_LABEL:;
707 }
708 /* method astbuilder$ALoopExpr$add for (self: ALoopExpr, AExpr) */
709 void nitc__astbuilder___ALoopExpr___AExpr__add(val* self, val* p0) {
710 val* var_expr /* var expr: AExpr */;
711 val* var /* : nullable AExpr */;
712 val* var2 /* : nullable AExpr */;
713 var_expr = p0;
714 {
715 { /* Inline parser_nodes$ALoopExpr$n_block (self) on <self:ALoopExpr> */
716 var2 = self->attrs[COLOR_nitc__parser_nodes__ALoopExpr___n_block].val; /* _n_block on <self:ALoopExpr> */
717 var = var2;
718 RET_LABEL1:(void)0;
719 }
720 }
721 if (var == NULL) {
722 if(catchStack.cursor >= 0){
723 longjmp(catchStack.envs[catchStack.cursor], 1);
724 }
725 PRINT_ERROR("Runtime error: %s", "Receiver is null");
726 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder, 201);
727 fatal_exit(1);
728 } else {
729 ((void(*)(val* self, val* p0))(var->class->vft[COLOR_nitc__astbuilder__AExpr__add]))(var, var_expr); /* add on <var:nullable AExpr>*/
730 }
731 RET_LABEL:;
732 }
733 /* method astbuilder$ADoExpr$make for (self: ADoExpr) */
734 void nitc__astbuilder___ADoExpr___make(val* self) {
735 val* var /* : TKwdo */;
736 val* var4 /* : ABlockExpr */;
737 val* var6 /* : nullable AExpr */;
738 val* var8 /* : nullable AExpr */;
739 {
740 { /* Inline kernel$Object$init (self) on <self:ADoExpr> */
741 RET_LABEL1:(void)0;
742 }
743 }
744 var = NEW_nitc__TKwdo(&type_nitc__TKwdo);
745 {
746 { /* Inline kernel$Object$init (var) on <var:TKwdo> */
747 RET_LABEL2:(void)0;
748 }
749 }
750 self->attrs[COLOR_nitc__parser_nodes__ADoExpr___n_kwdo].val = var; /* _n_kwdo on <self:ADoExpr> */
751 {
752 { /* Inline typing$AExpr$is_typed= (self,1) on <self:ADoExpr> */
753 self->attrs[COLOR_nitc__typing__AExpr___is_typed].s = 1; /* _is_typed on <self:ADoExpr> */
754 RET_LABEL3:(void)0;
755 }
756 }
757 var4 = NEW_nitc__ABlockExpr(&type_nitc__ABlockExpr);
758 {
759 { /* Inline kernel$Object$init (var4) on <var4:ABlockExpr> */
760 RET_LABEL5:(void)0;
761 }
762 }
763 {
764 nitc__parser_prod___ADoExpr___n_block_61d(self, var4); /* Direct call parser_prod$ADoExpr$n_block= on <self:ADoExpr>*/
765 }
766 {
767 { /* Inline parser_nodes$ADoExpr$n_block (self) on <self:ADoExpr> */
768 var8 = self->attrs[COLOR_nitc__parser_nodes__ADoExpr___n_block].val; /* _n_block on <self:ADoExpr> */
769 var6 = var8;
770 RET_LABEL7:(void)0;
771 }
772 }
773 if (var6 == NULL) {
774 if(catchStack.cursor >= 0){
775 longjmp(catchStack.envs[catchStack.cursor], 1);
776 }
777 PRINT_ERROR("Runtime error: %s", "Receiver is null");
778 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder, 211);
779 fatal_exit(1);
780 } else {
781 { /* Inline typing$AExpr$is_typed= (var6,1) on <var6:nullable AExpr> */
782 if (unlikely(var6 == NULL)) {
783 if(catchStack.cursor >= 0){
784 longjmp(catchStack.envs[catchStack.cursor], 1);
785 }
786 PRINT_ERROR("Runtime error: %s", "Receiver is null");
787 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 855);
788 fatal_exit(1);
789 }
790 var6->attrs[COLOR_nitc__typing__AExpr___is_typed].s = 1; /* _is_typed on <var6:nullable AExpr> */
791 RET_LABEL9:(void)0;
792 }
793 }
794 RET_LABEL:;
795 }
796 /* method astbuilder$ADoExpr$add for (self: ADoExpr, AExpr) */
797 void nitc__astbuilder___ADoExpr___AExpr__add(val* self, val* p0) {
798 val* var_expr /* var expr: AExpr */;
799 val* var /* : nullable AExpr */;
800 val* var2 /* : nullable AExpr */;
801 var_expr = p0;
802 {
803 { /* Inline parser_nodes$ADoExpr$n_block (self) on <self:ADoExpr> */
804 var2 = self->attrs[COLOR_nitc__parser_nodes__ADoExpr___n_block].val; /* _n_block on <self:ADoExpr> */
805 var = var2;
806 RET_LABEL1:(void)0;
807 }
808 }
809 if (var == NULL) {
810 if(catchStack.cursor >= 0){
811 longjmp(catchStack.envs[catchStack.cursor], 1);
812 }
813 PRINT_ERROR("Runtime error: %s", "Receiver is null");
814 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder, 227);
815 fatal_exit(1);
816 } else {
817 ((void(*)(val* self, val* p0))(var->class->vft[COLOR_nitc__astbuilder__AExpr__add]))(var, var_expr); /* add on <var:nullable AExpr>*/
818 }
819 RET_LABEL:;
820 }
821 /* method astbuilder$ABreakExpr$make for (self: ABreakExpr, EscapeMark) */
822 void nitc__astbuilder___ABreakExpr___make(val* self, val* p0) {
823 val* var_escapemark /* var escapemark: EscapeMark */;
824 val* var /* : TKwbreak */;
825 val* var4 /* : Array[AEscapeExpr] */;
826 val* var6 /* : Array[AEscapeExpr] */;
827 {
828 { /* Inline kernel$Object$init (self) on <self:ABreakExpr> */
829 RET_LABEL1:(void)0;
830 }
831 }
832 var_escapemark = p0;
833 var = NEW_nitc__TKwbreak(&type_nitc__TKwbreak);
834 {
835 { /* Inline kernel$Object$init (var) on <var:TKwbreak> */
836 RET_LABEL2:(void)0;
837 }
838 }
839 self->attrs[COLOR_nitc__parser_nodes__ABreakExpr___n_kwbreak].val = var; /* _n_kwbreak on <self:ABreakExpr> */
840 {
841 { /* Inline scope$AEscapeExpr$escapemark= (self,var_escapemark) on <self:ABreakExpr> */
842 self->attrs[COLOR_nitc__scope__AEscapeExpr___escapemark].val = var_escapemark; /* _escapemark on <self:ABreakExpr> */
843 RET_LABEL3:(void)0;
844 }
845 }
846 {
847 { /* Inline scope$EscapeMark$escapes (var_escapemark) on <var_escapemark:EscapeMark> */
848 var6 = var_escapemark->attrs[COLOR_nitc__scope__EscapeMark___escapes].val; /* _escapes on <var_escapemark:EscapeMark> */
849 if (unlikely(var6 == NULL)) {
850 if(catchStack.cursor >= 0){
851 longjmp(catchStack.envs[catchStack.cursor], 1);
852 }
853 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapes");
854 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 59);
855 fatal_exit(1);
856 }
857 var4 = var6;
858 RET_LABEL5:(void)0;
859 }
860 }
861 {
862 core___core__Array___core__abstract_collection__SimpleCollection__add(var4, self); /* Direct call array$Array$add on <var4:Array[AEscapeExpr]>*/
863 }
864 {
865 { /* Inline typing$AExpr$is_typed= (self,1) on <self:ABreakExpr> */
866 self->attrs[COLOR_nitc__typing__AExpr___is_typed].s = 1; /* _is_typed on <self:ABreakExpr> */
867 RET_LABEL7:(void)0;
868 }
869 }
870 RET_LABEL:;
871 }
872 /* method astbuilder$AIfExpr$make for (self: AIfExpr, AExpr, nullable MType) */
873 void nitc__astbuilder___AIfExpr___make(val* self, val* p0, val* p1) {
874 val* var_condition /* var condition: AExpr */;
875 val* var_mtype /* var mtype: nullable MType */;
876 val* var /* : TKwif */;
877 val* var3 /* : AExpr */;
878 val* var5 /* : TKwthen */;
879 val* var7 /* : ABlockExpr */;
880 val* var8 /* : TKwelse */;
881 val* var10 /* : ABlockExpr */;
882 {
883 { /* Inline kernel$Object$init (self) on <self:AIfExpr> */
884 RET_LABEL1:(void)0;
885 }
886 }
887 var_condition = p0;
888 var_mtype = p1;
889 var = NEW_nitc__TKwif(&type_nitc__TKwif);
890 {
891 { /* Inline kernel$Object$init (var) on <var:TKwif> */
892 RET_LABEL2:(void)0;
893 }
894 }
895 self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_kwif].val = var; /* _n_kwif on <self:AIfExpr> */
896 self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_expr].val = var_condition; /* _n_expr on <self:AIfExpr> */
897 var3 = self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_expr].val; /* _n_expr on <self:AIfExpr> */
898 if (unlikely(var3 == NULL)) {
899 if(catchStack.cursor >= 0){
900 longjmp(catchStack.envs[catchStack.cursor], 1);
901 }
902 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
903 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder, 246);
904 fatal_exit(1);
905 }
906 {
907 { /* Inline parser_nodes$ANode$parent= (var3,self) on <var3:AExpr> */
908 var3->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var3:AExpr> */
909 RET_LABEL4:(void)0;
910 }
911 }
912 var5 = NEW_nitc__TKwthen(&type_nitc__TKwthen);
913 {
914 { /* Inline kernel$Object$init (var5) on <var5:TKwthen> */
915 RET_LABEL6:(void)0;
916 }
917 }
918 self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_kwthen].val = var5; /* _n_kwthen on <self:AIfExpr> */
919 var7 = NEW_nitc__ABlockExpr(&type_nitc__ABlockExpr);
920 {
921 nitc__astbuilder___ABlockExpr___make(var7); /* Direct call astbuilder$ABlockExpr$make on <var7:ABlockExpr>*/
922 }
923 self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_then].val = var7; /* _n_then on <self:AIfExpr> */
924 var8 = NEW_nitc__TKwelse(&type_nitc__TKwelse);
925 {
926 { /* Inline kernel$Object$init (var8) on <var8:TKwelse> */
927 RET_LABEL9:(void)0;
928 }
929 }
930 self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_kwelse].val = var8; /* _n_kwelse on <self:AIfExpr> */
931 var10 = NEW_nitc__ABlockExpr(&type_nitc__ABlockExpr);
932 {
933 nitc__astbuilder___ABlockExpr___make(var10); /* Direct call astbuilder$ABlockExpr$make on <var10:ABlockExpr>*/
934 }
935 self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_else].val = var10; /* _n_else on <self:AIfExpr> */
936 {
937 { /* Inline typing$AExpr$mtype= (self,var_mtype) on <self:AIfExpr> */
938 self->attrs[COLOR_nitc__typing__AExpr___mtype].val = var_mtype; /* _mtype on <self:AIfExpr> */
939 RET_LABEL11:(void)0;
940 }
941 }
942 {
943 { /* Inline typing$AExpr$is_typed= (self,1) on <self:AIfExpr> */
944 self->attrs[COLOR_nitc__typing__AExpr___is_typed].s = 1; /* _is_typed on <self:AIfExpr> */
945 RET_LABEL12:(void)0;
946 }
947 }
948 RET_LABEL:;
949 }
950 /* method astbuilder$AType$make for (self: AType) */
951 void nitc__astbuilder___AType___make(val* self) {
952 val* var /* : TClassid */;
953 val* var_n_id /* var n_id: TClassid */;
954 val* var3 /* : AQclassid */;
955 val* var_n_qid /* var n_qid: AQclassid */;
956 {
957 { /* Inline kernel$Object$init (self) on <self:AType> */
958 RET_LABEL1:(void)0;
959 }
960 }
961 var = NEW_nitc__TClassid(&type_nitc__TClassid);
962 {
963 { /* Inline kernel$Object$init (var) on <var:TClassid> */
964 RET_LABEL2:(void)0;
965 }
966 }
967 var_n_id = var;
968 var3 = NEW_nitc__AQclassid(&type_nitc__AQclassid);
969 {
970 { /* Inline kernel$Object$init (var3) on <var3:AQclassid> */
971 RET_LABEL4:(void)0;
972 }
973 }
974 var_n_qid = var3;
975 {
976 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>*/
977 }
978 self->attrs[COLOR_nitc__parser_nodes__AType___n_qid].val = var_n_qid; /* _n_qid on <self:AType> */
979 RET_LABEL:;
980 }
981 /* method astbuilder$AIntegerExpr$make for (self: AIntegerExpr, Int, MType) */
982 void nitc__astbuilder___AIntegerExpr___make(val* self, long p0, val* p1) {
983 long var_value /* var value: Int */;
984 val* var_t /* var t: MType */;
985 val* var /* : nullable Numeric */;
986 val* var3 /* : TInteger */;
987 {
988 { /* Inline kernel$Object$init (self) on <self:AIntegerExpr> */
989 RET_LABEL1:(void)0;
990 }
991 }
992 var_value = p0;
993 var_t = p1;
994 {
995 { /* Inline literal$AIntegerExpr$value= (self,var_value) on <self:AIntegerExpr> */
996 var = (val*)(var_value<<2|1);
997 self->attrs[COLOR_nitc__literal__AIntegerExpr___value].val = var; /* _value on <self:AIntegerExpr> */
998 RET_LABEL2:(void)0;
999 }
1000 }
1001 var3 = NEW_nitc__TInteger(&type_nitc__TInteger);
1002 {
1003 { /* Inline kernel$Object$init (var3) on <var3:TInteger> */
1004 RET_LABEL4:(void)0;
1005 }
1006 }
1007 self->attrs[COLOR_nitc__parser_nodes__AIntegerExpr___n_integer].val = var3; /* _n_integer on <self:AIntegerExpr> */
1008 {
1009 { /* Inline typing$AExpr$mtype= (self,var_t) on <self:AIntegerExpr> */
1010 self->attrs[COLOR_nitc__typing__AExpr___mtype].val = var_t; /* _mtype on <self:AIntegerExpr> */
1011 RET_LABEL5:(void)0;
1012 }
1013 }
1014 RET_LABEL:;
1015 }
1016 /* method astbuilder$ANewExpr$make for (self: ANewExpr, CallSite, nullable Array[AExpr]) */
1017 void nitc__astbuilder___ANewExpr___make(val* self, val* p0, val* p1) {
1018 val* var_callsite /* var callsite: CallSite */;
1019 val* var_args /* var args: nullable Array[AExpr] */;
1020 val* var /* : TKwnew */;
1021 val* var3 /* : AType */;
1022 val* var4 /* : AListExprs */;
1023 short int var6 /* : Bool */;
1024 short int var7 /* : Bool */;
1025 val* var_other /* var other: nullable Object */;
1026 short int var9 /* : Bool */;
1027 short int var10 /* : Bool */;
1028 val* var11 /* : AExprs */;
1029 val* var13 /* : AExprs */;
1030 val* var14 /* : ANodes[AExpr] */;
1031 val* var16 /* : ANodes[AExpr] */;
1032 val* var18 /* : MType */;
1033 val* var20 /* : MType */;
1034 short int var21 /* : Bool */;
1035 int cltype;
1036 int idtype;
1037 const char* var_class_name;
1038 val* var23 /* : MMethod */;
1039 val* var25 /* : MMethod */;
1040 short int var26 /* : Bool */;
1041 short int var28 /* : Bool */;
1042 val* var29 /* : MSignature */;
1043 val* var31 /* : MSignature */;
1044 val* var32 /* : nullable MType */;
1045 val* var34 /* : nullable MType */;
1046 val* var36 /* : MType */;
1047 val* var38 /* : MType */;
1048 {
1049 { /* Inline kernel$Object$init (self) on <self:ANewExpr> */
1050 RET_LABEL1:(void)0;
1051 }
1052 }
1053 var_callsite = p0;
1054 var_args = p1;
1055 var = NEW_nitc__TKwnew(&type_nitc__TKwnew);
1056 {
1057 { /* Inline kernel$Object$init (var) on <var:TKwnew> */
1058 RET_LABEL2:(void)0;
1059 }
1060 }
1061 self->attrs[COLOR_nitc__parser_nodes__ANewExpr___n_kwnew].val = var; /* _n_kwnew on <self:ANewExpr> */
1062 var3 = NEW_nitc__AType(&type_nitc__AType);
1063 {
1064 nitc__astbuilder___AType___make(var3); /* Direct call astbuilder$AType$make on <var3:AType>*/
1065 }
1066 self->attrs[COLOR_nitc__parser_nodes__ANewExpr___n_type].val = var3; /* _n_type on <self:ANewExpr> */
1067 var4 = NEW_nitc__AListExprs(&type_nitc__AListExprs);
1068 {
1069 { /* Inline kernel$Object$init (var4) on <var4:AListExprs> */
1070 RET_LABEL5:(void)0;
1071 }
1072 }
1073 self->attrs[COLOR_nitc__parser_nodes__ANewExpr___n_args].val = var4; /* _n_args on <self:ANewExpr> */
1074 if (var_args == NULL) {
1075 var6 = 0; /* is null */
1076 } else {
1077 var6 = 1; /* arg is null and recv is not */
1078 }
1079 if (0) {
1080 { /* Inline kernel$Object$!= (var_args,((val*)NULL)) on <var_args:nullable Array[AExpr]> */
1081 var_other = ((val*)NULL);
1082 {
1083 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])>*/
1084 }
1085 var10 = !var9;
1086 var7 = var10;
1087 goto RET_LABEL8;
1088 RET_LABEL8:(void)0;
1089 }
1090 var6 = var7;
1091 }
1092 if (var6){
1093 {
1094 { /* Inline parser_nodes$ANewExpr$n_args (self) on <self:ANewExpr> */
1095 var13 = self->attrs[COLOR_nitc__parser_nodes__ANewExpr___n_args].val; /* _n_args on <self:ANewExpr> */
1096 if (unlikely(var13 == NULL)) {
1097 if(catchStack.cursor >= 0){
1098 longjmp(catchStack.envs[catchStack.cursor], 1);
1099 }
1100 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
1101 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2346);
1102 fatal_exit(1);
1103 }
1104 var11 = var13;
1105 RET_LABEL12:(void)0;
1106 }
1107 }
1108 {
1109 { /* Inline parser_nodes$AExprs$n_exprs (var11) on <var11:AExprs> */
1110 var16 = var11->attrs[COLOR_nitc__parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <var11:AExprs> */
1111 if (unlikely(var16 == NULL)) {
1112 if(catchStack.cursor >= 0){
1113 longjmp(catchStack.envs[catchStack.cursor], 1);
1114 }
1115 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
1116 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2790);
1117 fatal_exit(1);
1118 }
1119 var14 = var16;
1120 RET_LABEL15:(void)0;
1121 }
1122 }
1123 {
1124 core___core__SimpleCollection___add_all(var14, var_args); /* Direct call abstract_collection$SimpleCollection$add_all on <var14:ANodes[AExpr]>*/
1125 }
1126 } else {
1127 }
1128 {
1129 { /* Inline typing$ANewExpr$callsite= (self,var_callsite) on <self:ANewExpr> */
1130 self->attrs[COLOR_nitc__typing__ANewExpr___callsite].val = var_callsite; /* _callsite on <self:ANewExpr> */
1131 RET_LABEL17:(void)0;
1132 }
1133 }
1134 {
1135 { /* Inline typing$CallSite$recv (var_callsite) on <var_callsite:CallSite> */
1136 var20 = var_callsite->attrs[COLOR_nitc__typing__CallSite___recv].val; /* _recv on <var_callsite:CallSite> */
1137 if (unlikely(var20 == NULL)) {
1138 if(catchStack.cursor >= 0){
1139 longjmp(catchStack.envs[catchStack.cursor], 1);
1140 }
1141 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _recv");
1142 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 642);
1143 fatal_exit(1);
1144 }
1145 var18 = var20;
1146 RET_LABEL19:(void)0;
1147 }
1148 }
1149 /* <var18:MType> isa MClassType */
1150 cltype = type_nitc__MClassType.color;
1151 idtype = type_nitc__MClassType.id;
1152 if(cltype >= var18->type->table_size) {
1153 var21 = 0;
1154 } else {
1155 var21 = var18->type->type_table[cltype] == idtype;
1156 }
1157 if (unlikely(!var21)) {
1158 var_class_name = var18 == NULL ? "null" : var18->type->name;
1159 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name);
1160 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder, 285);
1161 fatal_exit(1);
1162 }
1163 {
1164 { /* Inline typing$ANewExpr$recvtype= (self,var18) on <self:ANewExpr> */
1165 self->attrs[COLOR_nitc__typing__ANewExpr___recvtype].val = var18; /* _recvtype on <self:ANewExpr> */
1166 RET_LABEL22:(void)0;
1167 }
1168 }
1169 {
1170 { /* Inline typing$CallSite$mproperty (var_callsite) on <var_callsite:CallSite> */
1171 var25 = var_callsite->attrs[COLOR_nitc__typing__CallSite___mproperty].val; /* _mproperty on <var_callsite:CallSite> */
1172 if (unlikely(var25 == NULL)) {
1173 if(catchStack.cursor >= 0){
1174 longjmp(catchStack.envs[catchStack.cursor], 1);
1175 }
1176 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1177 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 656);
1178 fatal_exit(1);
1179 }
1180 var23 = var25;
1181 RET_LABEL24:(void)0;
1182 }
1183 }
1184 {
1185 { /* Inline model$MMethod$is_new (var23) on <var23:MMethod> */
1186 var28 = var23->attrs[COLOR_nitc__model__MMethod___is_new].s; /* _is_new on <var23:MMethod> */
1187 var26 = var28;
1188 RET_LABEL27:(void)0;
1189 }
1190 }
1191 if (var26){
1192 {
1193 { /* Inline typing$CallSite$msignature (var_callsite) on <var_callsite:CallSite> */
1194 var31 = var_callsite->attrs[COLOR_nitc__typing__CallSite___msignature].val; /* _msignature on <var_callsite:CallSite> */
1195 if (unlikely(var31 == NULL)) {
1196 if(catchStack.cursor >= 0){
1197 longjmp(catchStack.envs[catchStack.cursor], 1);
1198 }
1199 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
1200 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 663);
1201 fatal_exit(1);
1202 }
1203 var29 = var31;
1204 RET_LABEL30:(void)0;
1205 }
1206 }
1207 {
1208 { /* Inline model$MSignature$return_mtype (var29) on <var29:MSignature> */
1209 var34 = var29->attrs[COLOR_nitc__model__MSignature___return_mtype].val; /* _return_mtype on <var29:MSignature> */
1210 var32 = var34;
1211 RET_LABEL33:(void)0;
1212 }
1213 }
1214 {
1215 { /* Inline typing$AExpr$mtype= (self,var32) on <self:ANewExpr> */
1216 self->attrs[COLOR_nitc__typing__AExpr___mtype].val = var32; /* _mtype on <self:ANewExpr> */
1217 RET_LABEL35:(void)0;
1218 }
1219 }
1220 } else {
1221 {
1222 { /* Inline typing$CallSite$recv (var_callsite) on <var_callsite:CallSite> */
1223 var38 = var_callsite->attrs[COLOR_nitc__typing__CallSite___recv].val; /* _recv on <var_callsite:CallSite> */
1224 if (unlikely(var38 == NULL)) {
1225 if(catchStack.cursor >= 0){
1226 longjmp(catchStack.envs[catchStack.cursor], 1);
1227 }
1228 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _recv");
1229 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 642);
1230 fatal_exit(1);
1231 }
1232 var36 = var38;
1233 RET_LABEL37:(void)0;
1234 }
1235 }
1236 {
1237 { /* Inline typing$AExpr$mtype= (self,var36) on <self:ANewExpr> */
1238 self->attrs[COLOR_nitc__typing__AExpr___mtype].val = var36; /* _mtype on <self:ANewExpr> */
1239 RET_LABEL39:(void)0;
1240 }
1241 }
1242 }
1243 {
1244 { /* Inline typing$AExpr$is_typed= (self,1) on <self:ANewExpr> */
1245 self->attrs[COLOR_nitc__typing__AExpr___is_typed].s = 1; /* _is_typed on <self:ANewExpr> */
1246 RET_LABEL40:(void)0;
1247 }
1248 }
1249 RET_LABEL:;
1250 }
1251 /* method astbuilder$ACallExpr$make for (self: ACallExpr, AExpr, CallSite, nullable Array[AExpr]) */
1252 void nitc__astbuilder___ACallExpr___make(val* self, val* p0, val* p1, val* p2) {
1253 val* var_recv /* var recv: AExpr */;
1254 val* var_callsite /* var callsite: CallSite */;
1255 val* var_args /* var args: nullable Array[AExpr] */;
1256 val* var /* : AListExprs */;
1257 val* var3 /* : AQid */;
1258 val* var5 /* : AQid */;
1259 val* var6 /* : TId */;
1260 short int var8 /* : Bool */;
1261 short int var9 /* : Bool */;
1262 val* var_other /* var other: nullable Object */;
1263 short int var11 /* : Bool */;
1264 short int var12 /* : Bool */;
1265 val* var13 /* : AExprs */;
1266 val* var15 /* : AExprs */;
1267 val* var16 /* : ANodes[AExpr] */;
1268 val* var18 /* : ANodes[AExpr] */;
1269 val* var20 /* : MSignature */;
1270 val* var22 /* : MSignature */;
1271 val* var23 /* : nullable MType */;
1272 val* var25 /* : nullable MType */;
1273 {
1274 { /* Inline kernel$Object$init (self) on <self:ACallExpr> */
1275 RET_LABEL1:(void)0;
1276 }
1277 }
1278 var_recv = p0;
1279 var_callsite = p1;
1280 var_args = p2;
1281 self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val = var_recv; /* _n_expr on <self:ACallExpr> */
1282 var = NEW_nitc__AListExprs(&type_nitc__AListExprs);
1283 {
1284 { /* Inline kernel$Object$init (var) on <var:AListExprs> */
1285 RET_LABEL2:(void)0;
1286 }
1287 }
1288 self->attrs[COLOR_nitc__parser_nodes__ACallFormExpr___n_args].val = var; /* _n_args on <self:ACallExpr> */
1289 var3 = NEW_nitc__AQid(&type_nitc__AQid);
1290 {
1291 { /* Inline kernel$Object$init (var3) on <var3:AQid> */
1292 RET_LABEL4:(void)0;
1293 }
1294 }
1295 self->attrs[COLOR_nitc__parser_nodes__ACallFormExpr___n_qid].val = var3; /* _n_qid on <self:ACallExpr> */
1296 var5 = self->attrs[COLOR_nitc__parser_nodes__ACallFormExpr___n_qid].val; /* _n_qid on <self:ACallExpr> */
1297 if (unlikely(var5 == NULL)) {
1298 if(catchStack.cursor >= 0){
1299 longjmp(catchStack.envs[catchStack.cursor], 1);
1300 }
1301 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_qid");
1302 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder, 301);
1303 fatal_exit(1);
1304 }
1305 var6 = NEW_nitc__TId(&type_nitc__TId);
1306 {
1307 { /* Inline kernel$Object$init (var6) on <var6:TId> */
1308 RET_LABEL7:(void)0;
1309 }
1310 }
1311 {
1312 nitc__parser_prod___AQid___n_id_61d(var5, var6); /* Direct call parser_prod$AQid$n_id= on <var5:AQid>*/
1313 }
1314 if (var_args == NULL) {
1315 var8 = 0; /* is null */
1316 } else {
1317 var8 = 1; /* arg is null and recv is not */
1318 }
1319 if (0) {
1320 { /* Inline kernel$Object$!= (var_args,((val*)NULL)) on <var_args:nullable Array[AExpr]> */
1321 var_other = ((val*)NULL);
1322 {
1323 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])>*/
1324 }
1325 var12 = !var11;
1326 var9 = var12;
1327 goto RET_LABEL10;
1328 RET_LABEL10:(void)0;
1329 }
1330 var8 = var9;
1331 }
1332 if (var8){
1333 {
1334 { /* Inline parser_nodes$ACallFormExpr$n_args (self) on <self:ACallExpr> */
1335 var15 = self->attrs[COLOR_nitc__parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallExpr> */
1336 if (unlikely(var15 == NULL)) {
1337 if(catchStack.cursor >= 0){
1338 longjmp(catchStack.envs[catchStack.cursor], 1);
1339 }
1340 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
1341 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2380);
1342 fatal_exit(1);
1343 }
1344 var13 = var15;
1345 RET_LABEL14:(void)0;
1346 }
1347 }
1348 {
1349 { /* Inline parser_nodes$AExprs$n_exprs (var13) on <var13:AExprs> */
1350 var18 = var13->attrs[COLOR_nitc__parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <var13:AExprs> */
1351 if (unlikely(var18 == NULL)) {
1352 if(catchStack.cursor >= 0){
1353 longjmp(catchStack.envs[catchStack.cursor], 1);
1354 }
1355 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
1356 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2790);
1357 fatal_exit(1);
1358 }
1359 var16 = var18;
1360 RET_LABEL17:(void)0;
1361 }
1362 }
1363 {
1364 core___core__SimpleCollection___add_all(var16, var_args); /* Direct call abstract_collection$SimpleCollection$add_all on <var16:ANodes[AExpr]>*/
1365 }
1366 } else {
1367 }
1368 {
1369 { /* Inline typing$ASendExpr$callsite= (self,var_callsite) on <self:ACallExpr> */
1370 self->attrs[COLOR_nitc__typing__ASendExpr___callsite].val = var_callsite; /* _callsite on <self:ACallExpr> */
1371 RET_LABEL19:(void)0;
1372 }
1373 }
1374 {
1375 { /* Inline typing$CallSite$msignature (var_callsite) on <var_callsite:CallSite> */
1376 var22 = var_callsite->attrs[COLOR_nitc__typing__CallSite___msignature].val; /* _msignature on <var_callsite:CallSite> */
1377 if (unlikely(var22 == NULL)) {
1378 if(catchStack.cursor >= 0){
1379 longjmp(catchStack.envs[catchStack.cursor], 1);
1380 }
1381 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
1382 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 663);
1383 fatal_exit(1);
1384 }
1385 var20 = var22;
1386 RET_LABEL21:(void)0;
1387 }
1388 }
1389 {
1390 { /* Inline model$MSignature$return_mtype (var20) on <var20:MSignature> */
1391 var25 = var20->attrs[COLOR_nitc__model__MSignature___return_mtype].val; /* _return_mtype on <var20:MSignature> */
1392 var23 = var25;
1393 RET_LABEL24:(void)0;
1394 }
1395 }
1396 {
1397 { /* Inline typing$AExpr$mtype= (self,var23) on <self:ACallExpr> */
1398 self->attrs[COLOR_nitc__typing__AExpr___mtype].val = var23; /* _mtype on <self:ACallExpr> */
1399 RET_LABEL26:(void)0;
1400 }
1401 }
1402 {
1403 { /* Inline typing$AExpr$is_typed= (self,1) on <self:ACallExpr> */
1404 self->attrs[COLOR_nitc__typing__AExpr___is_typed].s = 1; /* _is_typed on <self:ACallExpr> */
1405 RET_LABEL27:(void)0;
1406 }
1407 }
1408 RET_LABEL:;
1409 }
1410 /* method astbuilder$AAttrExpr$make for (self: AAttrExpr, AExpr, MAttribute, MType) */
1411 void nitc__astbuilder___AAttrExpr___make(val* self, val* p0, val* p1, val* p2) {
1412 val* var_recv /* var recv: AExpr */;
1413 val* var_attribute /* var attribute: MAttribute */;
1414 val* var_t /* var t: MType */;
1415 val* var /* : TAttrid */;
1416 {
1417 { /* Inline kernel$Object$init (self) on <self:AAttrExpr> */
1418 RET_LABEL1:(void)0;
1419 }
1420 }
1421 var_recv = p0;
1422 var_attribute = p1;
1423 var_t = p2;
1424 self->attrs[COLOR_nitc__parser_nodes__AAttrFormExpr___n_expr].val = var_recv; /* _n_expr on <self:AAttrExpr> */
1425 {
1426 { /* Inline parser_nodes$ANode$parent= (var_recv,self) on <var_recv:AExpr> */
1427 var_recv->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_recv:AExpr> */
1428 RET_LABEL2:(void)0;
1429 }
1430 }
1431 var = NEW_nitc__TAttrid(&type_nitc__TAttrid);
1432 {
1433 { /* Inline kernel$Object$init (var) on <var:TAttrid> */
1434 RET_LABEL3:(void)0;
1435 }
1436 }
1437 self->attrs[COLOR_nitc__parser_nodes__AAttrFormExpr___n_id].val = var; /* _n_id on <self:AAttrExpr> */
1438 {
1439 { /* Inline typing$AAttrFormExpr$mproperty= (self,var_attribute) on <self:AAttrExpr> */
1440 self->attrs[COLOR_nitc__typing__AAttrFormExpr___mproperty].val = var_attribute; /* _mproperty on <self:AAttrExpr> */
1441 RET_LABEL4:(void)0;
1442 }
1443 }
1444 {
1445 { /* Inline typing$AExpr$mtype= (self,var_t) on <self:AAttrExpr> */
1446 self->attrs[COLOR_nitc__typing__AExpr___mtype].val = var_t; /* _mtype on <self:AAttrExpr> */
1447 RET_LABEL5:(void)0;
1448 }
1449 }
1450 RET_LABEL:;
1451 }
1452 /* method astbuilder$AAttrAssignExpr$make for (self: AAttrAssignExpr, AExpr, MAttribute, AExpr) */
1453 void nitc__astbuilder___AAttrAssignExpr___make(val* self, val* p0, val* p1, val* p2) {
1454 val* var_recv /* var recv: AExpr */;
1455 val* var_attribute /* var attribute: MAttribute */;
1456 val* var_value /* var value: AExpr */;
1457 val* var /* : TAttrid */;
1458 val* var5 /* : TAssign */;
1459 val* var8 /* : nullable MType */;
1460 {
1461 { /* Inline kernel$Object$init (self) on <self:AAttrAssignExpr> */
1462 RET_LABEL1:(void)0;
1463 }
1464 }
1465 var_recv = p0;
1466 var_attribute = p1;
1467 var_value = p2;
1468 self->attrs[COLOR_nitc__parser_nodes__AAttrFormExpr___n_expr].val = var_recv; /* _n_expr on <self:AAttrAssignExpr> */
1469 {
1470 { /* Inline parser_nodes$ANode$parent= (var_recv,self) on <var_recv:AExpr> */
1471 var_recv->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_recv:AExpr> */
1472 RET_LABEL2:(void)0;
1473 }
1474 }
1475 var = NEW_nitc__TAttrid(&type_nitc__TAttrid);
1476 {
1477 { /* Inline kernel$Object$init (var) on <var:TAttrid> */
1478 RET_LABEL3:(void)0;
1479 }
1480 }
1481 self->attrs[COLOR_nitc__parser_nodes__AAttrFormExpr___n_id].val = var; /* _n_id on <self:AAttrAssignExpr> */
1482 self->attrs[COLOR_nitc__parser_nodes__AAssignFormExpr___n_value].val = var_value; /* _n_value on <self:AAttrAssignExpr> */
1483 {
1484 { /* Inline parser_nodes$ANode$parent= (var_value,self) on <var_value:AExpr> */
1485 var_value->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_value:AExpr> */
1486 RET_LABEL4:(void)0;
1487 }
1488 }
1489 var5 = NEW_nitc__TAssign(&type_nitc__TAssign);
1490 {
1491 { /* Inline kernel$Object$init (var5) on <var5:TAssign> */
1492 RET_LABEL6:(void)0;
1493 }
1494 }
1495 self->attrs[COLOR_nitc__parser_nodes__AAssignFormExpr___n_assign].val = var5; /* _n_assign on <self:AAttrAssignExpr> */
1496 {
1497 { /* Inline typing$AAttrFormExpr$mproperty= (self,var_attribute) on <self:AAttrAssignExpr> */
1498 self->attrs[COLOR_nitc__typing__AAttrFormExpr___mproperty].val = var_attribute; /* _mproperty on <self:AAttrAssignExpr> */
1499 RET_LABEL7:(void)0;
1500 }
1501 }
1502 {
1503 var8 = ((val*(*)(val* self))(var_value->class->vft[COLOR_nitc__typing__AExpr__mtype]))(var_value); /* mtype on <var_value:AExpr>*/
1504 }
1505 {
1506 { /* Inline typing$AExpr$mtype= (self,var8) on <self:AAttrAssignExpr> */
1507 self->attrs[COLOR_nitc__typing__AExpr___mtype].val = var8; /* _mtype on <self:AAttrAssignExpr> */
1508 RET_LABEL9:(void)0;
1509 }
1510 }
1511 RET_LABEL:;
1512 }
1513 /* method astbuilder$AVarExpr$make for (self: AVarExpr, Variable, MType) */
1514 void nitc__astbuilder___AVarExpr___make(val* self, val* p0, val* p1) {
1515 val* var_v /* var v: Variable */;
1516 val* var_mtype /* var mtype: MType */;
1517 val* var /* : TId */;
1518 {
1519 { /* Inline kernel$Object$init (self) on <self:AVarExpr> */
1520 RET_LABEL1:(void)0;
1521 }
1522 }
1523 var_v = p0;
1524 var_mtype = p1;
1525 var = NEW_nitc__TId(&type_nitc__TId);
1526 {
1527 { /* Inline kernel$Object$init (var) on <var:TId> */
1528 RET_LABEL2:(void)0;
1529 }
1530 }
1531 self->attrs[COLOR_nitc__parser_nodes__AVarFormExpr___n_id].val = var; /* _n_id on <self:AVarExpr> */
1532 {
1533 { /* Inline scope$AVarFormExpr$variable= (self,var_v) on <self:AVarExpr> */
1534 self->attrs[COLOR_nitc__scope__AVarFormExpr___variable].val = var_v; /* _variable on <self:AVarExpr> */
1535 RET_LABEL3:(void)0;
1536 }
1537 }
1538 {
1539 { /* Inline typing$AExpr$mtype= (self,var_mtype) on <self:AVarExpr> */
1540 self->attrs[COLOR_nitc__typing__AExpr___mtype].val = var_mtype; /* _mtype on <self:AVarExpr> */
1541 RET_LABEL4:(void)0;
1542 }
1543 }
1544 RET_LABEL:;
1545 }
1546 /* method astbuilder$AVarAssignExpr$make for (self: AVarAssignExpr, Variable, AExpr) */
1547 void nitc__astbuilder___AVarAssignExpr___make(val* self, val* p0, val* p1) {
1548 val* var_v /* var v: Variable */;
1549 val* var_value /* var value: AExpr */;
1550 val* var /* : TId */;
1551 val* var4 /* : TAssign */;
1552 val* var7 /* : nullable MType */;
1553 {
1554 { /* Inline kernel$Object$init (self) on <self:AVarAssignExpr> */
1555 RET_LABEL1:(void)0;
1556 }
1557 }
1558 var_v = p0;
1559 var_value = p1;
1560 var = NEW_nitc__TId(&type_nitc__TId);
1561 {
1562 { /* Inline kernel$Object$init (var) on <var:TId> */
1563 RET_LABEL2:(void)0;
1564 }
1565 }
1566 self->attrs[COLOR_nitc__parser_nodes__AVarFormExpr___n_id].val = var; /* _n_id on <self:AVarAssignExpr> */
1567 self->attrs[COLOR_nitc__parser_nodes__AAssignFormExpr___n_value].val = var_value; /* _n_value on <self:AVarAssignExpr> */
1568 {
1569 { /* Inline parser_nodes$ANode$parent= (var_value,self) on <var_value:AExpr> */
1570 var_value->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_value:AExpr> */
1571 RET_LABEL3:(void)0;
1572 }
1573 }
1574 var4 = NEW_nitc__TAssign(&type_nitc__TAssign);
1575 {
1576 { /* Inline kernel$Object$init (var4) on <var4:TAssign> */
1577 RET_LABEL5:(void)0;
1578 }
1579 }
1580 self->attrs[COLOR_nitc__parser_nodes__AAssignFormExpr___n_assign].val = var4; /* _n_assign on <self:AVarAssignExpr> */
1581 {
1582 { /* Inline scope$AVarFormExpr$variable= (self,var_v) on <self:AVarAssignExpr> */
1583 self->attrs[COLOR_nitc__scope__AVarFormExpr___variable].val = var_v; /* _variable on <self:AVarAssignExpr> */
1584 RET_LABEL6:(void)0;
1585 }
1586 }
1587 {
1588 var7 = ((val*(*)(val* self))(var_value->class->vft[COLOR_nitc__typing__AExpr__mtype]))(var_value); /* mtype on <var_value:AExpr>*/
1589 }
1590 {
1591 { /* Inline typing$AExpr$mtype= (self,var7) on <self:AVarAssignExpr> */
1592 self->attrs[COLOR_nitc__typing__AExpr___mtype].val = var7; /* _mtype on <self:AVarAssignExpr> */
1593 RET_LABEL8:(void)0;
1594 }
1595 }
1596 RET_LABEL:;
1597 }