X-Git-Url: http://nitlanguage.org diff --git a/c_src/nit__flow.sep.1.c b/c_src/nit__flow.sep.1.c index e561cf8..5aac71c 100644 --- a/c_src/nit__flow.sep.1.c +++ b/c_src/nit__flow.sep.1.c @@ -7,7 +7,7 @@ var1 = self->attrs[COLOR_nit__flow__ToolContext___flow_phase].val; /* _flow_phas if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _flow_phase"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 23); -show_backtrace(1); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -24,8 +24,8 @@ var_npropdef = p0; var2 = self->attrs[COLOR_nit__phase__Phase___toolcontext].val; /* _toolcontext on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 201); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 200); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -44,7 +44,7 @@ var1 = self->attrs[COLOR_nit__flow__FlowVisitor___current_flow_context].val; /* if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 37); -show_backtrace(1); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -63,7 +63,7 @@ var1 = self->attrs[COLOR_nit__flow__FlowVisitor___toolcontext].val; /* _toolcont if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 39); -show_backtrace(1); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -82,9 +82,8 @@ val* var3 /* : FlowContext */; val* var5 /* : FlowContext */; val* var6 /* : FlowContext */; val* var8 /* : FlowContext */; -short int var9 /* : Bool */; { -((void (*)(val* self))(self->class->vft[COLOR_nit__flow___nit__flow__FlowVisitor___standard__kernel__Object__init]))(self) /* init on */; +((void(*)(val* self))(self->class->vft[COLOR_nit__flow___nit__flow__FlowVisitor___standard__kernel__Object__init]))(self); /* init on */ } { { /* Inline flow#FlowVisitor#flows (self) on */ @@ -92,7 +91,7 @@ var2 = self->attrs[COLOR_nit__flow__FlowVisitor___flows].val; /* _flows on attrs[COLOR_nit__flow__FlowVisitor___current_flow_context].val; /* if (unlikely(var5 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 37); -show_backtrace(1); +fatal_exit(1); } var3 = var5; RET_LABEL4:(void)0; @@ -119,17 +118,16 @@ var8 = self->attrs[COLOR_nit__flow__FlowVisitor___current_flow_context].val; /* if (unlikely(var8 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 37); -show_backtrace(1); +fatal_exit(1); } var6 = var8; RET_LABEL7:(void)0; } } -var9 = 1; { -{ /* Inline flow#FlowContext#is_start= (var6,var9) on */ -var6->attrs[COLOR_nit__flow__FlowContext___is_start].s = var9; /* _is_start on */ -RET_LABEL10:(void)0; +{ /* Inline flow#FlowContext#is_start= (var6,1) on */ +var6->attrs[COLOR_nit__flow__FlowContext___is_start].s = 1; /* _is_start on */ +RET_LABEL9:(void)0; } } RET_LABEL:; @@ -153,56 +151,53 @@ void nit__flow___nit__flow__FlowVisitor___nit__parser_nodes__Visitor__visit(val* val* var_node /* var node: ANode */; val* var /* : nullable ANode */; val* var2 /* : nullable ANode */; -val* var3 /* : null */; +short int var3 /* : Bool */; short int var4 /* : Bool */; -short int var5 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var7 /* : Bool */; -short int var9 /* : Bool */; -val* var11 /* : FlowContext */; -val* var13 /* : FlowContext */; -val* var14 /* : nullable ANode */; -val* var16 /* : nullable ANode */; -val* var17 /* : null */; -short int var18 /* : Bool */; +short int var6 /* : Bool */; +short int var8 /* : Bool */; +val* var10 /* : FlowContext */; +val* var12 /* : FlowContext */; +val* var13 /* : nullable ANode */; +val* var15 /* : nullable ANode */; +short int var16 /* : Bool */; +short int var17 /* : Bool */; short int var19 /* : Bool */; short int var21 /* : Bool */; -short int var23 /* : Bool */; +val* var22 /* : FlowContext */; val* var24 /* : FlowContext */; -val* var26 /* : FlowContext */; -short int var28 /* : Bool */; +short int var26 /* : Bool */; int cltype; int idtype; +val* var27 /* : FlowContext */; val* var29 /* : FlowContext */; -val* var31 /* : FlowContext */; val* var_flow /* var flow: FlowContext */; -short int var33 /* : Bool */; +short int var31 /* : Bool */; +val* var32 /* : FlowContext */; val* var34 /* : FlowContext */; -val* var36 /* : FlowContext */; -short int var37 /* : Bool */; -val* var_other39 /* var other: nullable Object */; -short int var40 /* : Bool */; -short int var41 /* : Bool */; +short int var35 /* : Bool */; +val* var_other37 /* var other: nullable Object */; +short int var38 /* : Bool */; +short int var39 /* : Bool */; short int var_ /* var : Bool */; +val* var40 /* : FlowContext */; val* var42 /* : FlowContext */; -val* var44 /* : FlowContext */; +short int var43 /* : Bool */; short int var45 /* : Bool */; -short int var47 /* : Bool */; -short int var48 /* : Bool */; -val* var49 /* : FlowContext */; +short int var46 /* : Bool */; +val* var47 /* : FlowContext */; +val* var48 /* : FlowContext */; val* var50 /* : FlowContext */; -val* var52 /* : FlowContext */; static val* varonce; -val* var53 /* : String */; -char* var54 /* : NativeString */; -long var55 /* : Int */; -val* var56 /* : FlatString */; -val* var58 /* : nullable ANode */; -val* var60 /* : nullable ANode */; +val* var51 /* : String */; +char* var52 /* : NativeString */; +val* var53 /* : FlatString */; +val* var55 /* : nullable ANode */; +val* var57 /* : nullable ANode */; +short int var58 /* : Bool */; +short int var59 /* : Bool */; short int var61 /* : Bool */; -short int var62 /* : Bool */; -short int var64 /* : Bool */; -short int var66 /* : Bool */; +short int var63 /* : Bool */; var_node = p0; { { /* Inline flow#FlowVisitor#first (self) on */ @@ -211,215 +206,212 @@ var = var2; RET_LABEL1:(void)0; } } -var3 = NULL; if (var == NULL) { -var4 = 1; /* is null */ +var3 = 1; /* is null */ } else { -var4 = 0; /* arg is null but recv is not */ +var3 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var,var3) on */ -var_other = var3; +{ /* Inline kernel#Object#== (var,((val*)NULL)) on */ +var_other = ((val*)NULL); { { /* Inline kernel#Object#is_same_instance (var,var_other) on */ -var9 = var == var_other; -var7 = var9; -goto RET_LABEL8; -RET_LABEL8:(void)0; +var8 = var == var_other; +var6 = var8; +goto RET_LABEL7; +RET_LABEL7:(void)0; } } -var5 = var7; -goto RET_LABEL6; -RET_LABEL6:(void)0; +var4 = var6; +goto RET_LABEL5; +RET_LABEL5:(void)0; } -var4 = var5; +var3 = var4; } -if (var4){ +if (var3){ { { /* Inline flow#FlowVisitor#first= (self,var_node) on */ self->attrs[COLOR_nit__flow__FlowVisitor___first].val = var_node; /* _first on */ -RET_LABEL10:(void)0; +RET_LABEL9:(void)0; } } } else { } { { /* Inline flow#FlowVisitor#current_flow_context (self) on */ -var13 = self->attrs[COLOR_nit__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ -if (unlikely(var13 == NULL)) { +var12 = self->attrs[COLOR_nit__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ +if (unlikely(var12 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 37); -show_backtrace(1); +fatal_exit(1); } -var11 = var13; -RET_LABEL12:(void)0; +var10 = var12; +RET_LABEL11:(void)0; } } { -{ /* Inline flow#FlowContext#node (var11) on */ -var16 = var11->attrs[COLOR_nit__flow__FlowContext___node].val; /* _node on */ -var14 = var16; -RET_LABEL15:(void)0; +{ /* Inline flow#FlowContext#node (var10) on */ +var15 = var10->attrs[COLOR_nit__flow__FlowContext___node].val; /* _node on */ +var13 = var15; +RET_LABEL14:(void)0; } } -var17 = NULL; -if (var14 == NULL) { -var18 = 1; /* is null */ +if (var13 == NULL) { +var16 = 1; /* is null */ } else { -var18 = 0; /* arg is null but recv is not */ +var16 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var14,var17) on */ -var_other = var17; +{ /* Inline kernel#Object#== (var13,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var14,var_other) on */ -var23 = var14 == var_other; -var21 = var23; -goto RET_LABEL22; -RET_LABEL22:(void)0; -} -} +{ /* Inline kernel#Object#is_same_instance (var13,var_other) on */ +var21 = var13 == var_other; var19 = var21; goto RET_LABEL20; RET_LABEL20:(void)0; } -var18 = var19; } -if (var18){ +var17 = var19; +goto RET_LABEL18; +RET_LABEL18:(void)0; +} +var16 = var17; +} +if (var16){ { { /* Inline flow#FlowVisitor#current_flow_context (self) on */ -var26 = self->attrs[COLOR_nit__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ -if (unlikely(var26 == NULL)) { +var24 = self->attrs[COLOR_nit__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ +if (unlikely(var24 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 37); -show_backtrace(1); +fatal_exit(1); } -var24 = var26; -RET_LABEL25:(void)0; +var22 = var24; +RET_LABEL23:(void)0; } } { -{ /* Inline flow#FlowContext#node= (var24,var_node) on */ -var24->attrs[COLOR_nit__flow__FlowContext___node].val = var_node; /* _node on */ -RET_LABEL27:(void)0; +{ /* Inline flow#FlowContext#node= (var22,var_node) on */ +var22->attrs[COLOR_nit__flow__FlowContext___node].val = var_node; /* _node on */ +RET_LABEL25:(void)0; } } } else { } { -((void (*)(val* self, val* p0))(var_node->class->vft[COLOR_nit__flow__ANode__accept_flow_visitor]))(var_node, self) /* accept_flow_visitor on */; +((void(*)(val* self, val* p0))(var_node->class->vft[COLOR_nit__flow__ANode__accept_flow_visitor]))(var_node, self); /* accept_flow_visitor on */ } /* isa AExpr */ cltype = type_nit__AExpr.color; idtype = type_nit__AExpr.id; if(cltype >= var_node->type->table_size) { -var28 = 0; +var26 = 0; } else { -var28 = var_node->type->type_table[cltype] == idtype; +var26 = var_node->type->type_table[cltype] == idtype; } -if (var28){ +if (var26){ { { /* Inline flow#FlowVisitor#current_flow_context (self) on */ -var31 = self->attrs[COLOR_nit__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ -if (unlikely(var31 == NULL)) { +var29 = self->attrs[COLOR_nit__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ +if (unlikely(var29 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 37); -show_backtrace(1); +fatal_exit(1); } -var29 = var31; -RET_LABEL30:(void)0; +var27 = var29; +RET_LABEL28:(void)0; } } -var_flow = var29; +var_flow = var27; { { /* Inline flow#AExpr#after_flow_context= (var_node,var_flow) on */ var_node->attrs[COLOR_nit__flow__AExpr___after_flow_context].val = var_flow; /* _after_flow_context on */ -RET_LABEL32:(void)0; +RET_LABEL30:(void)0; } } { { /* Inline flow#FlowContext#when_true (var_flow) on */ -var36 = var_flow->attrs[COLOR_nit__flow__FlowContext___when_true].val; /* _when_true on */ -if (unlikely(var36 == NULL)) { +var34 = var_flow->attrs[COLOR_nit__flow__FlowContext___when_true].val; /* _when_true on */ +if (unlikely(var34 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_true"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 224); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 225); +fatal_exit(1); } -var34 = var36; -RET_LABEL35:(void)0; +var32 = var34; +RET_LABEL33:(void)0; } } { -{ /* Inline kernel#Object#!= (var34,var_flow) on */ -var_other39 = var_flow; +{ /* Inline kernel#Object#!= (var32,var_flow) on */ +var_other37 = var_flow; { -var40 = ((short int (*)(val* self, val* p0))(var34->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var34, var_other39) /* == on */; +var38 = ((short int(*)(val* self, val* p0))(var32->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var32, var_other37); /* == on */ } -var41 = !var40; -var37 = var41; -goto RET_LABEL38; -RET_LABEL38:(void)0; +var39 = !var38; +var35 = var39; +goto RET_LABEL36; +RET_LABEL36:(void)0; } } -var_ = var37; -if (var37){ -var33 = var_; +var_ = var35; +if (var35){ +var31 = var_; } else { { { /* Inline flow#FlowContext#when_false (var_flow) on */ -var44 = var_flow->attrs[COLOR_nit__flow__FlowContext___when_false].val; /* _when_false on */ -if (unlikely(var44 == NULL)) { +var42 = var_flow->attrs[COLOR_nit__flow__FlowContext___when_false].val; /* _when_false on */ +if (unlikely(var42 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_false"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 227); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 228); +fatal_exit(1); } -var42 = var44; -RET_LABEL43:(void)0; +var40 = var42; +RET_LABEL41:(void)0; } } { -{ /* Inline kernel#Object#!= (var42,var_flow) on */ -var_other39 = var_flow; +{ /* Inline kernel#Object#!= (var40,var_flow) on */ +var_other37 = var_flow; { -var47 = ((short int (*)(val* self, val* p0))(var42->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var42, var_other39) /* == on */; +var45 = ((short int(*)(val* self, val* p0))(var40->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var40, var_other37); /* == on */ } -var48 = !var47; -var45 = var48; -goto RET_LABEL46; -RET_LABEL46:(void)0; +var46 = !var45; +var43 = var46; +goto RET_LABEL44; +RET_LABEL44:(void)0; } } -var33 = var45; +var31 = var43; } -if (var33){ +if (var31){ { -var49 = nit__flow___nit__flow__FlowVisitor___make_sub_flow(self); +var47 = nit__flow___nit__flow__FlowVisitor___make_sub_flow(self); } { { /* Inline flow#FlowVisitor#current_flow_context (self) on */ -var52 = self->attrs[COLOR_nit__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ -if (unlikely(var52 == NULL)) { +var50 = self->attrs[COLOR_nit__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ +if (unlikely(var50 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 37); -show_backtrace(1); +fatal_exit(1); } -var50 = var52; -RET_LABEL51:(void)0; +var48 = var50; +RET_LABEL49:(void)0; } } -if (varonce) { -var53 = varonce; +if (likely(varonce!=NULL)) { +var51 = varonce; } else { -var54 = "AUTOSUB"; -var55 = 7; -var56 = standard___standard__NativeString___to_s_with_length(var54, var55); -var53 = var56; -varonce = var53; +var52 = "AUTOSUB"; +var53 = standard___standard__NativeString___to_s_with_length(var52, 7l); +var51 = var53; +varonce = var51; } { -{ /* Inline flow#FlowContext#name= (var50,var53) on */ -var50->attrs[COLOR_nit__flow__FlowContext___name].val = var53; /* _name on */ -RET_LABEL57:(void)0; +{ /* Inline flow#FlowContext#name= (var48,var51) on */ +var48->attrs[COLOR_nit__flow__FlowContext___name].val = var51; /* _name on */ +RET_LABEL54:(void)0; } } } else { @@ -428,31 +420,31 @@ RET_LABEL57:(void)0; } { { /* Inline flow#FlowVisitor#first (self) on */ -var60 = self->attrs[COLOR_nit__flow__FlowVisitor___first].val; /* _first on */ -var58 = var60; -RET_LABEL59:(void)0; +var57 = self->attrs[COLOR_nit__flow__FlowVisitor___first].val; /* _first on */ +var55 = var57; +RET_LABEL56:(void)0; } } -if (var58 == NULL) { -var61 = 0; /* cannot be null */ +if (var55 == NULL) { +var58 = 0; /* cannot be null */ } else { -{ /* Inline kernel#Object#== (var58,var_node) on */ +{ /* Inline kernel#Object#== (var55,var_node) on */ var_other = var_node; { -{ /* Inline kernel#Object#is_same_instance (var58,var_other) on */ -var66 = var58 == var_other; -var64 = var66; -goto RET_LABEL65; -RET_LABEL65:(void)0; +{ /* Inline kernel#Object#is_same_instance (var55,var_other) on */ +var63 = var55 == var_other; +var61 = var63; +goto RET_LABEL62; +RET_LABEL62:(void)0; } } -var62 = var64; -goto RET_LABEL63; -RET_LABEL63:(void)0; +var59 = var61; +goto RET_LABEL60; +RET_LABEL60:(void)0; } -var61 = var62; +var58 = var59; } -if (var61){ +if (var58){ } else { } RET_LABEL:; @@ -477,7 +469,7 @@ RET_LABEL2:(void)0; if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 73); -show_backtrace(1); +fatal_exit(1); } var = var1; goto RET_LABEL; @@ -492,7 +484,7 @@ var1 = self->attrs[COLOR_nit__flow__FlowVisitor___flows].val; /* _flows on attrs[COLOR_nit__flow__FlowVisitor___flows].val; /* _flows on attrs[COLOR_nit__flow__FlowVisitor___current_flow_context].val; /* if (unlikely(var12 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 37); -show_backtrace(1); +fatal_exit(1); } var10 = var12; RET_LABEL11:(void)0; @@ -596,7 +588,7 @@ var5 = self->attrs[COLOR_nit__flow__FlowVisitor___flows].val; /* _flows on attrs[COLOR_nit__flow__FlowVisitor___flows].val; /* _flows on */ var3 = self->attrs[COLOR_nit__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 37); -show_backtrace(1); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; @@ -767,7 +757,7 @@ var8 = self->attrs[COLOR_nit__flow__FlowVisitor___flows].val; /* _flows on */ } -if (varonce) { +if (likely(varonce!=NULL)) { var13 = varonce; } else { var14 = "TRUE"; -var15 = 4; -var16 = standard___standard__NativeString___to_s_with_length(var14, var15); -var13 = var16; +var15 = standard___standard__NativeString___to_s_with_length(var14, 4l); +var13 = var15; varonce = var13; } { { /* Inline flow#FlowContext#name= (var_true_flow,var13) on */ var_true_flow->attrs[COLOR_nit__flow__FlowContext___name].val = var13; /* _name on */ -RET_LABEL17:(void)0; +RET_LABEL16:(void)0; } } -var18 = NEW_nit__FlowContext(&type_nit__FlowContext); +var17 = NEW_nit__FlowContext(&type_nit__FlowContext); { -{ /* Inline kernel#Object#init (var18) on */ -RET_LABEL19:(void)0; +{ /* Inline kernel#Object#init (var17) on */ +RET_LABEL18:(void)0; } } -var_false_flow = var18; +var_false_flow = var17; { { /* Inline flow#FlowVisitor#flows (self) on */ -var22 = self->attrs[COLOR_nit__flow__FlowVisitor___flows].val; /* _flows on */ -if (unlikely(var22 == NULL)) { +var21 = self->attrs[COLOR_nit__flow__FlowVisitor___flows].val; /* _flows on */ +if (unlikely(var21 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _flows"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 76); -show_backtrace(1); +fatal_exit(1); } -var20 = var22; -RET_LABEL21:(void)0; +var19 = var21; +RET_LABEL20:(void)0; } } { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var20, var_false_flow); /* Direct call array#Array#add on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var19, var_false_flow); /* Direct call array#Array#add on */ } { { /* Inline parser_nodes#Visitor#current_node (self) on */ -var25 = self->attrs[COLOR_nit__parser_nodes__Visitor___current_node].val; /* _current_node on */ -var23 = var25; -RET_LABEL24:(void)0; +var24 = self->attrs[COLOR_nit__parser_nodes__Visitor___current_node].val; /* _current_node on */ +var22 = var24; +RET_LABEL23:(void)0; } } { -{ /* Inline flow#FlowContext#node= (var_false_flow,var23) on */ -var_false_flow->attrs[COLOR_nit__flow__FlowContext___node].val = var23; /* _node on */ -RET_LABEL26:(void)0; +{ /* Inline flow#FlowContext#node= (var_false_flow,var22) on */ +var_false_flow->attrs[COLOR_nit__flow__FlowContext___node].val = var22; /* _node on */ +RET_LABEL25:(void)0; } } { nit___nit__FlowContext___add_previous(var_false_flow, var_orig_flow); /* Direct call flow#FlowContext#add_previous on */ } -if (varonce27) { -var28 = varonce27; +if (likely(varonce26!=NULL)) { +var27 = varonce26; } else { -var29 = "FALSE"; -var30 = 5; -var31 = standard___standard__NativeString___to_s_with_length(var29, var30); -var28 = var31; -varonce27 = var28; +var28 = "FALSE"; +var29 = standard___standard__NativeString___to_s_with_length(var28, 5l); +var27 = var29; +varonce26 = var27; } { -{ /* Inline flow#FlowContext#name= (var_false_flow,var28) on */ -var_false_flow->attrs[COLOR_nit__flow__FlowContext___name].val = var28; /* _name on */ -RET_LABEL32:(void)0; +{ /* Inline flow#FlowContext#name= (var_false_flow,var27) on */ +var_false_flow->attrs[COLOR_nit__flow__FlowContext___name].val = var27; /* _name on */ +RET_LABEL30:(void)0; } } { -var33 = nit__flow___nit__flow__FlowVisitor___make_true_false_flow(self, var_true_flow, var_false_flow); +var31 = nit__flow___nit__flow__FlowVisitor___make_true_false_flow(self, var_true_flow, var_false_flow); } -var = var33; +var = var31; goto RET_LABEL; RET_LABEL:; return var; @@ -879,7 +867,6 @@ val* var6 /* : nullable ANode */; val* var8 /* : nullable ANode */; val* var10 /* : FlowContext */; val* var12 /* : FlowContext */; -short int var13 /* : Bool */; var1 = NEW_nit__FlowContext(&type_nit__FlowContext); { { /* Inline kernel#Object#init (var1) on */ @@ -893,7 +880,7 @@ var5 = self->attrs[COLOR_nit__flow__FlowVisitor___flows].val; /* _flows on attrs[COLOR_nit__flow__FlowVisitor___current_flow_context].val; /* if (unlikely(var12 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 37); -show_backtrace(1); +fatal_exit(1); } var10 = var12; RET_LABEL11:(void)0; @@ -930,17 +917,16 @@ RET_LABEL11:(void)0; { nit___nit__FlowContext___add_previous(var_flow, var10); /* Direct call flow#FlowContext#add_previous on */ } -var13 = 1; { -{ /* Inline flow#FlowContext#is_marked_unreachable= (var_flow,var13) on */ -var_flow->attrs[COLOR_nit__flow__FlowContext___is_marked_unreachable].s = var13; /* _is_marked_unreachable on */ -RET_LABEL14:(void)0; +{ /* Inline flow#FlowContext#is_marked_unreachable= (var_flow,1) on */ +var_flow->attrs[COLOR_nit__flow__FlowContext___is_marked_unreachable].s = 1; /* _is_marked_unreachable on */ +RET_LABEL13:(void)0; } } { { /* Inline flow#FlowVisitor#current_flow_context= (self,var_flow) on */ self->attrs[COLOR_nit__flow__FlowVisitor___current_flow_context].val = var_flow; /* _current_flow_context on */ -RET_LABEL15:(void)0; +RET_LABEL14:(void)0; } } var = var_flow; @@ -952,110 +938,106 @@ return var; void nit__flow___nit__flow__FlowVisitor___merge_continues_to(val* self, val* p0, val* p1) { val* var_before_loop /* var before_loop: FlowContext */; val* var_escapemark /* var escapemark: nullable EscapeMark */; -val* var /* : null */; +short int var /* : Bool */; short int var1 /* : Bool */; -short int var2 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var4 /* : Bool */; -short int var6 /* : Bool */; -val* var7 /* : Array[AEscapeExpr] */; -val* var9 /* : Array[AEscapeExpr] */; +short int var3 /* : Bool */; +short int var5 /* : Bool */; +val* var6 /* : Array[AEscapeExpr] */; +val* var8 /* : Array[AEscapeExpr] */; val* var_ /* var : Array[AEscapeExpr] */; -val* var10 /* : ArrayIterator[nullable Object] */; -val* var_11 /* var : ArrayIterator[AEscapeExpr] */; -short int var12 /* : Bool */; -val* var13 /* : nullable Object */; +val* var9 /* : ArrayIterator[nullable Object] */; +val* var_10 /* var : ArrayIterator[AEscapeExpr] */; +short int var11 /* : Bool */; +val* var12 /* : nullable Object */; val* var_b /* var b: AEscapeExpr */; -val* var14 /* : nullable FlowContext */; +val* var13 /* : nullable FlowContext */; val* var_before /* var before: nullable FlowContext */; -val* var15 /* : null */; -short int var16 /* : Bool */; +short int var14 /* : Bool */; +short int var15 /* : Bool */; short int var17 /* : Bool */; short int var19 /* : Bool */; -short int var21 /* : Bool */; var_before_loop = p0; var_escapemark = p1; -var = NULL; if (var_escapemark == NULL) { -var1 = 1; /* is null */ +var = 1; /* is null */ } else { -var1 = 0; /* arg is null but recv is not */ +var = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_escapemark,var) on */ -var_other = var; +{ /* Inline kernel#Object#== (var_escapemark,((val*)NULL)) on */ +var_other = ((val*)NULL); { { /* Inline kernel#Object#is_same_instance (var_escapemark,var_other) on */ -var6 = var_escapemark == var_other; -var4 = var6; -goto RET_LABEL5; -RET_LABEL5:(void)0; +var5 = var_escapemark == var_other; +var3 = var5; +goto RET_LABEL4; +RET_LABEL4:(void)0; } } -var2 = var4; -goto RET_LABEL3; -RET_LABEL3:(void)0; +var1 = var3; +goto RET_LABEL2; +RET_LABEL2:(void)0; } -var1 = var2; +var = var1; } -if (var1){ +if (var){ goto RET_LABEL; } else { } { { /* Inline scope#EscapeMark#escapes (var_escapemark) on */ -var9 = var_escapemark->attrs[COLOR_nit__scope__EscapeMark___escapes].val; /* _escapes on */ -if (unlikely(var9 == NULL)) { +var8 = var_escapemark->attrs[COLOR_nit__scope__EscapeMark___escapes].val; /* _escapes on */ +if (unlikely(var8 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapes"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope, 58); -show_backtrace(1); +fatal_exit(1); } -var7 = var9; -RET_LABEL8:(void)0; +var6 = var8; +RET_LABEL7:(void)0; } } -var_ = var7; +var_ = var6; { -var10 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); +var9 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); } -var_11 = var10; +var_10 = var9; for(;;) { { -var12 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_11); +var11 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_10); } -if (var12){ +if (var11){ { -var13 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_11); +var12 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_10); } -var_b = var13; +var_b = var12; { -var14 = nit__flow___AEscapeExpr___before_flow_context(var_b); +var13 = nit__flow___AEscapeExpr___before_flow_context(var_b); } -var_before = var14; -var15 = NULL; +var_before = var13; if (var_before == NULL) { -var16 = 1; /* is null */ +var14 = 1; /* is null */ } else { -var16 = 0; /* arg is null but recv is not */ +var14 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_before,var15) on */ -var_other = var15; +{ /* Inline kernel#Object#== (var_before,((val*)NULL)) on */ +var_other = ((val*)NULL); { { /* Inline kernel#Object#is_same_instance (var_before,var_other) on */ -var21 = var_before == var_other; -var19 = var21; -goto RET_LABEL20; -RET_LABEL20:(void)0; -} -} +var19 = var_before == var_other; var17 = var19; goto RET_LABEL18; RET_LABEL18:(void)0; } -var16 = var17; } -if (var16){ +var15 = var17; +goto RET_LABEL16; +RET_LABEL16:(void)0; +} +var14 = var15; +} +if (var14){ goto BREAK_label; } else { } @@ -1064,160 +1046,152 @@ nit___nit__FlowContext___add_loop(var_before_loop, var_before); /* Direct call f } BREAK_label: (void)0; { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_11); /* Direct call array#ArrayIterator#next on */ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_10); /* Direct call array#ArrayIterator#next on */ } } else { -goto BREAK_label22; +goto BREAK_label20; } } -BREAK_label22: (void)0; +BREAK_label20: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_11) on */ -RET_LABEL23:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_10); /* Direct call array#ArrayIterator#finish on */ } RET_LABEL:; } /* method flow#FlowVisitor#merge_breaks for (self: FlowVisitor, nullable EscapeMark) */ void nit__flow___nit__flow__FlowVisitor___merge_breaks(val* self, val* p0) { val* var_escapemark /* var escapemark: nullable EscapeMark */; -val* var /* : null */; +short int var /* : Bool */; short int var1 /* : Bool */; -short int var2 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var4 /* : Bool */; -short int var6 /* : Bool */; -val* var7 /* : Array[AEscapeExpr] */; -val* var9 /* : Array[AEscapeExpr] */; +short int var3 /* : Bool */; +short int var5 /* : Bool */; +val* var6 /* : Array[AEscapeExpr] */; +val* var8 /* : Array[AEscapeExpr] */; val* var_ /* var : Array[AEscapeExpr] */; -val* var10 /* : ArrayIterator[nullable Object] */; -val* var_11 /* var : ArrayIterator[AEscapeExpr] */; -short int var12 /* : Bool */; -val* var13 /* : nullable Object */; +val* var9 /* : ArrayIterator[nullable Object] */; +val* var_10 /* var : ArrayIterator[AEscapeExpr] */; +short int var11 /* : Bool */; +val* var12 /* : nullable Object */; val* var_b /* var b: AEscapeExpr */; -val* var14 /* : nullable FlowContext */; +val* var13 /* : nullable FlowContext */; val* var_before /* var before: nullable FlowContext */; -val* var15 /* : null */; -short int var16 /* : Bool */; +short int var14 /* : Bool */; +short int var15 /* : Bool */; short int var17 /* : Bool */; short int var19 /* : Bool */; -short int var21 /* : Bool */; +val* var20 /* : FlowContext */; val* var22 /* : FlowContext */; -val* var24 /* : FlowContext */; -val* var25 /* : FlowContext */; +val* var23 /* : FlowContext */; var_escapemark = p0; -var = NULL; if (var_escapemark == NULL) { -var1 = 1; /* is null */ +var = 1; /* is null */ } else { -var1 = 0; /* arg is null but recv is not */ +var = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_escapemark,var) on */ -var_other = var; +{ /* Inline kernel#Object#== (var_escapemark,((val*)NULL)) on */ +var_other = ((val*)NULL); { { /* Inline kernel#Object#is_same_instance (var_escapemark,var_other) on */ -var6 = var_escapemark == var_other; -var4 = var6; -goto RET_LABEL5; -RET_LABEL5:(void)0; +var5 = var_escapemark == var_other; +var3 = var5; +goto RET_LABEL4; +RET_LABEL4:(void)0; } } -var2 = var4; -goto RET_LABEL3; -RET_LABEL3:(void)0; +var1 = var3; +goto RET_LABEL2; +RET_LABEL2:(void)0; } -var1 = var2; +var = var1; } -if (var1){ +if (var){ goto RET_LABEL; } else { } { { /* Inline scope#EscapeMark#escapes (var_escapemark) on */ -var9 = var_escapemark->attrs[COLOR_nit__scope__EscapeMark___escapes].val; /* _escapes on */ -if (unlikely(var9 == NULL)) { +var8 = var_escapemark->attrs[COLOR_nit__scope__EscapeMark___escapes].val; /* _escapes on */ +if (unlikely(var8 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapes"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope, 58); -show_backtrace(1); +fatal_exit(1); } -var7 = var9; -RET_LABEL8:(void)0; +var6 = var8; +RET_LABEL7:(void)0; } } -var_ = var7; +var_ = var6; { -var10 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); +var9 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); } -var_11 = var10; +var_10 = var9; for(;;) { { -var12 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_11); +var11 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_10); } -if (var12){ +if (var11){ { -var13 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_11); +var12 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_10); } -var_b = var13; +var_b = var12; { -var14 = nit__flow___AEscapeExpr___before_flow_context(var_b); +var13 = nit__flow___AEscapeExpr___before_flow_context(var_b); } -var_before = var14; -var15 = NULL; +var_before = var13; if (var_before == NULL) { -var16 = 1; /* is null */ +var14 = 1; /* is null */ } else { -var16 = 0; /* arg is null but recv is not */ +var14 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_before,var15) on */ -var_other = var15; +{ /* Inline kernel#Object#== (var_before,((val*)NULL)) on */ +var_other = ((val*)NULL); { { /* Inline kernel#Object#is_same_instance (var_before,var_other) on */ -var21 = var_before == var_other; -var19 = var21; -goto RET_LABEL20; -RET_LABEL20:(void)0; -} -} +var19 = var_before == var_other; var17 = var19; goto RET_LABEL18; RET_LABEL18:(void)0; } -var16 = var17; } -if (var16){ +var15 = var17; +goto RET_LABEL16; +RET_LABEL16:(void)0; +} +var14 = var15; +} +if (var14){ goto BREAK_label; } else { } { { /* Inline flow#FlowVisitor#current_flow_context (self) on */ -var24 = self->attrs[COLOR_nit__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ -if (unlikely(var24 == NULL)) { +var22 = self->attrs[COLOR_nit__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ +if (unlikely(var22 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 37); -show_backtrace(1); +fatal_exit(1); } -var22 = var24; -RET_LABEL23:(void)0; +var20 = var22; +RET_LABEL21:(void)0; } } { -var25 = nit__flow___nit__flow__FlowVisitor___make_merge_flow(self, var22, var_before); +var23 = nit__flow___nit__flow__FlowVisitor___make_merge_flow(self, var20, var_before); } BREAK_label: (void)0; { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_11); /* Direct call array#ArrayIterator#next on */ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_10); /* Direct call array#ArrayIterator#next on */ } } else { -goto BREAK_label26; +goto BREAK_label24; } } -BREAK_label26: (void)0; +BREAK_label24: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_11) on */ -RET_LABEL27:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_10); /* Direct call array#ArrayIterator#finish on */ } RET_LABEL:; } @@ -1228,8 +1202,8 @@ val* var1 /* : Array[FlowContext] */; var1 = self->attrs[COLOR_nit__flow__FlowContext___previous].val; /* _previous on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _previous"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 188); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 189); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -1242,8 +1216,8 @@ val* var1 /* : Array[FlowContext] */; var1 = self->attrs[COLOR_nit__flow__FlowContext___loops].val; /* _loops on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _loops"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 191); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 192); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -1269,18 +1243,13 @@ short int var /* : Bool */; short int var1 /* : Bool */; short int var3 /* : Bool */; short int var4 /* : Bool */; -short int var5 /* : Bool */; -short int var7 /* : Bool */; -short int var8 /* : Bool */; +short int var6 /* : Bool */; +val* var7 /* : Array[FlowContext] */; val* var9 /* : Array[FlowContext] */; -val* var11 /* : Array[FlowContext] */; +long var10 /* : Int */; long var12 /* : Int */; -long var14 /* : Int */; -long var15 /* : Int */; -short int var16 /* : Bool */; -short int var18 /* : Bool */; -short int var19 /* : Bool */; -short int var20 /* : Bool */; +short int var13 /* : Bool */; +short int var15 /* : Bool */; { { /* Inline flow#FlowContext#is_marked_unreachable (self) on */ var3 = self->attrs[COLOR_nit__flow__FlowContext___is_marked_unreachable].s; /* _is_marked_unreachable on */ @@ -1289,60 +1258,55 @@ RET_LABEL2:(void)0; } } if (var1){ -var4 = 1; -var = var4; +var = 1; goto RET_LABEL; } else { } { { /* Inline flow#FlowContext#is_start (self) on */ -var7 = self->attrs[COLOR_nit__flow__FlowContext___is_start].s; /* _is_start on */ -var5 = var7; -RET_LABEL6:(void)0; +var6 = self->attrs[COLOR_nit__flow__FlowContext___is_start].s; /* _is_start on */ +var4 = var6; +RET_LABEL5:(void)0; } } -if (var5){ -var8 = 0; -var = var8; +if (var4){ +var = 0; goto RET_LABEL; } else { } { { /* Inline flow#FlowContext#previous (self) on */ -var11 = self->attrs[COLOR_nit__flow__FlowContext___previous].val; /* _previous on */ -if (unlikely(var11 == NULL)) { +var9 = self->attrs[COLOR_nit__flow__FlowContext___previous].val; /* _previous on */ +if (unlikely(var9 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _previous"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 188); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 189); +fatal_exit(1); } -var9 = var11; -RET_LABEL10:(void)0; +var7 = var9; +RET_LABEL8:(void)0; } } { -{ /* Inline array#AbstractArrayRead#length (var9) on */ -var14 = var9->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ -var12 = var14; -RET_LABEL13:(void)0; +{ /* Inline array#AbstractArrayRead#length (var7) on */ +var12 = var7->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ +var10 = var12; +RET_LABEL11:(void)0; } } -var15 = 0; { -{ /* Inline kernel#Int#== (var12,var15) on */ -var18 = var12 == var15; -var16 = var18; -goto RET_LABEL17; -RET_LABEL17:(void)0; +{ /* Inline kernel#Int#== (var10,0l) on */ +var15 = var10 == 0l; +var13 = var15; +goto RET_LABEL14; +RET_LABEL14:(void)0; } } -if (var16){ -var19 = 1; -var = var19; +if (var13){ +var = 1; goto RET_LABEL; } else { } -var20 = 0; -var = var20; +var = 0; goto RET_LABEL; RET_LABEL:; return var; @@ -1401,8 +1365,8 @@ val* var1 /* : FlowContext */; var1 = self->attrs[COLOR_nit__flow__FlowContext___when_true].val; /* _when_true on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_true"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 224); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 225); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -1420,8 +1384,8 @@ val* var1 /* : FlowContext */; var1 = self->attrs[COLOR_nit__flow__FlowContext___when_false].val; /* _when_false on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_false"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 227); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 228); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -1457,8 +1421,8 @@ if (var2){ var5 = self->attrs[COLOR_nit__flow__FlowContext___previous].val; /* _previous on */ if (unlikely(var5 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _previous"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 188); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 189); +fatal_exit(1); } var3 = var5; RET_LABEL4:(void)0; @@ -1478,8 +1442,8 @@ if (var){ var10 = self->attrs[COLOR_nit__flow__FlowContext___previous].val; /* _previous on */ if (unlikely(var10 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _previous"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 188); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 189); +fatal_exit(1); } var8 = var10; RET_LABEL9:(void)0; @@ -1517,8 +1481,8 @@ if (var2){ var5 = self->attrs[COLOR_nit__flow__FlowContext___previous].val; /* _previous on */ if (unlikely(var5 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _previous"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 188); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 189); +fatal_exit(1); } var3 = var5; RET_LABEL4:(void)0; @@ -1538,8 +1502,8 @@ if (var){ var10 = self->attrs[COLOR_nit__flow__FlowContext___loops].val; /* _loops on */ if (unlikely(var10 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _loops"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 191); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 192); +fatal_exit(1); } var8 = var10; RET_LABEL9:(void)0; @@ -1557,7 +1521,7 @@ void nit__flow___ANode___accept_flow_visitor(val* self, val* p0) { val* var_v /* var v: FlowVisitor */; var_v = p0; { -((void (*)(val* self, val* p0))(self->class->vft[COLOR_nit__parser_nodes__ANode__visit_all]))(self, var_v) /* visit_all on */; +((void(*)(val* self, val* p0))(self->class->vft[COLOR_nit__parser_nodes__ANode__visit_all]))(self, var_v); /* visit_all on */ } RET_LABEL:; } @@ -1569,10 +1533,10 @@ val* var_v /* var v: FlowVisitor */; var_toolcontext = p0; var = NEW_nit__flow__FlowVisitor(&type_nit__flow__FlowVisitor); { -((void (*)(val* self, val* p0))(var->class->vft[COLOR_nit__flow__FlowVisitor__toolcontext_61d]))(var, var_toolcontext) /* toolcontext= on */; +((void(*)(val* self, val* p0))(var->class->vft[COLOR_nit__flow__FlowVisitor__toolcontext_61d]))(var, var_toolcontext); /* toolcontext= on */ } { -((void (*)(val* self))(var->class->vft[COLOR_standard__kernel__Object__init]))(var) /* init on */; +((void(*)(val* self))(var->class->vft[COLOR_standard__kernel__Object__init]))(var); /* init on */ } var_v = var; { @@ -1604,7 +1568,7 @@ var2 = var_v->attrs[COLOR_nit__flow__FlowVisitor___current_flow_context].val; /* if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 37); -show_backtrace(1); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -1617,7 +1581,7 @@ RET_LABEL3:(void)0; } } { -((void (*)(val* self, val* p0))(self->class->vft[COLOR_nit__flow___APropdef___ANode__accept_flow_visitor]))(self, p0) /* accept_flow_visitor on */; +((void(*)(val* self, val* p0))(self->class->vft[COLOR_nit__flow___APropdef___ANode__accept_flow_visitor]))(self, p0); /* accept_flow_visitor on */ } { { /* Inline flow#FlowVisitor#current_flow_context (var_v) on */ @@ -1625,7 +1589,7 @@ var6 = var_v->attrs[COLOR_nit__flow__FlowVisitor___current_flow_context].val; /* if (unlikely(var6 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 37); -show_backtrace(1); +fatal_exit(1); } var4 = var6; RET_LABEL5:(void)0; @@ -1659,7 +1623,7 @@ val* var_v /* var v: FlowVisitor */; val* var /* : FlowContext */; var_v = p0; { -((void (*)(val* self, val* p0))(self->class->vft[COLOR_nit__flow___AVarAssignExpr___ANode__accept_flow_visitor]))(self, p0) /* accept_flow_visitor on */; +((void(*)(val* self, val* p0))(self->class->vft[COLOR_nit__flow___AVarAssignExpr___ANode__accept_flow_visitor]))(self, p0); /* accept_flow_visitor on */ } { var = nit__flow___nit__flow__FlowVisitor___make_sub_flow(var_v); @@ -1678,7 +1642,7 @@ val* var_v /* var v: FlowVisitor */; val* var /* : FlowContext */; var_v = p0; { -((void (*)(val* self, val* p0))(self->class->vft[COLOR_nit__flow___AReassignFormExpr___ANode__accept_flow_visitor]))(self, p0) /* accept_flow_visitor on */; +((void(*)(val* self, val* p0))(self->class->vft[COLOR_nit__flow___AReassignFormExpr___ANode__accept_flow_visitor]))(self, p0); /* accept_flow_visitor on */ } { var = nit__flow___nit__flow__FlowVisitor___make_sub_flow(var_v); @@ -1713,23 +1677,22 @@ short int var17 /* : Bool */; short int var18 /* : Bool */; val* var19 /* : FlowContext */; val* var21 /* : FlowContext */; -short int var22 /* : Bool */; -val* var24 /* : ToolContext */; -val* var26 /* : ToolContext */; -val* var27 /* : Location */; +val* var23 /* : ToolContext */; +val* var25 /* : ToolContext */; +val* var26 /* : Location */; static val* varonce; -val* var28 /* : String */; -char* var29 /* : NativeString */; -long var30 /* : Int */; -val* var31 /* : FlatString */; +val* var27 /* : String */; +char* var28 /* : NativeString */; +val* var29 /* : FlatString */; +val* var30 /* : Message */; var_v = p0; { { /* Inline parser_nodes#ABlockExpr#n_expr (self) on */ var2 = self->attrs[COLOR_nit__parser_nodes__ABlockExpr___n_expr].val; /* _n_expr on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1565); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1758); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -1742,11 +1705,11 @@ var3 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(v var_4 = var3; for(;;) { { -var5 = ((short int (*)(val* self))(var_4->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_4) /* is_ok on */; +var5 = ((short int(*)(val* self))((((long)var_4&3)?class_info[((long)var_4&3)]:var_4->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_4); /* is_ok on */ } if (var5){ { -var6 = ((val* (*)(val* self))(var_4->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_4) /* item on */; +var6 = ((val*(*)(val* self))((((long)var_4&3)?class_info[((long)var_4&3)]:var_4->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_4); /* item on */ } var_e = var6; { @@ -1755,7 +1718,7 @@ var9 = var_v->attrs[COLOR_nit__flow__FlowVisitor___current_flow_context].val; /* if (unlikely(var9 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 37); -show_backtrace(1); +fatal_exit(1); } var7 = var9; RET_LABEL8:(void)0; @@ -1776,7 +1739,7 @@ var14 = var_v->attrs[COLOR_nit__flow__FlowVisitor___current_flow_context].val; / if (unlikely(var14 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 37); -show_backtrace(1); +fatal_exit(1); } var12 = var14; RET_LABEL13:(void)0; @@ -1797,51 +1760,49 @@ var21 = var_v->attrs[COLOR_nit__flow__FlowVisitor___current_flow_context].val; / if (unlikely(var21 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 37); -show_backtrace(1); +fatal_exit(1); } var19 = var21; RET_LABEL20:(void)0; } } -var22 = 1; { -{ /* Inline flow#FlowContext#is_already_unreachable= (var19,var22) on */ -var19->attrs[COLOR_nit__flow__FlowContext___is_already_unreachable].s = var22; /* _is_already_unreachable on */ -RET_LABEL23:(void)0; +{ /* Inline flow#FlowContext#is_already_unreachable= (var19,1) on */ +var19->attrs[COLOR_nit__flow__FlowContext___is_already_unreachable].s = 1; /* _is_already_unreachable on */ +RET_LABEL22:(void)0; } } { { /* Inline flow#FlowVisitor#toolcontext (var_v) on */ -var26 = var_v->attrs[COLOR_nit__flow__FlowVisitor___toolcontext].val; /* _toolcontext on */ -if (unlikely(var26 == NULL)) { +var25 = var_v->attrs[COLOR_nit__flow__FlowVisitor___toolcontext].val; /* _toolcontext on */ +if (unlikely(var25 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 39); -show_backtrace(1); +fatal_exit(1); } -var24 = var26; -RET_LABEL25:(void)0; +var23 = var25; +RET_LABEL24:(void)0; } } { -var27 = nit___nit__ANode___hot_location(var_e); +var26 = nit___nit__ANode___hot_location(var_e); } -if (varonce) { -var28 = varonce; +if (likely(varonce!=NULL)) { +var27 = varonce; } else { -var29 = "Error: unreachable statement."; -var30 = 29; -var31 = standard___standard__NativeString___to_s_with_length(var29, var30); -var28 = var31; -varonce = var28; +var28 = "Error: unreachable statement."; +var29 = standard___standard__NativeString___to_s_with_length(var28, 29l); +var27 = var29; +varonce = var27; } { -nit___nit__ToolContext___error(var24, var27, var28); /* Direct call toolcontext#ToolContext#error on */ +var30 = nit___nit__ToolContext___error(var23, var26, var27); } } else { } } { -((void (*)(val* self))(var_4->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_4) /* next on */; +((void(*)(val* self))((((long)var_4&3)?class_info[((long)var_4&3)]:var_4->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_4); /* next on */ } } else { goto BREAK_label; @@ -1849,9 +1810,7 @@ goto BREAK_label; } BREAK_label: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_4) on */ -RET_LABEL32:(void)0; -} +((void(*)(val* self))((((long)var_4&3)?class_info[((long)var_4&3)]:var_4->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_4); /* finish on */ } RET_LABEL:; } @@ -1861,7 +1820,7 @@ val* var_v /* var v: FlowVisitor */; val* var /* : FlowContext */; var_v = p0; { -((void (*)(val* self, val* p0))(self->class->vft[COLOR_nit__flow___AReturnExpr___ANode__accept_flow_visitor]))(self, p0) /* accept_flow_visitor on */; +((void(*)(val* self, val* p0))(self->class->vft[COLOR_nit__flow___AReturnExpr___ANode__accept_flow_visitor]))(self, p0); /* accept_flow_visitor on */ } { var = nit__flow___nit__flow__FlowVisitor___make_unreachable_flow(var_v); @@ -1874,16 +1833,14 @@ val* var /* : nullable FlowContext */; val* var1 /* : nullable FlowContext */; val* var3 /* : nullable FlowContext */; val* var_after /* var after: nullable FlowContext */; -val* var4 /* : null */; +short int var4 /* : Bool */; short int var5 /* : Bool */; -short int var6 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var8 /* : Bool */; -short int var10 /* : Bool */; -val* var11 /* : null */; +short int var7 /* : Bool */; +short int var9 /* : Bool */; +val* var10 /* : Array[FlowContext] */; val* var12 /* : Array[FlowContext] */; -val* var14 /* : Array[FlowContext] */; -val* var15 /* : nullable Object */; +val* var13 /* : nullable Object */; { { /* Inline flow#AExpr#after_flow_context (self) on */ var3 = self->attrs[COLOR_nit__flow__AExpr___after_flow_context].val; /* _after_flow_context on */ @@ -1892,51 +1849,49 @@ RET_LABEL2:(void)0; } } var_after = var1; -var4 = NULL; if (var_after == NULL) { -var5 = 1; /* is null */ +var4 = 1; /* is null */ } else { -var5 = 0; /* arg is null but recv is not */ +var4 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_after,var4) on */ -var_other = var4; +{ /* Inline kernel#Object#== (var_after,((val*)NULL)) on */ +var_other = ((val*)NULL); { { /* Inline kernel#Object#is_same_instance (var_after,var_other) on */ -var10 = var_after == var_other; -var8 = var10; -goto RET_LABEL9; -RET_LABEL9:(void)0; +var9 = var_after == var_other; +var7 = var9; +goto RET_LABEL8; +RET_LABEL8:(void)0; } } -var6 = var8; -goto RET_LABEL7; -RET_LABEL7:(void)0; +var5 = var7; +goto RET_LABEL6; +RET_LABEL6:(void)0; } -var5 = var6; +var4 = var5; } -if (var5){ -var11 = NULL; -var = var11; +if (var4){ +var = ((val*)NULL); goto RET_LABEL; } else { } { { /* Inline flow#FlowContext#previous (var_after) on */ -var14 = var_after->attrs[COLOR_nit__flow__FlowContext___previous].val; /* _previous on */ -if (unlikely(var14 == NULL)) { +var12 = var_after->attrs[COLOR_nit__flow__FlowContext___previous].val; /* _previous on */ +if (unlikely(var12 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _previous"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 188); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 189); +fatal_exit(1); } -var12 = var14; -RET_LABEL13:(void)0; +var10 = var12; +RET_LABEL11:(void)0; } } { -var15 = standard___standard__SequenceRead___Collection__first(var12); +var13 = standard___standard__SequenceRead___Collection__first(var10); } -var = var15; +var = var13; goto RET_LABEL; RET_LABEL:; return var; @@ -1947,7 +1902,7 @@ val* var_v /* var v: FlowVisitor */; val* var /* : FlowContext */; var_v = p0; { -((void (*)(val* self, val* p0))(self->class->vft[COLOR_nit__flow___AEscapeExpr___ANode__accept_flow_visitor]))(self, p0) /* accept_flow_visitor on */; +((void(*)(val* self, val* p0))(self->class->vft[COLOR_nit__flow___AEscapeExpr___ANode__accept_flow_visitor]))(self, p0); /* accept_flow_visitor on */ } { var = nit__flow___nit__flow__FlowVisitor___make_unreachable_flow(var_v); @@ -1960,7 +1915,7 @@ val* var_v /* var v: FlowVisitor */; val* var /* : FlowContext */; var_v = p0; { -((void (*)(val* self, val* p0))(self->class->vft[COLOR_nit__flow___AAbortExpr___ANode__accept_flow_visitor]))(self, p0) /* accept_flow_visitor on */; +((void(*)(val* self, val* p0))(self->class->vft[COLOR_nit__flow___AAbortExpr___ANode__accept_flow_visitor]))(self, p0); /* accept_flow_visitor on */ } { var = nit__flow___nit__flow__FlowVisitor___make_unreachable_flow(var_v); @@ -1974,7 +1929,7 @@ val* var /* : nullable EscapeMark */; val* var2 /* : nullable EscapeMark */; var_v = p0; { -((void (*)(val* self, val* p0))(self->class->vft[COLOR_nit__flow___ADoExpr___ANode__accept_flow_visitor]))(self, p0) /* accept_flow_visitor on */; +((void(*)(val* self, val* p0))(self->class->vft[COLOR_nit__flow___ADoExpr___ANode__accept_flow_visitor]))(self, p0); /* accept_flow_visitor on */ } { { /* Inline scope#ADoExpr#break_mark (self) on */ @@ -2016,8 +1971,8 @@ var_v = p0; var2 = self->attrs[COLOR_nit__parser_nodes__AIfExpr___n_expr].val; /* _n_expr on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1664); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1857); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -2032,8 +1987,8 @@ var_after_expr = var3; var6 = var_after_expr->attrs[COLOR_nit__flow__FlowContext___when_true].val; /* _when_true on */ if (unlikely(var6 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_true"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 224); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 225); +fatal_exit(1); } var4 = var6; RET_LABEL5:(void)0; @@ -2061,7 +2016,7 @@ var13 = var_v->attrs[COLOR_nit__flow__FlowVisitor___current_flow_context].val; / if (unlikely(var13 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 37); -show_backtrace(1); +fatal_exit(1); } var11 = var13; RET_LABEL12:(void)0; @@ -2073,8 +2028,8 @@ var_after_then = var11; var16 = var_after_expr->attrs[COLOR_nit__flow__FlowContext___when_false].val; /* _when_false on */ if (unlikely(var16 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_false"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 227); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 228); +fatal_exit(1); } var14 = var16; RET_LABEL15:(void)0; @@ -2102,7 +2057,7 @@ var23 = var_v->attrs[COLOR_nit__flow__FlowVisitor___current_flow_context].val; / if (unlikely(var23 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 37); -show_backtrace(1); +fatal_exit(1); } var21 = var23; RET_LABEL22:(void)0; @@ -2142,8 +2097,8 @@ var_v = p0; var2 = self->attrs[COLOR_nit__parser_nodes__AIfexprExpr___n_expr].val; /* _n_expr on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1681); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1880); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -2158,8 +2113,8 @@ var_after_expr = var3; var6 = var_after_expr->attrs[COLOR_nit__flow__FlowContext___when_true].val; /* _when_true on */ if (unlikely(var6 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_true"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 224); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 225); +fatal_exit(1); } var4 = var6; RET_LABEL5:(void)0; @@ -2176,8 +2131,8 @@ RET_LABEL7:(void)0; var10 = self->attrs[COLOR_nit__parser_nodes__AIfexprExpr___n_then].val; /* _n_then on */ if (unlikely(var10 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_then"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1687); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1886); +fatal_exit(1); } var8 = var10; RET_LABEL9:(void)0; @@ -2192,7 +2147,7 @@ var13 = var_v->attrs[COLOR_nit__flow__FlowVisitor___current_flow_context].val; / if (unlikely(var13 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 37); -show_backtrace(1); +fatal_exit(1); } var11 = var13; RET_LABEL12:(void)0; @@ -2204,8 +2159,8 @@ var_after_then = var11; var16 = var_after_expr->attrs[COLOR_nit__flow__FlowContext___when_false].val; /* _when_false on */ if (unlikely(var16 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_false"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 227); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 228); +fatal_exit(1); } var14 = var16; RET_LABEL15:(void)0; @@ -2222,8 +2177,8 @@ RET_LABEL17:(void)0; var20 = self->attrs[COLOR_nit__parser_nodes__AIfexprExpr___n_else].val; /* _n_else on */ if (unlikely(var20 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_else"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1693); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1892); +fatal_exit(1); } var18 = var20; RET_LABEL19:(void)0; @@ -2238,7 +2193,7 @@ var23 = var_v->attrs[COLOR_nit__flow__FlowVisitor___current_flow_context].val; / if (unlikely(var23 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 37); -show_backtrace(1); +fatal_exit(1); } var21 = var23; RET_LABEL22:(void)0; @@ -2282,8 +2237,8 @@ var_before_loop = var; var3 = self->attrs[COLOR_nit__parser_nodes__AWhileExpr___n_expr].val; /* _n_expr on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1705); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1904); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; @@ -2298,8 +2253,8 @@ var_after_expr = var4; var7 = var_after_expr->attrs[COLOR_nit__flow__FlowContext___when_true].val; /* _when_true on */ if (unlikely(var7 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_true"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 224); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 225); +fatal_exit(1); } var5 = var7; RET_LABEL6:(void)0; @@ -2327,7 +2282,7 @@ var14 = var_v->attrs[COLOR_nit__flow__FlowVisitor___current_flow_context].val; / if (unlikely(var14 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 37); -show_backtrace(1); +fatal_exit(1); } var12 = var14; RET_LABEL13:(void)0; @@ -2345,15 +2300,15 @@ RET_LABEL16:(void)0; } } { -nit__flow___nit__flow__FlowVisitor___merge_continues_to(var_v, var_after_block, var15); /* Direct call flow#FlowVisitor#merge_continues_to on */ +nit__flow___nit__flow__FlowVisitor___merge_continues_to(var_v, var_before_loop, var15); /* Direct call flow#FlowVisitor#merge_continues_to on */ } { { /* Inline flow#FlowContext#when_false (var_after_expr) on */ var20 = var_after_expr->attrs[COLOR_nit__flow__FlowContext___when_false].val; /* _when_false on */ if (unlikely(var20 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_false"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 227); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 228); +fatal_exit(1); } var18 = var20; RET_LABEL19:(void)0; @@ -2413,7 +2368,7 @@ var6 = var_v->attrs[COLOR_nit__flow__FlowVisitor___current_flow_context].val; /* if (unlikely(var6 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 37); -show_backtrace(1); +fatal_exit(1); } var4 = var6; RET_LABEL5:(void)0; @@ -2431,7 +2386,7 @@ RET_LABEL8:(void)0; } } { -nit__flow___nit__flow__FlowVisitor___merge_continues_to(var_v, var_after_block, var7); /* Direct call flow#FlowVisitor#merge_continues_to on */ +nit__flow___nit__flow__FlowVisitor___merge_continues_to(var_v, var_before_loop, var7); /* Direct call flow#FlowVisitor#merge_continues_to on */ } { var10 = nit__flow___nit__flow__FlowVisitor___make_unreachable_flow(var_v); @@ -2473,8 +2428,8 @@ var_v = p0; var2 = self->attrs[COLOR_nit__parser_nodes__AForExpr___n_expr].val; /* _n_expr on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1738); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1940); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -2503,7 +2458,7 @@ var9 = var_v->attrs[COLOR_nit__flow__FlowVisitor___current_flow_context].val; /* if (unlikely(var9 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 37); -show_backtrace(1); +fatal_exit(1); } var7 = var9; RET_LABEL8:(void)0; @@ -2521,7 +2476,7 @@ RET_LABEL11:(void)0; } } { -nit__flow___nit__flow__FlowVisitor___merge_continues_to(var_v, var_after_block, var10); /* Direct call flow#FlowVisitor#merge_continues_to on */ +nit__flow___nit__flow__FlowVisitor___merge_continues_to(var_v, var_before_loop, var10); /* Direct call flow#FlowVisitor#merge_continues_to on */ } { { /* Inline flow#FlowVisitor#current_flow_context (var_v) on */ @@ -2529,7 +2484,7 @@ var15 = var_v->attrs[COLOR_nit__flow__FlowVisitor___current_flow_context].val; / if (unlikely(var15 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 37); -show_backtrace(1); +fatal_exit(1); } var13 = var15; RET_LABEL14:(void)0; @@ -2550,6 +2505,27 @@ nit__flow___nit__flow__FlowVisitor___merge_breaks(var_v, var17); /* Direct call } RET_LABEL:; } +/* method flow#AWithExpr#accept_flow_visitor for (self: AWithExpr, FlowVisitor) */ +void nit__flow___AWithExpr___ANode__accept_flow_visitor(val* self, val* p0) { +val* var_v /* var v: FlowVisitor */; +val* var /* : nullable EscapeMark */; +val* var2 /* : nullable EscapeMark */; +var_v = p0; +{ +((void(*)(val* self, val* p0))(self->class->vft[COLOR_nit__flow___AWithExpr___ANode__accept_flow_visitor]))(self, p0); /* accept_flow_visitor on */ +} +{ +{ /* Inline scope#AWithExpr#break_mark (self) on */ +var2 = self->attrs[COLOR_nit__scope__AWithExpr___break_mark].val; /* _break_mark on */ +var = var2; +RET_LABEL1:(void)0; +} +} +{ +nit__flow___nit__flow__FlowVisitor___merge_breaks(var_v, var); /* Direct call flow#FlowVisitor#merge_breaks on */ +} +RET_LABEL:; +} /* method flow#AAssertExpr#accept_flow_visitor for (self: AAssertExpr, FlowVisitor) */ void nit__flow___AAssertExpr___ANode__accept_flow_visitor(val* self, val* p0) { val* var_v /* var v: FlowVisitor */; @@ -2569,8 +2545,8 @@ var_v = p0; var2 = self->attrs[COLOR_nit__parser_nodes__AAssertExpr___n_expr].val; /* _n_expr on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1758); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1978); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -2585,8 +2561,8 @@ var_after_expr = var3; var6 = var_after_expr->attrs[COLOR_nit__flow__FlowContext___when_false].val; /* _when_false on */ if (unlikely(var6 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_false"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 227); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 228); +fatal_exit(1); } var4 = var6; RET_LABEL5:(void)0; @@ -2613,8 +2589,8 @@ nit___nit__Visitor___enter_visit(var_v, var8); /* Direct call parser_nodes#Visit var13 = var_after_expr->attrs[COLOR_nit__flow__FlowContext___when_true].val; /* _when_true on */ if (unlikely(var13 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_true"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 224); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 225); +fatal_exit(1); } var11 = var13; RET_LABEL12:(void)0; @@ -2650,19 +2626,18 @@ val* var_merge_true /* var merge_true: FlowContext */; static val* varonce; val* var19 /* : String */; char* var20 /* : NativeString */; -long var21 /* : Int */; -val* var22 /* : FlatString */; -val* var24 /* : FlowContext */; +val* var21 /* : FlatString */; +val* var23 /* : FlowContext */; +val* var25 /* : FlowContext */; val* var26 /* : FlowContext */; -val* var27 /* : FlowContext */; var_v = p0; { { /* Inline parser_nodes#ABinBoolExpr#n_expr (self) on */ var2 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr].val; /* _n_expr on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1823); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2053); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -2677,8 +2652,8 @@ var_after_expr = var3; var6 = var_after_expr->attrs[COLOR_nit__flow__FlowContext___when_false].val; /* _when_false on */ if (unlikely(var6 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_false"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 227); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 228); +fatal_exit(1); } var4 = var6; RET_LABEL5:(void)0; @@ -2695,8 +2670,8 @@ RET_LABEL7:(void)0; var10 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2].val; /* _n_expr2 on */ if (unlikely(var10 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1826); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2059); +fatal_exit(1); } var8 = var10; RET_LABEL9:(void)0; @@ -2711,8 +2686,8 @@ var_after_expr2 = var11; var14 = var_after_expr->attrs[COLOR_nit__flow__FlowContext___when_true].val; /* _when_true on */ if (unlikely(var14 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_true"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 224); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 225); +fatal_exit(1); } var12 = var14; RET_LABEL13:(void)0; @@ -2723,8 +2698,8 @@ RET_LABEL13:(void)0; var17 = var_after_expr2->attrs[COLOR_nit__flow__FlowContext___when_true].val; /* _when_true on */ if (unlikely(var17 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_true"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 224); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 225); +fatal_exit(1); } var15 = var17; RET_LABEL16:(void)0; @@ -2734,35 +2709,34 @@ RET_LABEL16:(void)0; var18 = nit__flow___nit__flow__FlowVisitor___make_merge_flow(var_v, var12, var15); } var_merge_true = var18; -if (varonce) { +if (likely(varonce!=NULL)) { var19 = varonce; } else { var20 = "OR TRUE"; -var21 = 7; -var22 = standard___standard__NativeString___to_s_with_length(var20, var21); -var19 = var22; +var21 = standard___standard__NativeString___to_s_with_length(var20, 7l); +var19 = var21; varonce = var19; } { { /* Inline flow#FlowContext#name= (var_merge_true,var19) on */ var_merge_true->attrs[COLOR_nit__flow__FlowContext___name].val = var19; /* _name on */ -RET_LABEL23:(void)0; +RET_LABEL22:(void)0; } } { { /* Inline flow#FlowContext#when_false (var_after_expr2) on */ -var26 = var_after_expr2->attrs[COLOR_nit__flow__FlowContext___when_false].val; /* _when_false on */ -if (unlikely(var26 == NULL)) { +var25 = var_after_expr2->attrs[COLOR_nit__flow__FlowContext___when_false].val; /* _when_false on */ +if (unlikely(var25 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_false"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 227); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 228); +fatal_exit(1); } -var24 = var26; -RET_LABEL25:(void)0; +var23 = var25; +RET_LABEL24:(void)0; } } { -var27 = nit__flow___nit__flow__FlowVisitor___make_true_false_flow(var_v, var_merge_true, var24); +var26 = nit__flow___nit__flow__FlowVisitor___make_true_false_flow(var_v, var_merge_true, var23); } RET_LABEL:; } @@ -2788,19 +2762,18 @@ val* var_merge_true /* var merge_true: FlowContext */; static val* varonce; val* var19 /* : String */; char* var20 /* : NativeString */; -long var21 /* : Int */; -val* var22 /* : FlatString */; -val* var24 /* : FlowContext */; +val* var21 /* : FlatString */; +val* var23 /* : FlowContext */; +val* var25 /* : FlowContext */; val* var26 /* : FlowContext */; -val* var27 /* : FlowContext */; var_v = p0; { { /* Inline parser_nodes#ABinBoolExpr#n_expr (self) on */ var2 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr].val; /* _n_expr on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1823); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2053); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -2815,8 +2788,8 @@ var_after_expr = var3; var6 = var_after_expr->attrs[COLOR_nit__flow__FlowContext___when_true].val; /* _when_true on */ if (unlikely(var6 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_true"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 224); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 225); +fatal_exit(1); } var4 = var6; RET_LABEL5:(void)0; @@ -2833,8 +2806,8 @@ RET_LABEL7:(void)0; var10 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2].val; /* _n_expr2 on */ if (unlikely(var10 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1826); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2059); +fatal_exit(1); } var8 = var10; RET_LABEL9:(void)0; @@ -2849,8 +2822,8 @@ var_after_expr2 = var11; var14 = var_after_expr->attrs[COLOR_nit__flow__FlowContext___when_false].val; /* _when_false on */ if (unlikely(var14 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_false"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 227); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 228); +fatal_exit(1); } var12 = var14; RET_LABEL13:(void)0; @@ -2861,8 +2834,8 @@ RET_LABEL13:(void)0; var17 = var_after_expr2->attrs[COLOR_nit__flow__FlowContext___when_true].val; /* _when_true on */ if (unlikely(var17 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_true"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 224); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 225); +fatal_exit(1); } var15 = var17; RET_LABEL16:(void)0; @@ -2872,35 +2845,34 @@ RET_LABEL16:(void)0; var18 = nit__flow___nit__flow__FlowVisitor___make_merge_flow(var_v, var12, var15); } var_merge_true = var18; -if (varonce) { +if (likely(varonce!=NULL)) { var19 = varonce; } else { var20 = "OR TRUE"; -var21 = 7; -var22 = standard___standard__NativeString___to_s_with_length(var20, var21); -var19 = var22; +var21 = standard___standard__NativeString___to_s_with_length(var20, 7l); +var19 = var21; varonce = var19; } { { /* Inline flow#FlowContext#name= (var_merge_true,var19) on */ var_merge_true->attrs[COLOR_nit__flow__FlowContext___name].val = var19; /* _name on */ -RET_LABEL23:(void)0; +RET_LABEL22:(void)0; } } { { /* Inline flow#FlowContext#when_false (var_after_expr2) on */ -var26 = var_after_expr2->attrs[COLOR_nit__flow__FlowContext___when_false].val; /* _when_false on */ -if (unlikely(var26 == NULL)) { +var25 = var_after_expr2->attrs[COLOR_nit__flow__FlowContext___when_false].val; /* _when_false on */ +if (unlikely(var25 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_false"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 227); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 228); +fatal_exit(1); } -var24 = var26; -RET_LABEL25:(void)0; +var23 = var25; +RET_LABEL24:(void)0; } } { -var27 = nit__flow___nit__flow__FlowVisitor___make_true_false_flow(var_v, var_merge_true, var24); +var26 = nit__flow___nit__flow__FlowVisitor___make_true_false_flow(var_v, var_merge_true, var23); } RET_LABEL:; } @@ -2926,19 +2898,18 @@ val* var_merge_false /* var merge_false: FlowContext */; static val* varonce; val* var19 /* : String */; char* var20 /* : NativeString */; -long var21 /* : Int */; -val* var22 /* : FlatString */; -val* var24 /* : FlowContext */; +val* var21 /* : FlatString */; +val* var23 /* : FlowContext */; +val* var25 /* : FlowContext */; val* var26 /* : FlowContext */; -val* var27 /* : FlowContext */; var_v = p0; { { /* Inline parser_nodes#ABinBoolExpr#n_expr (self) on */ var2 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr].val; /* _n_expr on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1823); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2053); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -2953,8 +2924,8 @@ var_after_expr = var3; var6 = var_after_expr->attrs[COLOR_nit__flow__FlowContext___when_true].val; /* _when_true on */ if (unlikely(var6 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_true"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 224); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 225); +fatal_exit(1); } var4 = var6; RET_LABEL5:(void)0; @@ -2971,8 +2942,8 @@ RET_LABEL7:(void)0; var10 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2].val; /* _n_expr2 on */ if (unlikely(var10 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1826); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2059); +fatal_exit(1); } var8 = var10; RET_LABEL9:(void)0; @@ -2987,8 +2958,8 @@ var_after_expr2 = var11; var14 = var_after_expr->attrs[COLOR_nit__flow__FlowContext___when_false].val; /* _when_false on */ if (unlikely(var14 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_false"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 227); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 228); +fatal_exit(1); } var12 = var14; RET_LABEL13:(void)0; @@ -2999,8 +2970,8 @@ RET_LABEL13:(void)0; var17 = var_after_expr2->attrs[COLOR_nit__flow__FlowContext___when_false].val; /* _when_false on */ if (unlikely(var17 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_false"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 227); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 228); +fatal_exit(1); } var15 = var17; RET_LABEL16:(void)0; @@ -3010,35 +2981,34 @@ RET_LABEL16:(void)0; var18 = nit__flow___nit__flow__FlowVisitor___make_merge_flow(var_v, var12, var15); } var_merge_false = var18; -if (varonce) { +if (likely(varonce!=NULL)) { var19 = varonce; } else { var20 = "AND FALSE"; -var21 = 9; -var22 = standard___standard__NativeString___to_s_with_length(var20, var21); -var19 = var22; +var21 = standard___standard__NativeString___to_s_with_length(var20, 9l); +var19 = var21; varonce = var19; } { { /* Inline flow#FlowContext#name= (var_merge_false,var19) on */ var_merge_false->attrs[COLOR_nit__flow__FlowContext___name].val = var19; /* _name on */ -RET_LABEL23:(void)0; +RET_LABEL22:(void)0; } } { { /* Inline flow#FlowContext#when_true (var_after_expr2) on */ -var26 = var_after_expr2->attrs[COLOR_nit__flow__FlowContext___when_true].val; /* _when_true on */ -if (unlikely(var26 == NULL)) { +var25 = var_after_expr2->attrs[COLOR_nit__flow__FlowContext___when_true].val; /* _when_true on */ +if (unlikely(var25 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_true"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 224); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 225); +fatal_exit(1); } -var24 = var26; -RET_LABEL25:(void)0; +var23 = var25; +RET_LABEL24:(void)0; } } { -var27 = nit__flow___nit__flow__FlowVisitor___make_true_false_flow(var_v, var24, var_merge_false); +var26 = nit__flow___nit__flow__FlowVisitor___make_true_false_flow(var_v, var23, var_merge_false); } RET_LABEL:; } @@ -3060,8 +3030,8 @@ var_v = p0; var2 = self->attrs[COLOR_nit__parser_nodes__ANotExpr___n_expr].val; /* _n_expr on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1857); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2093); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -3076,8 +3046,8 @@ var_after_expr = var3; var6 = var_after_expr->attrs[COLOR_nit__flow__FlowContext___when_false].val; /* _when_false on */ if (unlikely(var6 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_false"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 227); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 228); +fatal_exit(1); } var4 = var6; RET_LABEL5:(void)0; @@ -3088,8 +3058,8 @@ RET_LABEL5:(void)0; var9 = var_after_expr->attrs[COLOR_nit__flow__FlowContext___when_true].val; /* _when_true on */ if (unlikely(var9 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_true"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 224); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__flow, 225); +fatal_exit(1); } var7 = var9; RET_LABEL8:(void)0; @@ -3105,7 +3075,7 @@ void nit__flow___AOrElseExpr___ANode__accept_flow_visitor(val* self, val* p0) { val* var_v /* var v: FlowVisitor */; var_v = p0; { -((void (*)(val* self, val* p0))(self->class->vft[COLOR_nit__flow___AOrElseExpr___ANode__accept_flow_visitor]))(self, p0) /* accept_flow_visitor on */; +((void(*)(val* self, val* p0))(self->class->vft[COLOR_nit__flow___AOrElseExpr___ANode__accept_flow_visitor]))(self, p0); /* accept_flow_visitor on */ } RET_LABEL:; } @@ -3115,7 +3085,7 @@ val* var_v /* var v: FlowVisitor */; val* var /* : FlowContext */; var_v = p0; { -((void (*)(val* self, val* p0))(self->class->vft[COLOR_nit__flow___AEqExpr___ANode__accept_flow_visitor]))(self, p0) /* accept_flow_visitor on */; +((void(*)(val* self, val* p0))(self->class->vft[COLOR_nit__flow___AEqExpr___ANode__accept_flow_visitor]))(self, p0); /* accept_flow_visitor on */ } { var = nit__flow___nit__flow__FlowVisitor___make_sub_true_false_flow(var_v); @@ -3128,7 +3098,7 @@ val* var_v /* var v: FlowVisitor */; val* var /* : FlowContext */; var_v = p0; { -((void (*)(val* self, val* p0))(self->class->vft[COLOR_nit__flow___ANeExpr___ANode__accept_flow_visitor]))(self, p0) /* accept_flow_visitor on */; +((void(*)(val* self, val* p0))(self->class->vft[COLOR_nit__flow___ANeExpr___ANode__accept_flow_visitor]))(self, p0); /* accept_flow_visitor on */ } { var = nit__flow___nit__flow__FlowVisitor___make_sub_true_false_flow(var_v); @@ -3141,7 +3111,7 @@ val* var_v /* var v: FlowVisitor */; val* var /* : FlowContext */; var_v = p0; { -((void (*)(val* self, val* p0))(self->class->vft[COLOR_nit__flow___AIsaExpr___ANode__accept_flow_visitor]))(self, p0) /* accept_flow_visitor on */; +((void(*)(val* self, val* p0))(self->class->vft[COLOR_nit__flow___AIsaExpr___ANode__accept_flow_visitor]))(self, p0); /* accept_flow_visitor on */ } { var = nit__flow___nit__flow__FlowVisitor___make_sub_true_false_flow(var_v); @@ -3161,8 +3131,8 @@ var_v = p0; var2 = self->attrs[COLOR_nit__parser_nodes__AParExpr___n_expr].val; /* _n_expr on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2288); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2637); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -3193,8 +3163,8 @@ var_v = p0; var2 = self->attrs[COLOR_nit__parser_nodes__AOnceExpr___n_expr].val; /* _n_expr on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1794); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2017); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0;