X-Git-Url: http://nitlanguage.org diff --git a/c_src/local_var_init.sep.1.c b/c_src/local_var_init.sep.1.c index a61b190..3ef42c5 100644 --- a/c_src/local_var_init.sep.1.c +++ b/c_src/local_var_init.sep.1.c @@ -3,10 +3,10 @@ val* local_var_init__ToolContext__local_var_init_phase(val* self) { val* var /* : Phase */; val* var1 /* : Phase */; -var1 = self->attrs[COLOR_local_var_init__ToolContext___64dlocal_var_init_phase].val; /* @local_var_init_phase on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @local_var_init_phase"); -fprintf(stderr, " (%s:%d)\n", "src/local_var_init.nit", 26); +var1 = self->attrs[COLOR_local_var_init__ToolContext___local_var_init_phase].val; /* _local_var_init_phase on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _local_var_init_phase"); +PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 26); show_backtrace(1); } var = var1; @@ -17,33 +17,47 @@ return var; val* VIRTUAL_local_var_init__ToolContext__local_var_init_phase(val* self) { val* var /* : Phase */; val* var1 /* : Phase */; -var1 = local_var_init__ToolContext__local_var_init_phase(self); -var = var1; -RET_LABEL:; -return var; +val* var3 /* : Phase */; +{ /* Inline local_var_init#ToolContext#local_var_init_phase (self) on */ +var3 = self->attrs[COLOR_local_var_init__ToolContext___local_var_init_phase].val; /* _local_var_init_phase on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _local_var_init_phase"); +PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 26); +show_backtrace(1); } -/* method local_var_init#ToolContext#local_var_init_phase= for (self: ToolContext, Phase) */ -void local_var_init__ToolContext__local_var_init_phase_61d(val* self, val* p0) { -self->attrs[COLOR_local_var_init__ToolContext___64dlocal_var_init_phase].val = p0; /* @local_var_init_phase on */ -RET_LABEL:; +var1 = var3; +RET_LABEL2:(void)0; } -/* method local_var_init#ToolContext#local_var_init_phase= for (self: Object, Phase) */ -void VIRTUAL_local_var_init__ToolContext__local_var_init_phase_61d(val* self, val* p0) { -local_var_init__ToolContext__local_var_init_phase_61d(self, p0); +var = var1; RET_LABEL:; +return var; } /* method local_var_init#LocalVarInitPhase#process_npropdef for (self: LocalVarInitPhase, APropdef) */ void local_var_init__LocalVarInitPhase__process_npropdef(val* self, val* p0) { val* var_npropdef /* var npropdef: APropdef */; val* var /* : ToolContext */; +val* var2 /* : ToolContext */; var_npropdef = p0; -var = ((val* (*)(val*))(self->class->vft[COLOR_phase__Phase__toolcontext]))(self) /* toolcontext on */; -((void (*)(val*, val*))(var_npropdef->class->vft[COLOR_local_var_init__APropdef__do_local_var_init]))(var_npropdef, var) /* do_local_var_init on */; +{ +{ /* Inline phase#Phase#toolcontext (self) on */ +var2 = self->attrs[COLOR_phase__Phase___toolcontext].val; /* _toolcontext on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); +PRINT_ERROR(" (%s:%d)\n", "src/phase.nit", 145); +show_backtrace(1); +} +var = var2; +RET_LABEL1:(void)0; +} +} +{ +local_var_init__APropdef__do_local_var_init(var_npropdef, var); /* Direct call local_var_init#APropdef#do_local_var_init on */ +} RET_LABEL:; } /* method local_var_init#LocalVarInitPhase#process_npropdef for (self: Object, APropdef) */ void VIRTUAL_local_var_init__LocalVarInitPhase__process_npropdef(val* self, val* p0) { -local_var_init__LocalVarInitPhase__process_npropdef(self, p0); +local_var_init__LocalVarInitPhase__process_npropdef(self, p0); /* Direct call local_var_init#LocalVarInitPhase#process_npropdef on */ RET_LABEL:; } /* method local_var_init#APropdef#do_local_var_init for (self: APropdef, ToolContext) */ @@ -53,24 +67,28 @@ val* var /* : LocalVarInitVisitor */; val* var_v /* var v: LocalVarInitVisitor */; var_toolcontext = p0; var = NEW_local_var_init__LocalVarInitVisitor(&type_local_var_init__LocalVarInitVisitor); -((void (*)(val*, val*))(var->class->vft[COLOR_local_var_init__LocalVarInitVisitor__init]))(var, var_toolcontext) /* init on */; +{ +local_var_init__LocalVarInitVisitor__init(var, var_toolcontext); /* Direct call local_var_init#LocalVarInitVisitor#init on */ +} var_v = var; -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, self) /* enter_visit on */; +{ +parser_nodes__Visitor__enter_visit(var_v, self); /* Direct call parser_nodes#Visitor#enter_visit on */ +} RET_LABEL:; } /* method local_var_init#APropdef#do_local_var_init for (self: Object, ToolContext) */ void VIRTUAL_local_var_init__APropdef__do_local_var_init(val* self, val* p0) { -local_var_init__APropdef__do_local_var_init(self, p0); +local_var_init__APropdef__do_local_var_init(self, p0); /* Direct call local_var_init#APropdef#do_local_var_init on */ RET_LABEL:; } /* method local_var_init#LocalVarInitVisitor#toolcontext for (self: LocalVarInitVisitor): ToolContext */ val* local_var_init__LocalVarInitVisitor__toolcontext(val* self) { val* var /* : ToolContext */; val* var1 /* : ToolContext */; -var1 = self->attrs[COLOR_local_var_init__LocalVarInitVisitor___64dtoolcontext].val; /* @toolcontext on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @toolcontext"); -fprintf(stderr, " (%s:%d)\n", "src/local_var_init.nit", 47); +var1 = self->attrs[COLOR_local_var_init__LocalVarInitVisitor___toolcontext].val; /* _toolcontext on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); +PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 47); show_backtrace(1); } var = var1; @@ -81,42 +99,64 @@ return var; val* VIRTUAL_local_var_init__LocalVarInitVisitor__toolcontext(val* self) { val* var /* : ToolContext */; val* var1 /* : ToolContext */; -var1 = local_var_init__LocalVarInitVisitor__toolcontext(self); +val* var3 /* : ToolContext */; +{ /* Inline local_var_init#LocalVarInitVisitor#toolcontext (self) on */ +var3 = self->attrs[COLOR_local_var_init__LocalVarInitVisitor___toolcontext].val; /* _toolcontext on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); +PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 47); +show_backtrace(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} var = var1; RET_LABEL:; return var; } /* method local_var_init#LocalVarInitVisitor#toolcontext= for (self: LocalVarInitVisitor, ToolContext) */ void local_var_init__LocalVarInitVisitor__toolcontext_61d(val* self, val* p0) { -self->attrs[COLOR_local_var_init__LocalVarInitVisitor___64dtoolcontext].val = p0; /* @toolcontext on */ +self->attrs[COLOR_local_var_init__LocalVarInitVisitor___toolcontext].val = p0; /* _toolcontext on */ RET_LABEL:; } /* method local_var_init#LocalVarInitVisitor#toolcontext= for (self: Object, ToolContext) */ void VIRTUAL_local_var_init__LocalVarInitVisitor__toolcontext_61d(val* self, val* p0) { -local_var_init__LocalVarInitVisitor__toolcontext_61d(self, p0); +{ /* Inline local_var_init#LocalVarInitVisitor#toolcontext= (self,p0) on */ +self->attrs[COLOR_local_var_init__LocalVarInitVisitor___toolcontext].val = p0; /* _toolcontext on */ +RET_LABEL1:(void)0; +} RET_LABEL:; } /* method local_var_init#LocalVarInitVisitor#init for (self: LocalVarInitVisitor, ToolContext) */ void local_var_init__LocalVarInitVisitor__init(val* self, val* p0) { val* var_toolcontext /* var toolcontext: ToolContext */; +{ +{ /* Inline parser_nodes#Visitor#init (self) on */ +RET_LABEL1:(void)0; +} +} var_toolcontext = p0; -((void (*)(val*))(self->class->vft[COLOR_parser_nodes__Visitor__init]))(self) /* init on */; -((void (*)(val*, val*))(self->class->vft[COLOR_local_var_init__LocalVarInitVisitor__toolcontext_61d]))(self, var_toolcontext) /* toolcontext= on */; +{ +{ /* Inline local_var_init#LocalVarInitVisitor#toolcontext= (self,var_toolcontext) on */ +self->attrs[COLOR_local_var_init__LocalVarInitVisitor___toolcontext].val = var_toolcontext; /* _toolcontext on */ +RET_LABEL2:(void)0; +} +} RET_LABEL:; } /* method local_var_init#LocalVarInitVisitor#init for (self: Object, ToolContext) */ void VIRTUAL_local_var_init__LocalVarInitVisitor__init(val* self, val* p0) { -local_var_init__LocalVarInitVisitor__init(self, p0); +local_var_init__LocalVarInitVisitor__init(self, p0); /* Direct call local_var_init#LocalVarInitVisitor#init on */ RET_LABEL:; } /* method local_var_init#LocalVarInitVisitor#maybe_unset_vars for (self: LocalVarInitVisitor): Set[Variable] */ val* local_var_init__LocalVarInitVisitor__maybe_unset_vars(val* self) { val* var /* : Set[Variable] */; val* var1 /* : Set[Variable] */; -var1 = self->attrs[COLOR_local_var_init__LocalVarInitVisitor___64dmaybe_unset_vars].val; /* @maybe_unset_vars on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @maybe_unset_vars"); -fprintf(stderr, " (%s:%d)\n", "src/local_var_init.nit", 54); +var1 = self->attrs[COLOR_local_var_init__LocalVarInitVisitor___maybe_unset_vars].val; /* _maybe_unset_vars on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _maybe_unset_vars"); +PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 54); show_backtrace(1); } var = var1; @@ -127,20 +167,20 @@ return var; val* VIRTUAL_local_var_init__LocalVarInitVisitor__maybe_unset_vars(val* self) { val* var /* : Set[Variable] */; val* var1 /* : Set[Variable] */; -var1 = local_var_init__LocalVarInitVisitor__maybe_unset_vars(self); -var = var1; -RET_LABEL:; -return var; +val* var3 /* : Set[Variable] */; +{ /* Inline local_var_init#LocalVarInitVisitor#maybe_unset_vars (self) on */ +var3 = self->attrs[COLOR_local_var_init__LocalVarInitVisitor___maybe_unset_vars].val; /* _maybe_unset_vars on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _maybe_unset_vars"); +PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 54); +show_backtrace(1); } -/* method local_var_init#LocalVarInitVisitor#maybe_unset_vars= for (self: LocalVarInitVisitor, Set[Variable]) */ -void local_var_init__LocalVarInitVisitor__maybe_unset_vars_61d(val* self, val* p0) { -self->attrs[COLOR_local_var_init__LocalVarInitVisitor___64dmaybe_unset_vars].val = p0; /* @maybe_unset_vars on */ -RET_LABEL:; +var1 = var3; +RET_LABEL2:(void)0; } -/* method local_var_init#LocalVarInitVisitor#maybe_unset_vars= for (self: Object, Set[Variable]) */ -void VIRTUAL_local_var_init__LocalVarInitVisitor__maybe_unset_vars_61d(val* self, val* p0) { -local_var_init__LocalVarInitVisitor__maybe_unset_vars_61d(self, p0); +var = var1; RET_LABEL:; +return var; } /* method local_var_init#LocalVarInitVisitor#mark_is_unset for (self: LocalVarInitVisitor, AExpr, nullable Variable) */ void local_var_init__LocalVarInitVisitor__mark_is_unset(val* self, val* p0, val* p1) { @@ -148,7 +188,13 @@ val* var_node /* var node: AExpr */; val* var_variable /* var variable: nullable Variable */; val* var /* : null */; short int var1 /* : Bool */; -val* var2 /* : Set[Variable] */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; +val* var7 /* : Set[Variable] */; +val* var9 /* : Set[Variable] */; var_node = p0; var_variable = p1; var = NULL; @@ -157,18 +203,45 @@ var1 = 0; /* is null */ } else { var1 = 1; /* arg is null and recv is not */ } -if (!var1) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/local_var_init.nit", 59); +if (0) { +{ /* Inline kernel#Object#!= (var_variable,var) on */ +var_other = var; +{ +var5 = ((short int (*)(val*, val*))(var_variable->class->vft[COLOR_kernel__Object___61d_61d]))(var_variable, var_other) /* == on */; +var4 = var5; +} +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +var1 = var2; +} +if (unlikely(!var1)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 59); +show_backtrace(1); +} +{ +{ /* Inline local_var_init#LocalVarInitVisitor#maybe_unset_vars (self) on */ +var9 = self->attrs[COLOR_local_var_init__LocalVarInitVisitor___maybe_unset_vars].val; /* _maybe_unset_vars on */ +if (unlikely(var9 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _maybe_unset_vars"); +PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 54); show_backtrace(1); } -var2 = ((val* (*)(val*))(self->class->vft[COLOR_local_var_init__LocalVarInitVisitor__maybe_unset_vars]))(self) /* maybe_unset_vars on */; -((void (*)(val*, val*))(var2->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var2, var_variable) /* add on */; +var7 = var9; +RET_LABEL8:(void)0; +} +} +{ +((void (*)(val*, val*))(var7->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var7, var_variable) /* add on */; +} RET_LABEL:; } /* method local_var_init#LocalVarInitVisitor#mark_is_unset for (self: Object, AExpr, nullable Variable) */ void VIRTUAL_local_var_init__LocalVarInitVisitor__mark_is_unset(val* self, val* p0, val* p1) { -local_var_init__LocalVarInitVisitor__mark_is_unset(self, p0, p1); +local_var_init__LocalVarInitVisitor__mark_is_unset(self, p0, p1); /* Direct call local_var_init#LocalVarInitVisitor#mark_is_unset on */ RET_LABEL:; } /* method local_var_init#LocalVarInitVisitor#mark_is_set for (self: LocalVarInitVisitor, AExpr, nullable Variable) */ @@ -177,12 +250,20 @@ val* var_node /* var node: AExpr */; val* var_variable /* var variable: nullable Variable */; val* var /* : null */; short int var1 /* : Bool */; -val* var2 /* : Set[Variable] */; -short int var3 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; short int var4 /* : Bool */; -val* var5 /* : nullable FlowContext */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; +val* var7 /* : Set[Variable] */; +val* var9 /* : Set[Variable] */; +short int var10 /* : Bool */; +short int var11 /* : Bool */; +val* var12 /* : nullable FlowContext */; +val* var14 /* : nullable FlowContext */; val* var_flow /* var flow: FlowContext */; -val* var6 /* : Set[Variable] */; +val* var15 /* : Set[Variable] */; +val* var17 /* : Set[Variable] */; var_node = p0; var_variable = p1; var = NULL; @@ -191,32 +272,78 @@ var1 = 0; /* is null */ } else { var1 = 1; /* arg is null and recv is not */ } -if (!var1) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/local_var_init.nit", 65); +if (0) { +{ /* Inline kernel#Object#!= (var_variable,var) on */ +var_other = var; +{ +var5 = ((short int (*)(val*, val*))(var_variable->class->vft[COLOR_kernel__Object___61d_61d]))(var_variable, var_other) /* == on */; +var4 = var5; +} +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +var1 = var2; +} +if (unlikely(!var1)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 65); show_backtrace(1); } -var2 = ((val* (*)(val*))(self->class->vft[COLOR_local_var_init__LocalVarInitVisitor__maybe_unset_vars]))(self) /* maybe_unset_vars on */; -var3 = ((short int (*)(val*, val*))(var2->class->vft[COLOR_abstract_collection__Collection__has]))(var2, var_variable) /* has on */; -var4 = !var3; -if (var4){ +{ +{ /* Inline local_var_init#LocalVarInitVisitor#maybe_unset_vars (self) on */ +var9 = self->attrs[COLOR_local_var_init__LocalVarInitVisitor___maybe_unset_vars].val; /* _maybe_unset_vars on */ +if (unlikely(var9 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _maybe_unset_vars"); +PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 54); +show_backtrace(1); +} +var7 = var9; +RET_LABEL8:(void)0; +} +} +{ +var10 = ((short int (*)(val*, val*))(var7->class->vft[COLOR_abstract_collection__Collection__has]))(var7, var_variable) /* has on */; +} +var11 = !var10; +if (var11){ goto RET_LABEL; } else { } -var5 = ((val* (*)(val*))(var_node->class->vft[COLOR_flow__AExpr__after_flow_context]))(var_node) /* after_flow_context on */; -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/local_var_init.nit", 68); +{ +{ /* Inline flow#AExpr#after_flow_context (var_node) on */ +var14 = var_node->attrs[COLOR_flow__AExpr___after_flow_context].val; /* _after_flow_context on */ +var12 = var14; +RET_LABEL13:(void)0; +} +} +if (unlikely(var12 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 68); +show_backtrace(1); +} +var_flow = var12; +{ +{ /* Inline local_var_init#FlowContext#set_vars (var_flow) on */ +var17 = var_flow->attrs[COLOR_local_var_init__FlowContext___set_vars].val; /* _set_vars on */ +if (unlikely(var17 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _set_vars"); +PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 92); show_backtrace(1); } -var_flow = var5; -var6 = ((val* (*)(val*))(var_flow->class->vft[COLOR_local_var_init__FlowContext__set_vars]))(var_flow) /* set_vars on */; -((void (*)(val*, val*))(var6->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var6, var_variable) /* add on */; +var15 = var17; +RET_LABEL16:(void)0; +} +} +{ +((void (*)(val*, val*))(var15->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var15, var_variable) /* add on */; +} RET_LABEL:; } /* method local_var_init#LocalVarInitVisitor#mark_is_set for (self: Object, AExpr, nullable Variable) */ void VIRTUAL_local_var_init__LocalVarInitVisitor__mark_is_set(val* self, val* p0, val* p1) { -local_var_init__LocalVarInitVisitor__mark_is_set(self, p0, p1); +local_var_init__LocalVarInitVisitor__mark_is_set(self, p0, p1); /* Direct call local_var_init#LocalVarInitVisitor#mark_is_set on */ RET_LABEL:; } /* method local_var_init#LocalVarInitVisitor#check_is_set for (self: LocalVarInitVisitor, AExpr, nullable Variable) */ @@ -225,30 +352,39 @@ val* var_node /* var node: AExpr */; val* var_variable /* var variable: nullable Variable */; val* var /* : null */; short int var1 /* : Bool */; -val* var2 /* : Set[Variable] */; -short int var3 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; short int var4 /* : Bool */; -val* var5 /* : nullable FlowContext */; -val* var_flow /* var flow: FlowContext */; +short int var5 /* : Bool */; short int var6 /* : Bool */; -short int var7 /* : Bool */; -val* var8 /* : ToolContext */; -val* var9 /* : Location */; +val* var7 /* : Set[Variable] */; +val* var9 /* : Set[Variable] */; +short int var10 /* : Bool */; +short int var11 /* : Bool */; +val* var12 /* : nullable FlowContext */; +val* var14 /* : nullable FlowContext */; +val* var_flow /* var flow: FlowContext */; +short int var15 /* : Bool */; +short int var16 /* : Bool */; +val* var17 /* : ToolContext */; +val* var19 /* : ToolContext */; +val* var20 /* : Location */; static val* varonce; -val* var10 /* : String */; -char* var11 /* : NativeString */; -long var12 /* : Int */; -val* var13 /* : String */; -static val* varonce14; -val* var15 /* : String */; -char* var16 /* : NativeString */; -long var17 /* : Int */; -val* var18 /* : String */; -val* var19 /* : Array[Object] */; -long var20 /* : Int */; -val* var21 /* : NativeArray[Object] */; -val* var22 /* : String */; -val* var23 /* : Set[Variable] */; +val* var21 /* : String */; +char* var22 /* : NativeString */; +long var23 /* : Int */; +val* var24 /* : FlatString */; +static val* varonce25; +val* var26 /* : String */; +char* var27 /* : NativeString */; +long var28 /* : Int */; +val* var29 /* : FlatString */; +val* var30 /* : Array[Object] */; +long var31 /* : Int */; +val* var32 /* : NativeArray[Object] */; +val* var33 /* : String */; +val* var34 /* : Set[Variable] */; +val* var36 /* : Set[Variable] */; var_node = p0; var_variable = p1; var = NULL; @@ -257,90 +393,159 @@ var1 = 0; /* is null */ } else { var1 = 1; /* arg is null and recv is not */ } -if (!var1) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/local_var_init.nit", 74); +if (0) { +{ /* Inline kernel#Object#!= (var_variable,var) on */ +var_other = var; +{ +var5 = ((short int (*)(val*, val*))(var_variable->class->vft[COLOR_kernel__Object___61d_61d]))(var_variable, var_other) /* == on */; +var4 = var5; +} +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +var1 = var2; +} +if (unlikely(!var1)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 74); show_backtrace(1); } -var2 = ((val* (*)(val*))(self->class->vft[COLOR_local_var_init__LocalVarInitVisitor__maybe_unset_vars]))(self) /* maybe_unset_vars on */; -var3 = ((short int (*)(val*, val*))(var2->class->vft[COLOR_abstract_collection__Collection__has]))(var2, var_variable) /* has on */; -var4 = !var3; -if (var4){ +{ +{ /* Inline local_var_init#LocalVarInitVisitor#maybe_unset_vars (self) on */ +var9 = self->attrs[COLOR_local_var_init__LocalVarInitVisitor___maybe_unset_vars].val; /* _maybe_unset_vars on */ +if (unlikely(var9 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _maybe_unset_vars"); +PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 54); +show_backtrace(1); +} +var7 = var9; +RET_LABEL8:(void)0; +} +} +{ +var10 = ((short int (*)(val*, val*))(var7->class->vft[COLOR_abstract_collection__Collection__has]))(var7, var_variable) /* has on */; +} +var11 = !var10; +if (var11){ goto RET_LABEL; } else { } -var5 = ((val* (*)(val*))(var_node->class->vft[COLOR_flow__AExpr__after_flow_context]))(var_node) /* after_flow_context on */; -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/local_var_init.nit", 77); +{ +{ /* Inline flow#AExpr#after_flow_context (var_node) on */ +var14 = var_node->attrs[COLOR_flow__AExpr___after_flow_context].val; /* _after_flow_context on */ +var12 = var14; +RET_LABEL13:(void)0; +} +} +if (unlikely(var12 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 77); +show_backtrace(1); +} +var_flow = var12; +{ +var15 = local_var_init__FlowContext__is_variable_set(var_flow, var_variable); +} +var16 = !var15; +if (var16){ +{ +{ /* Inline local_var_init#LocalVarInitVisitor#toolcontext (self) on */ +var19 = self->attrs[COLOR_local_var_init__LocalVarInitVisitor___toolcontext].val; /* _toolcontext on */ +if (unlikely(var19 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); +PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 47); show_backtrace(1); } -var_flow = var5; -var6 = ((short int (*)(val*, val*))(var_flow->class->vft[COLOR_local_var_init__FlowContext__is_variable_set]))(var_flow, var_variable) /* is_variable_set on */; -var7 = !var6; -if (var7){ -var8 = ((val* (*)(val*))(self->class->vft[COLOR_local_var_init__LocalVarInitVisitor__toolcontext]))(self) /* toolcontext on */; -var9 = ((val* (*)(val*))(var_node->class->vft[COLOR_parser_nodes__ANode__hot_location]))(var_node) /* hot_location on */; +var17 = var19; +RET_LABEL18:(void)0; +} +} +{ +var20 = parser_nodes__ANode__hot_location(var_node); +} if (varonce) { -var10 = varonce; +var21 = varonce; } else { -var11 = "Error: variable \'"; -var12 = 17; -var13 = string__NativeString__to_s_with_length(var11, var12); -var10 = var13; -varonce = var10; -} -if (varonce14) { -var15 = varonce14; +var22 = "Error: variable \'"; +var23 = 17; +var24 = string__NativeString__to_s_with_length(var22, var23); +var21 = var24; +varonce = var21; +} +if (varonce25) { +var26 = varonce25; } else { -var16 = "\' is possibly unset."; -var17 = 20; -var18 = string__NativeString__to_s_with_length(var16, var17); -var15 = var18; -varonce14 = var15; -} -var19 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var19 = array_instance Array[Object] */ -var20 = 3; -var21 = NEW_array__NativeArray(var20, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var21)->values[0] = (val*) var10; -((struct instance_array__NativeArray*)var21)->values[1] = (val*) var_variable; -((struct instance_array__NativeArray*)var21)->values[2] = (val*) var15; -((void (*)(val*, val*, long))(var19->class->vft[COLOR_array__Array__with_native]))(var19, var21, var20) /* with_native on */; -} -var22 = ((val* (*)(val*))(var19->class->vft[COLOR_string__Object__to_s]))(var19) /* to_s on */; -((void (*)(val*, val*, val*))(var8->class->vft[COLOR_toolcontext__ToolContext__error]))(var8, var9, var22) /* error on */; -var23 = ((val* (*)(val*))(self->class->vft[COLOR_local_var_init__LocalVarInitVisitor__maybe_unset_vars]))(self) /* maybe_unset_vars on */; -((void (*)(val*, val*))(var23->class->vft[COLOR_abstract_collection__RemovableCollection__remove]))(var23, var_variable) /* remove on */; +var27 = "\' is possibly unset."; +var28 = 20; +var29 = string__NativeString__to_s_with_length(var27, var28); +var26 = var29; +varonce25 = var26; +} +var30 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var30 = array_instance Array[Object] */ +var31 = 3; +var32 = NEW_array__NativeArray(var31, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var32)->values[0] = (val*) var21; +((struct instance_array__NativeArray*)var32)->values[1] = (val*) var_variable; +((struct instance_array__NativeArray*)var32)->values[2] = (val*) var26; +{ +((void (*)(val*, val*, long))(var30->class->vft[COLOR_array__Array__with_native]))(var30, var32, var31) /* with_native on */; +} +} +{ +var33 = ((val* (*)(val*))(var30->class->vft[COLOR_string__Object__to_s]))(var30) /* to_s on */; +} +{ +toolcontext__ToolContext__error(var17, var20, var33); /* Direct call toolcontext#ToolContext#error on */ +} +{ +{ /* Inline local_var_init#LocalVarInitVisitor#maybe_unset_vars (self) on */ +var36 = self->attrs[COLOR_local_var_init__LocalVarInitVisitor___maybe_unset_vars].val; /* _maybe_unset_vars on */ +if (unlikely(var36 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _maybe_unset_vars"); +PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 54); +show_backtrace(1); +} +var34 = var36; +RET_LABEL35:(void)0; +} +} +{ +((void (*)(val*, val*))(var34->class->vft[COLOR_abstract_collection__RemovableCollection__remove]))(var34, var_variable) /* remove on */; +} } else { } RET_LABEL:; } /* method local_var_init#LocalVarInitVisitor#check_is_set for (self: Object, AExpr, nullable Variable) */ void VIRTUAL_local_var_init__LocalVarInitVisitor__check_is_set(val* self, val* p0, val* p1) { -local_var_init__LocalVarInitVisitor__check_is_set(self, p0, p1); +local_var_init__LocalVarInitVisitor__check_is_set(self, p0, p1); /* Direct call local_var_init#LocalVarInitVisitor#check_is_set on */ RET_LABEL:; } /* method local_var_init#LocalVarInitVisitor#visit for (self: LocalVarInitVisitor, ANode) */ void local_var_init__LocalVarInitVisitor__visit(val* self, val* p0) { val* var_n /* var n: ANode */; var_n = p0; +{ ((void (*)(val*, val*))(var_n->class->vft[COLOR_local_var_init__ANode__accept_local_var_visitor]))(var_n, self) /* accept_local_var_visitor on */; +} RET_LABEL:; } /* method local_var_init#LocalVarInitVisitor#visit for (self: Object, ANode) */ void VIRTUAL_local_var_init__LocalVarInitVisitor__visit(val* self, val* p0) { -local_var_init__LocalVarInitVisitor__visit(self, p0); +local_var_init__LocalVarInitVisitor__visit(self, p0); /* Direct call local_var_init#LocalVarInitVisitor#visit on */ RET_LABEL:; } /* method local_var_init#FlowContext#set_vars for (self: FlowContext): Set[Variable] */ val* local_var_init__FlowContext__set_vars(val* self) { val* var /* : Set[Variable] */; val* var1 /* : Set[Variable] */; -var1 = self->attrs[COLOR_local_var_init__FlowContext___64dset_vars].val; /* @set_vars on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @set_vars"); -fprintf(stderr, " (%s:%d)\n", "src/local_var_init.nit", 92); +var1 = self->attrs[COLOR_local_var_init__FlowContext___set_vars].val; /* _set_vars on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _set_vars"); +PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 92); show_backtrace(1); } var = var1; @@ -351,114 +556,192 @@ return var; val* VIRTUAL_local_var_init__FlowContext__set_vars(val* self) { val* var /* : Set[Variable] */; val* var1 /* : Set[Variable] */; -var1 = local_var_init__FlowContext__set_vars(self); -var = var1; -RET_LABEL:; -return var; +val* var3 /* : Set[Variable] */; +{ /* Inline local_var_init#FlowContext#set_vars (self) on */ +var3 = self->attrs[COLOR_local_var_init__FlowContext___set_vars].val; /* _set_vars on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _set_vars"); +PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 92); +show_backtrace(1); } -/* method local_var_init#FlowContext#set_vars= for (self: FlowContext, Set[Variable]) */ -void local_var_init__FlowContext__set_vars_61d(val* self, val* p0) { -self->attrs[COLOR_local_var_init__FlowContext___64dset_vars].val = p0; /* @set_vars on */ -RET_LABEL:; +var1 = var3; +RET_LABEL2:(void)0; } -/* method local_var_init#FlowContext#set_vars= for (self: Object, Set[Variable]) */ -void VIRTUAL_local_var_init__FlowContext__set_vars_61d(val* self, val* p0) { -local_var_init__FlowContext__set_vars_61d(self, p0); +var = var1; RET_LABEL:; +return var; } /* method local_var_init#FlowContext#is_variable_set for (self: FlowContext, Variable): Bool */ short int local_var_init__FlowContext__is_variable_set(val* self, val* p0) { short int var /* : Bool */; val* var_variable /* var variable: Variable */; val* var1 /* : Set[Variable] */; -short int var2 /* : Bool */; -short int var3 /* : Bool */; -val* var4 /* : Array[FlowContext] */; +val* var3 /* : Set[Variable] */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +val* var6 /* : Array[FlowContext] */; +val* var8 /* : Array[FlowContext] */; val* var_previous /* var previous: Array[FlowContext] */; -long var5 /* : Int */; -long var6 /* : Int */; -short int var7 /* : Bool */; -short int var9 /* : Bool */; -short int var10 /* : Bool */; -long var11 /* : Int */; -long var12 /* : Int */; -short int var13 /* : Bool */; +long var9 /* : Int */; +long var10 /* : Int */; +short int var11 /* : Bool */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; short int var15 /* : Bool */; -val* var16 /* : nullable Object */; -short int var17 /* : Bool */; -val* var18 /* : Array[FlowContext] */; -val* var19 /* : Iterator[nullable Object] */; -short int var20 /* : Bool */; -val* var21 /* : nullable Object */; -val* var_p /* var p: FlowContext */; -short int var22 /* : Bool */; +long var16 /* : Int */; +long var17 /* : Int */; +short int var18 /* : Bool */; +short int var19 /* : Bool */; +short int var21 /* : Bool */; +val* var22 /* : nullable Object */; short int var23 /* : Bool */; -short int var24 /* : Bool */; -val* var25 /* : Set[Variable] */; -short int var26 /* : Bool */; +val* var24 /* : Array[FlowContext] */; +val* var26 /* : Array[FlowContext] */; +val* var27 /* : ArrayIterator[nullable Object] */; +short int var28 /* : Bool */; +val* var29 /* : nullable Object */; +val* var_p /* var p: FlowContext */; +short int var30 /* : Bool */; +short int var31 /* : Bool */; +short int var32 /* : Bool */; +val* var33 /* : Set[Variable] */; +val* var35 /* : Set[Variable] */; +short int var36 /* : Bool */; var_variable = p0; -var1 = ((val* (*)(val*))(self->class->vft[COLOR_local_var_init__FlowContext__set_vars]))(self) /* set_vars on */; -var2 = ((short int (*)(val*, val*))(var1->class->vft[COLOR_abstract_collection__Collection__has]))(var1, var_variable) /* has on */; -if (var2){ -var3 = 1; -var = var3; +{ +{ /* Inline local_var_init#FlowContext#set_vars (self) on */ +var3 = self->attrs[COLOR_local_var_init__FlowContext___set_vars].val; /* _set_vars on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _set_vars"); +PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 92); +show_backtrace(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} +} +{ +var4 = ((short int (*)(val*, val*))(var1->class->vft[COLOR_abstract_collection__Collection__has]))(var1, var_variable) /* has on */; +} +if (var4){ +var5 = 1; +var = var5; goto RET_LABEL; } else { } -var4 = ((val* (*)(val*))(self->class->vft[COLOR_flow__FlowContext__previous]))(self) /* previous on */; -var_previous = var4; -var5 = ((long (*)(val*))(var_previous->class->vft[COLOR_abstract_collection__Collection__length]))(var_previous) /* length on */; -var6 = 0; -{ /* Inline kernel#Int#== (var5,var6) */ -var9 = var5 == var6; -var7 = var9; -goto RET_LABEL8; -RET_LABEL8:(void)0; +{ +{ /* Inline flow#FlowContext#previous (self) on */ +var8 = self->attrs[COLOR_flow__FlowContext___previous].val; /* _previous on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _previous"); +PRINT_ERROR(" (%s:%d)\n", "src/flow.nit", 192); +show_backtrace(1); +} +var6 = var8; +RET_LABEL7:(void)0; +} +} +var_previous = var6; +{ +var9 = array__AbstractArrayRead__length(var_previous); } -if (var7){ var10 = 0; -var = var10; +{ +{ /* Inline kernel#Int#== (var9,var10) on */ +var14 = var9 == var10; +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; +} +var11 = var12; +} +if (var11){ +var15 = 0; +var = var15; goto RET_LABEL; } else { } -var11 = ((long (*)(val*))(var_previous->class->vft[COLOR_abstract_collection__Collection__length]))(var_previous) /* length on */; -var12 = 1; -{ /* Inline kernel#Int#== (var11,var12) */ -var15 = var11 == var12; -var13 = var15; -goto RET_LABEL14; -RET_LABEL14:(void)0; -} -if (var13){ -var16 = ((val* (*)(val*))(var_previous->class->vft[COLOR_abstract_collection__Collection__first]))(var_previous) /* first on */; -var17 = ((short int (*)(val*, val*))(var16->class->vft[COLOR_local_var_init__FlowContext__is_variable_set]))(var16, var_variable) /* is_variable_set on */; -var = var17; +{ +var16 = array__AbstractArrayRead__length(var_previous); +} +var17 = 1; +{ +{ /* Inline kernel#Int#== (var16,var17) on */ +var21 = var16 == var17; +var19 = var21; +goto RET_LABEL20; +RET_LABEL20:(void)0; +} +var18 = var19; +} +if (var18){ +{ +var22 = abstract_collection__SequenceRead__first(var_previous); +} +{ +var23 = local_var_init__FlowContext__is_variable_set(var22, var_variable); +} +var = var23; goto RET_LABEL; } else { } -var18 = ((val* (*)(val*))(self->class->vft[COLOR_flow__FlowContext__previous]))(self) /* previous on */; -var19 = ((val* (*)(val*))(var18->class->vft[COLOR_abstract_collection__Collection__iterator]))(var18) /* iterator on */; +{ +{ /* Inline flow#FlowContext#previous (self) on */ +var26 = self->attrs[COLOR_flow__FlowContext___previous].val; /* _previous on */ +if (unlikely(var26 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _previous"); +PRINT_ERROR(" (%s:%d)\n", "src/flow.nit", 192); +show_backtrace(1); +} +var24 = var26; +RET_LABEL25:(void)0; +} +} +{ +var27 = array__AbstractArrayRead__iterator(var24); +} for(;;) { -var20 = ((short int (*)(val*))(var19->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var19) /* is_ok on */; -if(!var20) break; -var21 = ((val* (*)(val*))(var19->class->vft[COLOR_abstract_collection__Iterator__item]))(var19) /* item on */; -var_p = var21; -var22 = ((short int (*)(val*, val*))(var_p->class->vft[COLOR_local_var_init__FlowContext__is_variable_set]))(var_p, var_variable) /* is_variable_set on */; -var23 = !var22; -if (var23){ -var24 = 0; -var = var24; +{ +var28 = array__ArrayIterator__is_ok(var27); +} +if(!var28) break; +{ +var29 = array__ArrayIterator__item(var27); +} +var_p = var29; +{ +var30 = local_var_init__FlowContext__is_variable_set(var_p, var_variable); +} +var31 = !var30; +if (var31){ +var32 = 0; +var = var32; goto RET_LABEL; } else { } CONTINUE_label: (void)0; -((void (*)(val*))(var19->class->vft[COLOR_abstract_collection__Iterator__next]))(var19) /* next on */; +{ +array__ArrayIterator__next(var27); /* Direct call array#ArrayIterator#next on */ +} } BREAK_label: (void)0; -var25 = ((val* (*)(val*))(self->class->vft[COLOR_local_var_init__FlowContext__set_vars]))(self) /* set_vars on */; -((void (*)(val*, val*))(var25->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var25, var_variable) /* add on */; -var26 = 1; -var = var26; +{ +{ /* Inline local_var_init#FlowContext#set_vars (self) on */ +var35 = self->attrs[COLOR_local_var_init__FlowContext___set_vars].val; /* _set_vars on */ +if (unlikely(var35 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _set_vars"); +PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 92); +show_backtrace(1); +} +var33 = var35; +RET_LABEL34:(void)0; +} +} +{ +((void (*)(val*, val*))(var33->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var33, var_variable) /* add on */; +} +var36 = 1; +var = var36; goto RET_LABEL; RET_LABEL:; return var; @@ -476,12 +759,14 @@ return var; void local_var_init__ANode__accept_local_var_visitor(val* self, val* p0) { val* var_v /* var v: LocalVarInitVisitor */; var_v = p0; +{ ((void (*)(val*, val*))(self->class->vft[COLOR_parser_nodes__ANode__visit_all]))(self, var_v) /* visit_all on */; +} RET_LABEL:; } /* method local_var_init#ANode#accept_local_var_visitor for (self: Object, LocalVarInitVisitor) */ void VIRTUAL_local_var_init__ANode__accept_local_var_visitor(val* self, val* p0) { -local_var_init__ANode__accept_local_var_visitor(self, p0); +local_var_init__ANode__accept_local_var_visitor(self, p0); /* Direct call local_var_init#ANode#accept_local_var_visitor on */ RET_LABEL:; } /* method local_var_init#AVardeclExpr#accept_local_var_visitor for (self: AVardeclExpr, LocalVarInitVisitor) */ @@ -490,70 +775,137 @@ val* var_v /* var v: LocalVarInitVisitor */; val* var /* : nullable AExpr */; val* var1 /* : null */; short int var2 /* : Bool */; -val* var3 /* : nullable Variable */; +short int var3 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var5 /* : Bool */; +short int var7 /* : Bool */; +val* var8 /* : nullable Variable */; +val* var10 /* : nullable Variable */; var_v = p0; +{ ((void (*)(val*, val*))(self->class->vft[COLOR_local_var_init__AVardeclExpr__accept_local_var_visitor]))(self, p0) /* accept_local_var_visitor on */; -var = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__AVardeclExpr__n_expr]))(self) /* n_expr on */; +} +{ +var = parser_nodes__AVardeclExpr__n_expr(self); +} var1 = NULL; if (var == NULL) { var2 = 1; /* is null */ } else { var2 = 0; /* arg is null but recv is not */ } +if (0) { +{ /* Inline kernel#Object#== (var,var1) on */ +var_other = var1; +{ +{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +var7 = var == var_other; +var5 = var7; +goto RET_LABEL6; +RET_LABEL6:(void)0; +} +} +var3 = var5; +goto RET_LABEL4; +RET_LABEL4:(void)0; +} +var2 = var3; +} if (var2){ -var3 = ((val* (*)(val*))(self->class->vft[COLOR_scope__AVardeclExpr__variable]))(self) /* variable on */; -((void (*)(val*, val*, val*))(var_v->class->vft[COLOR_local_var_init__LocalVarInitVisitor__mark_is_unset]))(var_v, self, var3) /* mark_is_unset on */; +{ +{ /* Inline scope#AVardeclExpr#variable (self) on */ +var10 = self->attrs[COLOR_scope__AVardeclExpr___variable].val; /* _variable on */ +var8 = var10; +RET_LABEL9:(void)0; +} +} +{ +local_var_init__LocalVarInitVisitor__mark_is_unset(var_v, self, var8); /* Direct call local_var_init#LocalVarInitVisitor#mark_is_unset on */ +} } else { } RET_LABEL:; } /* method local_var_init#AVardeclExpr#accept_local_var_visitor for (self: Object, LocalVarInitVisitor) */ void VIRTUAL_local_var_init__AVardeclExpr__accept_local_var_visitor(val* self, val* p0) { -local_var_init__AVardeclExpr__accept_local_var_visitor(self, p0); +local_var_init__AVardeclExpr__accept_local_var_visitor(self, p0); /* Direct call local_var_init#AVardeclExpr#accept_local_var_visitor on */ RET_LABEL:; } /* method local_var_init#AVarExpr#accept_local_var_visitor for (self: AVarExpr, LocalVarInitVisitor) */ void local_var_init__AVarExpr__accept_local_var_visitor(val* self, val* p0) { val* var_v /* var v: LocalVarInitVisitor */; val* var /* : nullable Variable */; +val* var2 /* : nullable Variable */; var_v = p0; +{ ((void (*)(val*, val*))(self->class->vft[COLOR_local_var_init__AVarExpr__accept_local_var_visitor]))(self, p0) /* accept_local_var_visitor on */; -var = ((val* (*)(val*))(self->class->vft[COLOR_scope__AVarFormExpr__variable]))(self) /* variable on */; -((void (*)(val*, val*, val*))(var_v->class->vft[COLOR_local_var_init__LocalVarInitVisitor__check_is_set]))(var_v, self, var) /* check_is_set on */; +} +{ +{ /* Inline scope#AVarFormExpr#variable (self) on */ +var2 = self->attrs[COLOR_scope__AVarFormExpr___variable].val; /* _variable on */ +var = var2; +RET_LABEL1:(void)0; +} +} +{ +local_var_init__LocalVarInitVisitor__check_is_set(var_v, self, var); /* Direct call local_var_init#LocalVarInitVisitor#check_is_set on */ +} RET_LABEL:; } /* method local_var_init#AVarExpr#accept_local_var_visitor for (self: Object, LocalVarInitVisitor) */ void VIRTUAL_local_var_init__AVarExpr__accept_local_var_visitor(val* self, val* p0) { -local_var_init__AVarExpr__accept_local_var_visitor(self, p0); +local_var_init__AVarExpr__accept_local_var_visitor(self, p0); /* Direct call local_var_init#AVarExpr#accept_local_var_visitor on */ RET_LABEL:; } /* method local_var_init#AVarAssignExpr#accept_local_var_visitor for (self: AVarAssignExpr, LocalVarInitVisitor) */ void local_var_init__AVarAssignExpr__accept_local_var_visitor(val* self, val* p0) { val* var_v /* var v: LocalVarInitVisitor */; val* var /* : nullable Variable */; +val* var2 /* : nullable Variable */; var_v = p0; +{ ((void (*)(val*, val*))(self->class->vft[COLOR_local_var_init__AVarAssignExpr__accept_local_var_visitor]))(self, p0) /* accept_local_var_visitor on */; -var = ((val* (*)(val*))(self->class->vft[COLOR_scope__AVarFormExpr__variable]))(self) /* variable on */; -((void (*)(val*, val*, val*))(var_v->class->vft[COLOR_local_var_init__LocalVarInitVisitor__mark_is_set]))(var_v, self, var) /* mark_is_set on */; +} +{ +{ /* Inline scope#AVarFormExpr#variable (self) on */ +var2 = self->attrs[COLOR_scope__AVarFormExpr___variable].val; /* _variable on */ +var = var2; +RET_LABEL1:(void)0; +} +} +{ +local_var_init__LocalVarInitVisitor__mark_is_set(var_v, self, var); /* Direct call local_var_init#LocalVarInitVisitor#mark_is_set on */ +} RET_LABEL:; } /* method local_var_init#AVarAssignExpr#accept_local_var_visitor for (self: Object, LocalVarInitVisitor) */ void VIRTUAL_local_var_init__AVarAssignExpr__accept_local_var_visitor(val* self, val* p0) { -local_var_init__AVarAssignExpr__accept_local_var_visitor(self, p0); +local_var_init__AVarAssignExpr__accept_local_var_visitor(self, p0); /* Direct call local_var_init#AVarAssignExpr#accept_local_var_visitor on */ RET_LABEL:; } /* method local_var_init#AVarReassignExpr#accept_local_var_visitor for (self: AVarReassignExpr, LocalVarInitVisitor) */ void local_var_init__AVarReassignExpr__accept_local_var_visitor(val* self, val* p0) { val* var_v /* var v: LocalVarInitVisitor */; val* var /* : nullable Variable */; +val* var2 /* : nullable Variable */; var_v = p0; +{ ((void (*)(val*, val*))(self->class->vft[COLOR_local_var_init__AVarReassignExpr__accept_local_var_visitor]))(self, p0) /* accept_local_var_visitor on */; -var = ((val* (*)(val*))(self->class->vft[COLOR_scope__AVarFormExpr__variable]))(self) /* variable on */; -((void (*)(val*, val*, val*))(var_v->class->vft[COLOR_local_var_init__LocalVarInitVisitor__check_is_set]))(var_v, self, var) /* check_is_set on */; +} +{ +{ /* Inline scope#AVarFormExpr#variable (self) on */ +var2 = self->attrs[COLOR_scope__AVarFormExpr___variable].val; /* _variable on */ +var = var2; +RET_LABEL1:(void)0; +} +} +{ +local_var_init__LocalVarInitVisitor__check_is_set(var_v, self, var); /* Direct call local_var_init#LocalVarInitVisitor#check_is_set on */ +} RET_LABEL:; } /* method local_var_init#AVarReassignExpr#accept_local_var_visitor for (self: Object, LocalVarInitVisitor) */ void VIRTUAL_local_var_init__AVarReassignExpr__accept_local_var_visitor(val* self, val* p0) { -local_var_init__AVarReassignExpr__accept_local_var_visitor(self, p0); +local_var_init__AVarReassignExpr__accept_local_var_visitor(self, p0); /* Direct call local_var_init#AVarReassignExpr#accept_local_var_visitor on */ RET_LABEL:; }