Merge: doc: fixed some typos and other misc. corrections
[nit.git] / c_src / nitc__astvalidation.sep.1.c
1 #include "nitc__astvalidation.sep.0.h"
2 /* method astvalidation$ASTValidationVisitor$visit for (self: ASTValidationVisitor, ANode) */
3 void nitc___nitc__ASTValidationVisitor___nitc__parser_nodes__Visitor__visit(val* self, val* p0) {
4 val* var_node /* var node: ANode */;
5 var_node = p0;
6 {
7 ((void(*)(val* self, val* p0))(var_node->class->vft[COLOR_nitc__astvalidation__ANode__accept_ast_validation]))(var_node, self); /* accept_ast_validation on <var_node:ANode>*/
8 }
9 RET_LABEL:;
10 }
11 /* method astvalidation$ASTValidationVisitor$path for (self: ASTValidationVisitor): CircularArray[ANode] */
12 val* nitc___nitc__ASTValidationVisitor___path(val* self) {
13 val* var /* : CircularArray[ANode] */;
14 val* var1 /* : CircularArray[ANode] */;
15 var1 = self->attrs[COLOR_nitc__astvalidation__ASTValidationVisitor___path].val; /* _path on <self:ASTValidationVisitor> */
16 if (unlikely(var1 == NULL)) {
17 if(catchStack.cursor >= 0){
18 longjmp(catchStack.envs[catchStack.cursor], 1);
19 }
20 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path");
21 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astvalidation, 27);
22 fatal_exit(1);
23 }
24 var = var1;
25 RET_LABEL:;
26 return var;
27 }
28 /* method astvalidation$ASTValidationVisitor$seen for (self: ASTValidationVisitor): HashSet[ANode] */
29 val* nitc___nitc__ASTValidationVisitor___seen(val* self) {
30 val* var /* : HashSet[ANode] */;
31 val* var1 /* : HashSet[ANode] */;
32 var1 = self->attrs[COLOR_nitc__astvalidation__ASTValidationVisitor___seen].val; /* _seen on <self:ASTValidationVisitor> */
33 if (unlikely(var1 == NULL)) {
34 if(catchStack.cursor >= 0){
35 longjmp(catchStack.envs[catchStack.cursor], 1);
36 }
37 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _seen");
38 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astvalidation, 28);
39 fatal_exit(1);
40 }
41 var = var1;
42 RET_LABEL:;
43 return var;
44 }
45 /* method astvalidation$ANode$accept_ast_validation for (self: ANode, ASTValidationVisitor) */
46 void nitc__astvalidation___ANode___accept_ast_validation(val* self, val* p0) {
47 val* var_v /* var v: ASTValidationVisitor */;
48 val* var /* : nullable ANode */;
49 val* var2 /* : nullable ANode */;
50 val* var_parent /* var parent: nullable ANode */;
51 val* var3 /* : CircularArray[ANode] */;
52 val* var5 /* : CircularArray[ANode] */;
53 val* var_path /* var path: CircularArray[ANode] */;
54 long var6 /* : Int */;
55 long var8 /* : Int */;
56 short int var9 /* : Bool */;
57 short int var11 /* : Bool */;
58 int cltype;
59 int idtype;
60 const char* var_class_name;
61 short int var12 /* : Bool */;
62 val* var13 /* : CircularArray[ANode] */;
63 val* var15 /* : CircularArray[ANode] */;
64 val* var16 /* : nullable Object */;
65 val* var_path_parent /* var path_parent: ANode */;
66 short int var17 /* : Bool */;
67 short int var18 /* : Bool */;
68 val* var_other /* var other: nullable Object */;
69 short int var20 /* : Bool */;
70 short int var22 /* : Bool */;
71 val* var24 /* : HashSet[ANode] */;
72 val* var26 /* : HashSet[ANode] */;
73 short int var27 /* : Bool */;
74 val* var_other29 /* var other: nullable Object */;
75 short int var30 /* : Bool */;
76 short int var31 /* : Bool */;
77 val* var33 /* : HashSet[ANode] */;
78 val* var35 /* : HashSet[ANode] */;
79 short int var36 /* : Bool */;
80 val* var37 /* : NativeArray[String] */;
81 static val* varonce;
82 static val* varonce38;
83 val* var39 /* : String */;
84 char* var40 /* : CString */;
85 val* var41 /* : String */;
86 val* var42 /* : nullable Int */;
87 val* var43 /* : nullable Int */;
88 val* var44 /* : nullable Bool */;
89 val* var45 /* : nullable Bool */;
90 static val* varonce46;
91 val* var47 /* : String */;
92 char* var48 /* : CString */;
93 val* var49 /* : String */;
94 val* var50 /* : nullable Int */;
95 val* var51 /* : nullable Int */;
96 val* var52 /* : nullable Bool */;
97 val* var53 /* : nullable Bool */;
98 static val* varonce54;
99 val* var55 /* : String */;
100 char* var56 /* : CString */;
101 val* var57 /* : String */;
102 val* var58 /* : nullable Int */;
103 val* var59 /* : nullable Int */;
104 val* var60 /* : nullable Bool */;
105 val* var61 /* : nullable Bool */;
106 val* var62 /* : String */;
107 val* var63 /* : String */;
108 val* var64 /* : String */;
109 val* var65 /* : HashSet[ANode] */;
110 val* var67 /* : HashSet[ANode] */;
111 val* var69 /* : NativeArray[String] */;
112 static val* varonce68;
113 static val* varonce70;
114 val* var71 /* : String */;
115 char* var72 /* : CString */;
116 val* var73 /* : String */;
117 val* var74 /* : nullable Int */;
118 val* var75 /* : nullable Int */;
119 val* var76 /* : nullable Bool */;
120 val* var77 /* : nullable Bool */;
121 static val* varonce78;
122 val* var79 /* : String */;
123 char* var80 /* : CString */;
124 val* var81 /* : String */;
125 val* var82 /* : nullable Int */;
126 val* var83 /* : nullable Int */;
127 val* var84 /* : nullable Bool */;
128 val* var85 /* : nullable Bool */;
129 val* var86 /* : String */;
130 val* var87 /* : String */;
131 val* var88 /* : String */;
132 short int var89 /* : Bool */;
133 short int var90 /* : Bool */;
134 val* var91 /* : nullable ANode */;
135 val* var93 /* : nullable ANode */;
136 val* var94 /* : Location */;
137 val* var96 /* : Location */;
138 val* var97 /* : nullable Object */;
139 var_v = p0;
140 {
141 { /* Inline parser_nodes$ANode$parent (self) on <self:ANode> */
142 var2 = self->attrs[COLOR_nitc__parser_nodes__ANode___parent].val; /* _parent on <self:ANode> */
143 var = var2;
144 RET_LABEL1:(void)0;
145 }
146 }
147 var_parent = var;
148 {
149 { /* Inline astvalidation$ASTValidationVisitor$path (var_v) on <var_v:ASTValidationVisitor> */
150 var5 = var_v->attrs[COLOR_nitc__astvalidation__ASTValidationVisitor___path].val; /* _path on <var_v:ASTValidationVisitor> */
151 if (unlikely(var5 == NULL)) {
152 if(catchStack.cursor >= 0){
153 longjmp(catchStack.envs[catchStack.cursor], 1);
154 }
155 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path");
156 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astvalidation, 27);
157 fatal_exit(1);
158 }
159 var3 = var5;
160 RET_LABEL4:(void)0;
161 }
162 }
163 var_path = var3;
164 {
165 { /* Inline circular_array$CircularArray$length (var_path) on <var_path:CircularArray[ANode]> */
166 var8 = var_path->attrs[COLOR_core__circular_array__CircularArray___length].l; /* _length on <var_path:CircularArray[ANode]> */
167 var6 = var8;
168 RET_LABEL7:(void)0;
169 }
170 }
171 {
172 { /* Inline kernel$Int$> (var6,0l) on <var6:Int> */
173 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
174 /* <0l:Int> isa OTHER */
175 var11 = 1; /* easy <0l:Int> isa OTHER*/
176 if (unlikely(!var11)) {
177 var_class_name = type_core__Int.name;
178 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
179 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727);
180 fatal_exit(1);
181 }
182 var12 = var6 > 0l;
183 var9 = var12;
184 goto RET_LABEL10;
185 RET_LABEL10:(void)0;
186 }
187 }
188 if (var9){
189 {
190 { /* Inline astvalidation$ASTValidationVisitor$path (var_v) on <var_v:ASTValidationVisitor> */
191 var15 = var_v->attrs[COLOR_nitc__astvalidation__ASTValidationVisitor___path].val; /* _path on <var_v:ASTValidationVisitor> */
192 if (unlikely(var15 == NULL)) {
193 if(catchStack.cursor >= 0){
194 longjmp(catchStack.envs[catchStack.cursor], 1);
195 }
196 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path");
197 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astvalidation, 27);
198 fatal_exit(1);
199 }
200 var13 = var15;
201 RET_LABEL14:(void)0;
202 }
203 }
204 {
205 var16 = core___core__SequenceRead___Collection__first(var13);
206 }
207 var_path_parent = var16;
208 if (var_parent == NULL) {
209 var17 = 1; /* is null */
210 } else {
211 var17 = 0; /* arg is null but recv is not */
212 }
213 if (0) {
214 { /* Inline kernel$Object$== (var_parent,((val*)NULL)) on <var_parent:nullable ANode> */
215 var_other = ((val*)NULL);
216 {
217 { /* Inline kernel$Object$is_same_instance (var_parent,var_other) on <var_parent:nullable ANode(ANode)> */
218 var22 = var_parent == var_other;
219 var20 = var22;
220 goto RET_LABEL21;
221 RET_LABEL21:(void)0;
222 }
223 }
224 var18 = var20;
225 goto RET_LABEL19;
226 RET_LABEL19:(void)0;
227 }
228 var17 = var18;
229 }
230 if (var17){
231 {
232 { /* Inline parser_nodes$ANode$parent= (self,var_path_parent) on <self:ANode> */
233 self->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = var_path_parent; /* _parent on <self:ANode> */
234 RET_LABEL23:(void)0;
235 }
236 }
237 {
238 { /* Inline astvalidation$ASTValidationVisitor$seen (var_v) on <var_v:ASTValidationVisitor> */
239 var26 = var_v->attrs[COLOR_nitc__astvalidation__ASTValidationVisitor___seen].val; /* _seen on <var_v:ASTValidationVisitor> */
240 if (unlikely(var26 == NULL)) {
241 if(catchStack.cursor >= 0){
242 longjmp(catchStack.envs[catchStack.cursor], 1);
243 }
244 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _seen");
245 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astvalidation, 28);
246 fatal_exit(1);
247 }
248 var24 = var26;
249 RET_LABEL25:(void)0;
250 }
251 }
252 {
253 core___core__HashSet___core__abstract_collection__SimpleCollection__add(var24, self); /* Direct call hash_collection$HashSet$add on <var24:HashSet[ANode]>*/
254 }
255 } else {
256 {
257 { /* Inline kernel$Object$!= (var_parent,var_path_parent) on <var_parent:nullable ANode(ANode)> */
258 var_other29 = var_path_parent;
259 {
260 var30 = ((short int(*)(val* self, val* p0))(var_parent->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_parent, var_other29); /* == on <var_parent:nullable ANode(ANode)>*/
261 }
262 var31 = !var30;
263 var27 = var31;
264 goto RET_LABEL28;
265 RET_LABEL28:(void)0;
266 }
267 }
268 if (var27){
269 {
270 { /* Inline parser_nodes$ANode$parent= (self,var_path_parent) on <self:ANode> */
271 self->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = var_path_parent; /* _parent on <self:ANode> */
272 RET_LABEL32:(void)0;
273 }
274 }
275 {
276 { /* Inline astvalidation$ASTValidationVisitor$seen (var_v) on <var_v:ASTValidationVisitor> */
277 var35 = var_v->attrs[COLOR_nitc__astvalidation__ASTValidationVisitor___seen].val; /* _seen on <var_v:ASTValidationVisitor> */
278 if (unlikely(var35 == NULL)) {
279 if(catchStack.cursor >= 0){
280 longjmp(catchStack.envs[catchStack.cursor], 1);
281 }
282 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _seen");
283 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astvalidation, 28);
284 fatal_exit(1);
285 }
286 var33 = var35;
287 RET_LABEL34:(void)0;
288 }
289 }
290 {
291 var36 = core___core__HashSet___core__abstract_collection__Collection__has(var33, self);
292 }
293 if (var36){
294 if (unlikely(varonce==NULL)) {
295 var37 = NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String);
296 if (likely(varonce38!=NULL)) {
297 var39 = varonce38;
298 } else {
299 var40 = "DUPLICATE (NOTATREE): already seen node with parent ";
300 var42 = (val*)(52l<<2|1);
301 var43 = (val*)(52l<<2|1);
302 var44 = (val*)((long)(0)<<2|3);
303 var45 = (val*)((long)(0)<<2|3);
304 var41 = core__flat___CString___to_s_unsafe(var40, var42, var43, var44, var45);
305 var39 = var41;
306 varonce38 = var39;
307 }
308 ((struct instance_core__NativeArray*)var37)->values[0]=var39;
309 if (likely(varonce46!=NULL)) {
310 var47 = varonce46;
311 } else {
312 var48 = " now with ";
313 var50 = (val*)(10l<<2|1);
314 var51 = (val*)(10l<<2|1);
315 var52 = (val*)((long)(0)<<2|3);
316 var53 = (val*)((long)(0)<<2|3);
317 var49 = core__flat___CString___to_s_unsafe(var48, var50, var51, var52, var53);
318 var47 = var49;
319 varonce46 = var47;
320 }
321 ((struct instance_core__NativeArray*)var37)->values[2]=var47;
322 if (likely(varonce54!=NULL)) {
323 var55 = varonce54;
324 } else {
325 var56 = ".";
326 var58 = (val*)(1l<<2|1);
327 var59 = (val*)(1l<<2|1);
328 var60 = (val*)((long)(0)<<2|3);
329 var61 = (val*)((long)(0)<<2|3);
330 var57 = core__flat___CString___to_s_unsafe(var56, var58, var59, var60, var61);
331 var55 = var57;
332 varonce54 = var55;
333 }
334 ((struct instance_core__NativeArray*)var37)->values[4]=var55;
335 } else {
336 var37 = varonce;
337 varonce = NULL;
338 }
339 {
340 var62 = ((val*(*)(val* self))(var_parent->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_parent); /* to_s on <var_parent:nullable ANode(ANode)>*/
341 }
342 ((struct instance_core__NativeArray*)var37)->values[1]=var62;
343 {
344 var63 = ((val*(*)(val* self))(var_path_parent->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_path_parent); /* to_s on <var_path_parent:ANode>*/
345 }
346 ((struct instance_core__NativeArray*)var37)->values[3]=var63;
347 {
348 var64 = ((val*(*)(val* self))(var37->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var37); /* native_to_s on <var37:NativeArray[String]>*/
349 }
350 varonce = var37;
351 {
352 nitc___nitc__ANode___debug(self, var64); /* Direct call parser_nodes$ANode$debug on <self:ANode>*/
353 }
354 } else {
355 {
356 { /* Inline astvalidation$ASTValidationVisitor$seen (var_v) on <var_v:ASTValidationVisitor> */
357 var67 = var_v->attrs[COLOR_nitc__astvalidation__ASTValidationVisitor___seen].val; /* _seen on <var_v:ASTValidationVisitor> */
358 if (unlikely(var67 == NULL)) {
359 if(catchStack.cursor >= 0){
360 longjmp(catchStack.envs[catchStack.cursor], 1);
361 }
362 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _seen");
363 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astvalidation, 28);
364 fatal_exit(1);
365 }
366 var65 = var67;
367 RET_LABEL66:(void)0;
368 }
369 }
370 {
371 core___core__HashSet___core__abstract_collection__SimpleCollection__add(var65, self); /* Direct call hash_collection$HashSet$add on <var65:HashSet[ANode]>*/
372 }
373 if (unlikely(varonce68==NULL)) {
374 var69 = NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String);
375 if (likely(varonce70!=NULL)) {
376 var71 = varonce70;
377 } else {
378 var72 = "PARENT: expected parent: ";
379 var74 = (val*)(25l<<2|1);
380 var75 = (val*)(25l<<2|1);
381 var76 = (val*)((long)(0)<<2|3);
382 var77 = (val*)((long)(0)<<2|3);
383 var73 = core__flat___CString___to_s_unsafe(var72, var74, var75, var76, var77);
384 var71 = var73;
385 varonce70 = var71;
386 }
387 ((struct instance_core__NativeArray*)var69)->values[0]=var71;
388 if (likely(varonce78!=NULL)) {
389 var79 = varonce78;
390 } else {
391 var80 = ", got ";
392 var82 = (val*)(6l<<2|1);
393 var83 = (val*)(6l<<2|1);
394 var84 = (val*)((long)(0)<<2|3);
395 var85 = (val*)((long)(0)<<2|3);
396 var81 = core__flat___CString___to_s_unsafe(var80, var82, var83, var84, var85);
397 var79 = var81;
398 varonce78 = var79;
399 }
400 ((struct instance_core__NativeArray*)var69)->values[2]=var79;
401 } else {
402 var69 = varonce68;
403 varonce68 = NULL;
404 }
405 {
406 var86 = ((val*(*)(val* self))(var_path_parent->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_path_parent); /* to_s on <var_path_parent:ANode>*/
407 }
408 ((struct instance_core__NativeArray*)var69)->values[1]=var86;
409 {
410 var87 = ((val*(*)(val* self))(var_parent->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_parent); /* to_s on <var_parent:nullable ANode(ANode)>*/
411 }
412 ((struct instance_core__NativeArray*)var69)->values[3]=var87;
413 {
414 var88 = ((val*(*)(val* self))(var69->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var69); /* native_to_s on <var69:NativeArray[String]>*/
415 }
416 varonce68 = var69;
417 {
418 nitc___nitc__ANode___debug(self, var88); /* Direct call parser_nodes$ANode$debug on <self:ANode>*/
419 }
420 }
421 } else {
422 }
423 }
424 } else {
425 }
426 var89 = self->attrs[COLOR_nitc__parser_nodes__ANode___location].val != NULL; /* _location on <self:ANode> */
427 var90 = !var89;
428 if (var90){
429 {
430 { /* Inline parser_nodes$ANode$parent (self) on <self:ANode> */
431 var93 = self->attrs[COLOR_nitc__parser_nodes__ANode___parent].val; /* _parent on <self:ANode> */
432 var91 = var93;
433 RET_LABEL92:(void)0;
434 }
435 }
436 if (var91 == NULL) {
437 if(catchStack.cursor >= 0){
438 longjmp(catchStack.envs[catchStack.cursor], 1);
439 }
440 PRINT_ERROR("Runtime error: %s", "Receiver is null");
441 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astvalidation, 68);
442 fatal_exit(1);
443 } else {
444 { /* Inline parser_nodes$ANode$location (var91) on <var91:nullable ANode> */
445 if (unlikely(var91 == NULL)) {
446 if(catchStack.cursor >= 0){
447 longjmp(catchStack.envs[catchStack.cursor], 1);
448 }
449 PRINT_ERROR("Runtime error: %s", "Receiver is null");
450 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 25);
451 fatal_exit(1);
452 }
453 var96 = var91->attrs[COLOR_nitc__parser_nodes__ANode___location].val; /* _location on <var91:nullable ANode> */
454 if (unlikely(var96 == NULL)) {
455 if(catchStack.cursor >= 0){
456 longjmp(catchStack.envs[catchStack.cursor], 1);
457 }
458 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
459 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 25);
460 fatal_exit(1);
461 }
462 var94 = var96;
463 RET_LABEL95:(void)0;
464 }
465 }
466 self->attrs[COLOR_nitc__parser_nodes__ANode___location].val = var94; /* _location on <self:ANode> */
467 } else {
468 }
469 {
470 core___core__CircularArray___core__abstract_collection__Sequence__unshift(var_path, self); /* Direct call circular_array$CircularArray$unshift on <var_path:CircularArray[ANode]>*/
471 }
472 {
473 ((void(*)(val* self, val* p0))(self->class->vft[COLOR_nitc__parser_nodes__ANode__visit_all]))(self, var_v); /* visit_all on <self:ANode>*/
474 }
475 {
476 var97 = core___core__CircularArray___core__abstract_collection__Sequence__shift(var_path);
477 }
478 RET_LABEL:;
479 }
480 /* method astvalidation$AAnnotation$accept_ast_validation for (self: AAnnotation, ASTValidationVisitor) */
481 void nitc__astvalidation___AAnnotation___ANode__accept_ast_validation(val* self, val* p0) {
482 val* var_v /* var v: ASTValidationVisitor */;
483 var_v = p0;
484 RET_LABEL:;
485 }
486 /* method astvalidation$AExpr$accept_ast_validation for (self: AExpr, ASTValidationVisitor) */
487 void nitc__astvalidation___AExpr___ANode__accept_ast_validation(val* self, val* p0) {
488 val* var_v /* var v: ASTValidationVisitor */;
489 short int var /* : Bool */;
490 val* var1 /* : nullable MType */;
491 short int var2 /* : Bool */;
492 short int var3 /* : Bool */;
493 val* var_other /* var other: nullable Object */;
494 short int var5 /* : Bool */;
495 short int var7 /* : Bool */;
496 short int var_ /* var : Bool */;
497 short int var8 /* : Bool */;
498 short int var10 /* : Bool */;
499 short int var11 /* : Bool */;
500 var_v = p0;
501 {
502 ((void(*)(val* self, val* p0))(self->class->vft[COLOR_nitc__astvalidation___AExpr___ANode__accept_ast_validation]))(self, p0); /* accept_ast_validation on <self:AExpr>*/
503 }
504 {
505 var1 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__typing__AExpr__mtype]))(self); /* mtype on <self:AExpr>*/
506 }
507 if (var1 == NULL) {
508 var2 = 1; /* is null */
509 } else {
510 var2 = 0; /* arg is null but recv is not */
511 }
512 if (0) {
513 { /* Inline kernel$Object$== (var1,((val*)NULL)) on <var1:nullable MType> */
514 var_other = ((val*)NULL);
515 {
516 { /* Inline kernel$Object$is_same_instance (var1,var_other) on <var1:nullable MType(MType)> */
517 var7 = var1 == var_other;
518 var5 = var7;
519 goto RET_LABEL6;
520 RET_LABEL6:(void)0;
521 }
522 }
523 var3 = var5;
524 goto RET_LABEL4;
525 RET_LABEL4:(void)0;
526 }
527 var2 = var3;
528 }
529 var_ = var2;
530 if (var2){
531 {
532 { /* Inline typing$AExpr$is_typed (self) on <self:AExpr> */
533 var10 = self->attrs[COLOR_nitc__typing__AExpr___is_typed].s; /* _is_typed on <self:AExpr> */
534 var8 = var10;
535 RET_LABEL9:(void)0;
536 }
537 }
538 var11 = !var8;
539 var = var11;
540 } else {
541 var = var_;
542 }
543 if (var){
544 } else {
545 }
546 RET_LABEL:;
547 }
548 /* method astvalidation$APlaceholderExpr$accept_ast_validation for (self: APlaceholderExpr, ASTValidationVisitor) */
549 void nitc__astvalidation___APlaceholderExpr___ANode__accept_ast_validation(val* self, val* p0) {
550 val* var_v /* var v: ASTValidationVisitor */;
551 static val* varonce;
552 val* var /* : String */;
553 char* var1 /* : CString */;
554 val* var2 /* : String */;
555 val* var3 /* : nullable Int */;
556 val* var4 /* : nullable Int */;
557 val* var5 /* : nullable Bool */;
558 val* var6 /* : nullable Bool */;
559 var_v = p0;
560 {
561 ((void(*)(val* self, val* p0))(self->class->vft[COLOR_nitc__astvalidation___APlaceholderExpr___ANode__accept_ast_validation]))(self, p0); /* accept_ast_validation on <self:APlaceholderExpr>*/
562 }
563 if (likely(varonce!=NULL)) {
564 var = varonce;
565 } else {
566 var1 = "PARENT: remaining placeholder";
567 var3 = (val*)(29l<<2|1);
568 var4 = (val*)(29l<<2|1);
569 var5 = (val*)((long)(0)<<2|3);
570 var6 = (val*)((long)(0)<<2|3);
571 var2 = core__flat___CString___to_s_unsafe(var1, var3, var4, var5, var6);
572 var = var2;
573 varonce = var;
574 }
575 {
576 nitc___nitc__ANode___debug(self, var); /* Direct call parser_nodes$ANode$debug on <self:APlaceholderExpr>*/
577 }
578 RET_LABEL:;
579 }