+if (0) {
+{ /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable ALabel> */
+var_other = var;
+{
+var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on <var_node:nullable ALabel(ALabel)>*/;
+var4 = var5;
+}
+var6 = !var4;
+var2 = var6;
+goto RET_LABEL3;
+RET_LABEL3:(void)0;
+}
+var1 = var2;
+}
+if (var1){
+{
+{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable ALabel(ALabel)> */
+var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable ALabel(ALabel)> */
+RET_LABEL7:(void)0;
+}
+}
+} else {
+}
+RET_LABEL:;
+}
+/* method parser_prod#ADoExpr#n_label= for (self: Object, nullable ALabel) */
+void VIRTUAL_parser_prod__ADoExpr__n_label_61d(val* self, val* p0) {
+parser_prod__ADoExpr__n_label_61d(self, p0); /* Direct call parser_prod#ADoExpr#n_label= on <self:Object(ADoExpr)>*/
+RET_LABEL:;
+}
+/* method parser_prod#ADoExpr#visit_all for (self: ADoExpr, Visitor) */
+void parser_prod__ADoExpr__visit_all(val* self, val* p0) {
+val* var_v /* var v: Visitor */;
+val* var /* : TKwdo */;
+val* var1 /* : nullable AExpr */;
+val* var2 /* : nullable ALabel */;
+var_v = p0;
+var = self->attrs[COLOR_parser_nodes__ADoExpr___n_kwdo].val; /* _n_kwdo on <self:ADoExpr> */
+if (unlikely(var == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo");
+PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2453);
+show_backtrace(1);
+}
+{
+parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+}
+var1 = self->attrs[COLOR_parser_nodes__ADoExpr___n_block].val; /* _n_block on <self:ADoExpr> */
+{
+parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+}
+var2 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:ADoExpr> */
+{
+parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+}
+RET_LABEL:;
+}
+/* method parser_prod#ADoExpr#visit_all for (self: Object, Visitor) */
+void VIRTUAL_parser_prod__ADoExpr__visit_all(val* self, val* p0) {
+parser_prod__ADoExpr__visit_all(self, p0); /* Direct call parser_prod#ADoExpr#visit_all on <self:Object(ADoExpr)>*/
+RET_LABEL:;
+}
+/* method parser_prod#AIfExpr#init_aifexpr for (self: AIfExpr, nullable TKwif, nullable AExpr, nullable AExpr, nullable AExpr) */
+void parser_prod__AIfExpr__init_aifexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
+val* var_n_kwif /* var n_kwif: nullable TKwif */;
+val* var_n_expr /* var n_expr: nullable AExpr */;
+val* var_n_then /* var n_then: nullable AExpr */;
+val* var_n_else /* var n_else: nullable AExpr */;
+val* var /* : null */;
+short int var3 /* : Bool */;
+short int var4 /* : Bool */;
+val* var_other /* var other: nullable Object */;
+short int var6 /* : Bool */;
+short int var7 /* : Bool */;
+short int var8 /* : Bool */;
+val* var10 /* : null */;
+short int var11 /* : Bool */;
+short int var12 /* : Bool */;
+short int var14 /* : Bool */;
+short int var15 /* : Bool */;
+short int var16 /* : Bool */;
+var_n_kwif = p0;
+var_n_expr = p1;
+var_n_then = p2;
+var_n_else = p3;
+if (unlikely(var_n_kwif == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Cast failed");
+PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2466);
+show_backtrace(1);
+}
+self->attrs[COLOR_parser_nodes__AIfExpr___n_kwif].val = var_n_kwif; /* _n_kwif on <self:AIfExpr> */
+if (var_n_kwif == NULL) {
+PRINT_ERROR("Runtime error: %s", "Receiver is null");
+PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2467);
+show_backtrace(1);