Merge: doc: fixed some typos and other misc. corrections
[nit.git] / c_src / nitc__local_var_init.sep.1.c
index fbccd57..c3a1985 100644 (file)
@@ -1,10 +1,13 @@
 #include "nitc__local_var_init.sep.0.h"
-/* method local_var_init#ToolContext#local_var_init_phase for (self: ToolContext): Phase */
+/* method local_var_init$ToolContext$local_var_init_phase for (self: ToolContext): Phase */
 val* nitc__local_var_init___ToolContext___local_var_init_phase(val* self) {
 val* var /* : Phase */;
 val* var1 /* : Phase */;
 var1 = self->attrs[COLOR_nitc__local_var_init__ToolContext___local_var_init_phase].val; /* _local_var_init_phase on <self:ToolContext> */
 if (unlikely(var1 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _local_var_init_phase");
 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__local_var_init, 24);
 fatal_exit(1);
@@ -13,18 +16,21 @@ var = var1;
 RET_LABEL:;
 return var;
 }
-/* method local_var_init#LocalVarInitPhase#process_npropdef for (self: LocalVarInitPhase, APropdef) */
+/* method local_var_init$LocalVarInitPhase$process_npropdef for (self: LocalVarInitPhase, APropdef) */
 void nitc__local_var_init___nitc__local_var_init__LocalVarInitPhase___nitc__phase__Phase__process_npropdef(val* self, val* p0) {
 val* var_npropdef /* var npropdef: APropdef */;
 val* var /* : ToolContext */;
 val* var2 /* : ToolContext */;
 var_npropdef = p0;
 {
-{ /* Inline phase#Phase#toolcontext (self) on <self:LocalVarInitPhase> */
+{ /* Inline phase$Phase$toolcontext (self) on <self:LocalVarInitPhase> */
 var2 = self->attrs[COLOR_nitc__phase__Phase___toolcontext].val; /* _toolcontext on <self:LocalVarInitPhase> */
 if (unlikely(var2 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 200);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 210);
 fatal_exit(1);
 }
 var = var2;
@@ -32,11 +38,11 @@ RET_LABEL1:(void)0;
 }
 }
 {
-nitc__local_var_init___APropdef___do_local_var_init(var_npropdef, var); /* Direct call local_var_init#APropdef#do_local_var_init on <var_npropdef:APropdef>*/
+nitc__local_var_init___APropdef___do_local_var_init(var_npropdef, var); /* Direct call local_var_init$APropdef$do_local_var_init on <var_npropdef:APropdef>*/
 }
 RET_LABEL:;
 }
-/* method local_var_init#APropdef#do_local_var_init for (self: APropdef, ToolContext) */
+/* method local_var_init$APropdef$do_local_var_init for (self: APropdef, ToolContext) */
 void nitc__local_var_init___APropdef___do_local_var_init(val* self, val* p0) {
 val* var_toolcontext /* var toolcontext: ToolContext */;
 val* var /* : LocalVarInitVisitor */;
@@ -51,16 +57,19 @@ var = NEW_nitc__local_var_init__LocalVarInitVisitor(&type_nitc__local_var_init__
 }
 var_v = var;
 {
-nitc___nitc__Visitor___enter_visit(var_v, self); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:LocalVarInitVisitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, self); /* Direct call parser_nodes$Visitor$enter_visit on <var_v:LocalVarInitVisitor>*/
 }
 RET_LABEL:;
 }
-/* method local_var_init#LocalVarInitVisitor#toolcontext for (self: LocalVarInitVisitor): ToolContext */
+/* method local_var_init$LocalVarInitVisitor$toolcontext for (self: LocalVarInitVisitor): ToolContext */
 val* nitc__local_var_init___nitc__local_var_init__LocalVarInitVisitor___toolcontext(val* self) {
 val* var /* : ToolContext */;
 val* var1 /* : ToolContext */;
 var1 = self->attrs[COLOR_nitc__local_var_init__LocalVarInitVisitor___toolcontext].val; /* _toolcontext on <self:LocalVarInitVisitor> */
 if (unlikely(var1 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__local_var_init, 46);
 fatal_exit(1);
@@ -69,17 +78,20 @@ var = var1;
 RET_LABEL:;
 return var;
 }
-/* method local_var_init#LocalVarInitVisitor#toolcontext= for (self: LocalVarInitVisitor, ToolContext) */
+/* method local_var_init$LocalVarInitVisitor$toolcontext= for (self: LocalVarInitVisitor, ToolContext) */
 void nitc__local_var_init___nitc__local_var_init__LocalVarInitVisitor___toolcontext_61d(val* self, val* p0) {
 self->attrs[COLOR_nitc__local_var_init__LocalVarInitVisitor___toolcontext].val = p0; /* _toolcontext on <self:LocalVarInitVisitor> */
 RET_LABEL:;
 }
-/* method local_var_init#LocalVarInitVisitor#maybe_unset_vars for (self: LocalVarInitVisitor): Set[Variable] */
+/* method local_var_init$LocalVarInitVisitor$maybe_unset_vars for (self: LocalVarInitVisitor): Set[Variable] */
 val* nitc__local_var_init___nitc__local_var_init__LocalVarInitVisitor___maybe_unset_vars(val* self) {
 val* var /* : Set[Variable] */;
 val* var1 /* : Set[Variable] */;
 var1 = self->attrs[COLOR_nitc__local_var_init__LocalVarInitVisitor___maybe_unset_vars].val; /* _maybe_unset_vars on <self:LocalVarInitVisitor> */
 if (unlikely(var1 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _maybe_unset_vars");
 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__local_var_init, 48);
 fatal_exit(1);
@@ -88,7 +100,7 @@ var = var1;
 RET_LABEL:;
 return var;
 }
-/* method local_var_init#LocalVarInitVisitor#mark_is_unset for (self: LocalVarInitVisitor, AExpr, nullable Variable) */
+/* method local_var_init$LocalVarInitVisitor$mark_is_unset for (self: LocalVarInitVisitor, AExpr, nullable Variable) */
 void nitc__local_var_init___nitc__local_var_init__LocalVarInitVisitor___mark_is_unset(val* self, val* p0, val* p1) {
 val* var_node /* var node: AExpr */;
 val* var_variable /* var variable: nullable Variable */;
@@ -107,7 +119,7 @@ var = 0; /* is null */
 var = 1; /* arg is null and recv is not */
 }
 if (0) {
-{ /* Inline kernel#Object#!= (var_variable,((val*)NULL)) on <var_variable:nullable Variable> */
+{ /* Inline kernel$Object$!= (var_variable,((val*)NULL)) on <var_variable:nullable Variable> */
 var_other = ((val*)NULL);
 {
 var3 = ((short int(*)(val* self, val* p0))(var_variable->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_variable, var_other); /* == on <var_variable:nullable Variable(Variable)>*/
@@ -120,14 +132,20 @@ RET_LABEL2:(void)0;
 var = var1;
 }
 if (unlikely(!var)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Assert failed");
 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__local_var_init, 53);
 fatal_exit(1);
 }
 {
-{ /* Inline local_var_init#LocalVarInitVisitor#maybe_unset_vars (self) on <self:LocalVarInitVisitor> */
+{ /* Inline local_var_init$LocalVarInitVisitor$maybe_unset_vars (self) on <self:LocalVarInitVisitor> */
 var7 = self->attrs[COLOR_nitc__local_var_init__LocalVarInitVisitor___maybe_unset_vars].val; /* _maybe_unset_vars on <self:LocalVarInitVisitor> */
 if (unlikely(var7 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _maybe_unset_vars");
 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__local_var_init, 48);
 fatal_exit(1);
@@ -141,7 +159,7 @@ RET_LABEL6:(void)0;
 }
 RET_LABEL:;
 }
-/* method local_var_init#LocalVarInitVisitor#mark_is_set for (self: LocalVarInitVisitor, AExpr, nullable Variable) */
+/* method local_var_init$LocalVarInitVisitor$mark_is_set for (self: LocalVarInitVisitor, AExpr, nullable Variable) */
 void nitc__local_var_init___nitc__local_var_init__LocalVarInitVisitor___mark_is_set(val* self, val* p0, val* p1) {
 val* var_node /* var node: AExpr */;
 val* var_variable /* var variable: nullable Variable */;
@@ -167,7 +185,7 @@ var = 0; /* is null */
 var = 1; /* arg is null and recv is not */
 }
 if (0) {
-{ /* Inline kernel#Object#!= (var_variable,((val*)NULL)) on <var_variable:nullable Variable> */
+{ /* Inline kernel$Object$!= (var_variable,((val*)NULL)) on <var_variable:nullable Variable> */
 var_other = ((val*)NULL);
 {
 var3 = ((short int(*)(val* self, val* p0))(var_variable->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_variable, var_other); /* == on <var_variable:nullable Variable(Variable)>*/
@@ -180,14 +198,20 @@ RET_LABEL2:(void)0;
 var = var1;
 }
 if (unlikely(!var)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Assert failed");
 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__local_var_init, 59);
 fatal_exit(1);
 }
 {
-{ /* Inline local_var_init#LocalVarInitVisitor#maybe_unset_vars (self) on <self:LocalVarInitVisitor> */
+{ /* Inline local_var_init$LocalVarInitVisitor$maybe_unset_vars (self) on <self:LocalVarInitVisitor> */
 var7 = self->attrs[COLOR_nitc__local_var_init__LocalVarInitVisitor___maybe_unset_vars].val; /* _maybe_unset_vars on <self:LocalVarInitVisitor> */
 if (unlikely(var7 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _maybe_unset_vars");
 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__local_var_init, 48);
 fatal_exit(1);
@@ -205,22 +229,28 @@ goto RET_LABEL;
 } else {
 }
 {
-{ /* Inline flow#AExpr#after_flow_context (var_node) on <var_node:AExpr> */
+{ /* Inline flow$AExpr$after_flow_context (var_node) on <var_node:AExpr> */
 var12 = var_node->attrs[COLOR_nitc__flow__AExpr___after_flow_context].val; /* _after_flow_context on <var_node:AExpr> */
 var10 = var12;
 RET_LABEL11:(void)0;
 }
 }
 if (unlikely(var10 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Cast failed");
 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__local_var_init, 62);
 fatal_exit(1);
 }
 var_flow = var10;
 {
-{ /* Inline local_var_init#FlowContext#set_vars (var_flow) on <var_flow:FlowContext> */
+{ /* Inline local_var_init$FlowContext$set_vars (var_flow) on <var_flow:FlowContext> */
 var15 = var_flow->attrs[COLOR_nitc__local_var_init__FlowContext___set_vars].val; /* _set_vars on <var_flow:FlowContext> */
 if (unlikely(var15 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _set_vars");
 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__local_var_init, 86);
 fatal_exit(1);
@@ -234,7 +264,7 @@ RET_LABEL14:(void)0;
 }
 RET_LABEL:;
 }
-/* method local_var_init#LocalVarInitVisitor#check_is_set for (self: LocalVarInitVisitor, AExpr, nullable Variable) */
+/* method local_var_init$LocalVarInitVisitor$check_is_set for (self: LocalVarInitVisitor, AExpr, nullable Variable) */
 void nitc__local_var_init___nitc__local_var_init__LocalVarInitVisitor___check_is_set(val* self, val* p0, val* p1) {
 val* var_node /* var node: AExpr */;
 val* var_variable /* var variable: nullable Variable */;
@@ -259,17 +289,25 @@ val* var19 /* : NativeArray[String] */;
 static val* varonce;
 static val* varonce20;
 val* var21 /* : String */;
-char* var22 /* : NativeString */;
+char* var22 /* : CString */;
 val* var23 /* : String */;
-static val* varonce24;
-val* var25 /* : String */;
-char* var26 /* : NativeString */;
-val* var27 /* : String */;
-val* var28 /* : String */;
+val* var24 /* : nullable Int */;
+val* var25 /* : nullable Int */;
+val* var26 /* : nullable Bool */;
+val* var27 /* : nullable Bool */;
+static val* varonce28;
 val* var29 /* : String */;
-val* var30 /* : Message */;
-val* var31 /* : Set[Variable] */;
-val* var33 /* : Set[Variable] */;
+char* var30 /* : CString */;
+val* var31 /* : String */;
+val* var32 /* : nullable Int */;
+val* var33 /* : nullable Int */;
+val* var34 /* : nullable Bool */;
+val* var35 /* : nullable Bool */;
+val* var36 /* : String */;
+val* var37 /* : String */;
+val* var38 /* : Message */;
+val* var39 /* : Set[Variable] */;
+val* var41 /* : Set[Variable] */;
 var_node = p0;
 var_variable = p1;
 if (var_variable == NULL) {
@@ -278,7 +316,7 @@ var = 0; /* is null */
 var = 1; /* arg is null and recv is not */
 }
 if (0) {
-{ /* Inline kernel#Object#!= (var_variable,((val*)NULL)) on <var_variable:nullable Variable> */
+{ /* Inline kernel$Object$!= (var_variable,((val*)NULL)) on <var_variable:nullable Variable> */
 var_other = ((val*)NULL);
 {
 var3 = ((short int(*)(val* self, val* p0))(var_variable->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_variable, var_other); /* == on <var_variable:nullable Variable(Variable)>*/
@@ -291,14 +329,20 @@ RET_LABEL2:(void)0;
 var = var1;
 }
 if (unlikely(!var)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Assert failed");
 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__local_var_init, 68);
 fatal_exit(1);
 }
 {
-{ /* Inline local_var_init#LocalVarInitVisitor#maybe_unset_vars (self) on <self:LocalVarInitVisitor> */
+{ /* Inline local_var_init$LocalVarInitVisitor$maybe_unset_vars (self) on <self:LocalVarInitVisitor> */
 var7 = self->attrs[COLOR_nitc__local_var_init__LocalVarInitVisitor___maybe_unset_vars].val; /* _maybe_unset_vars on <self:LocalVarInitVisitor> */
 if (unlikely(var7 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _maybe_unset_vars");
 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__local_var_init, 48);
 fatal_exit(1);
@@ -316,13 +360,16 @@ goto RET_LABEL;
 } else {
 }
 {
-{ /* Inline flow#AExpr#after_flow_context (var_node) on <var_node:AExpr> */
+{ /* Inline flow$AExpr$after_flow_context (var_node) on <var_node:AExpr> */
 var12 = var_node->attrs[COLOR_nitc__flow__AExpr___after_flow_context].val; /* _after_flow_context on <var_node:AExpr> */
 var10 = var12;
 RET_LABEL11:(void)0;
 }
 }
 if (unlikely(var10 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Cast failed");
 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__local_var_init, 71);
 fatal_exit(1);
@@ -334,9 +381,12 @@ var13 = nitc__local_var_init___FlowContext___is_variable_set(var_flow, var_varia
 var14 = !var13;
 if (var14){
 {
-{ /* Inline local_var_init#LocalVarInitVisitor#toolcontext (self) on <self:LocalVarInitVisitor> */
+{ /* Inline local_var_init$LocalVarInitVisitor$toolcontext (self) on <self:LocalVarInitVisitor> */
 var17 = self->attrs[COLOR_nitc__local_var_init__LocalVarInitVisitor___toolcontext].val; /* _toolcontext on <self:LocalVarInitVisitor> */
 if (unlikely(var17 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__local_var_init, 46);
 fatal_exit(1);
@@ -349,60 +399,71 @@ RET_LABEL16:(void)0;
 var18 = nitc___nitc__ANode___hot_location(var_node);
 }
 if (unlikely(varonce==NULL)) {
-var19 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String);
+var19 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String);
 if (likely(varonce20!=NULL)) {
 var21 = varonce20;
 } else {
 var22 = "Error: possibly unset variable `";
-var23 = core__flat___NativeString___to_s_full(var22, 32l, 32l);
+var24 = (val*)(32l<<2|1);
+var25 = (val*)(32l<<2|1);
+var26 = (val*)((long)(0)<<2|3);
+var27 = (val*)((long)(0)<<2|3);
+var23 = core__flat___CString___to_s_unsafe(var22, var24, var25, var26, var27);
 var21 = var23;
 varonce20 = var21;
 }
 ((struct instance_core__NativeArray*)var19)->values[0]=var21;
-if (likely(varonce24!=NULL)) {
-var25 = varonce24;
+if (likely(varonce28!=NULL)) {
+var29 = varonce28;
 } else {
-var26 = "`.";
-var27 = core__flat___NativeString___to_s_full(var26, 2l, 2l);
-var25 = var27;
-varonce24 = var25;
-}
-((struct instance_core__NativeArray*)var19)->values[2]=var25;
+var30 = "`.";
+var32 = (val*)(2l<<2|1);
+var33 = (val*)(2l<<2|1);
+var34 = (val*)((long)(0)<<2|3);
+var35 = (val*)((long)(0)<<2|3);
+var31 = core__flat___CString___to_s_unsafe(var30, var32, var33, var34, var35);
+var29 = var31;
+varonce28 = var29;
+}
+((struct instance_core__NativeArray*)var19)->values[2]=var29;
 } else {
 var19 = varonce;
 varonce = NULL;
 }
 {
-var28 = ((val*(*)(val* self))(var_variable->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_variable); /* to_s on <var_variable:nullable Variable(Variable)>*/
+var36 = ((val*(*)(val* self))(var_variable->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_variable); /* to_s on <var_variable:nullable Variable(Variable)>*/
 }
-((struct instance_core__NativeArray*)var19)->values[1]=var28;
+((struct instance_core__NativeArray*)var19)->values[1]=var36;
 {
-var29 = ((val*(*)(val* self))(var19->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var19); /* native_to_s on <var19:NativeArray[String]>*/
+var37 = ((val*(*)(val* self))(var19->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var19); /* native_to_s on <var19:NativeArray[String]>*/
 }
 varonce = var19;
 {
-var30 = nitc___nitc__ToolContext___error(var15, var18, var29);
+var38 = nitc___nitc__ToolContext___error(var15, var18, var37);
 }
 {
-{ /* Inline local_var_init#LocalVarInitVisitor#maybe_unset_vars (self) on <self:LocalVarInitVisitor> */
-var33 = self->attrs[COLOR_nitc__local_var_init__LocalVarInitVisitor___maybe_unset_vars].val; /* _maybe_unset_vars on <self:LocalVarInitVisitor> */
-if (unlikely(var33 == NULL)) {
+{ /* Inline local_var_init$LocalVarInitVisitor$maybe_unset_vars (self) on <self:LocalVarInitVisitor> */
+var41 = self->attrs[COLOR_nitc__local_var_init__LocalVarInitVisitor___maybe_unset_vars].val; /* _maybe_unset_vars on <self:LocalVarInitVisitor> */
+if (unlikely(var41 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _maybe_unset_vars");
 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__local_var_init, 48);
 fatal_exit(1);
 }
-var31 = var33;
-RET_LABEL32:(void)0;
+var39 = var41;
+RET_LABEL40:(void)0;
 }
 }
 {
-((void(*)(val* self, val* p0))((((long)var31&3)?class_info[((long)var31&3)]:var31->class)->vft[COLOR_core__abstract_collection__RemovableCollection__remove]))(var31, var_variable); /* remove on <var31:Set[Variable]>*/
+((void(*)(val* self, val* p0))((((long)var39&3)?class_info[((long)var39&3)]:var39->class)->vft[COLOR_core__abstract_collection__RemovableCollection__remove]))(var39, var_variable); /* remove on <var39:Set[Variable]>*/
 }
 } else {
 }
 RET_LABEL:;
 }
-/* method local_var_init#LocalVarInitVisitor#visit for (self: LocalVarInitVisitor, ANode) */
+/* method local_var_init$LocalVarInitVisitor$visit for (self: LocalVarInitVisitor, ANode) */
 void nitc__local_var_init___nitc__local_var_init__LocalVarInitVisitor___nitc__parser_nodes__Visitor__visit(val* self, val* p0) {
 val* var_n /* var n: ANode */;
 var_n = p0;
@@ -411,19 +472,22 @@ var_n = p0;
 }
 RET_LABEL:;
 }
-/* method local_var_init#LocalVarInitVisitor#init for (self: LocalVarInitVisitor) */
+/* method local_var_init$LocalVarInitVisitor$init for (self: LocalVarInitVisitor) */
 void nitc__local_var_init___nitc__local_var_init__LocalVarInitVisitor___core__kernel__Object__init(val* self) {
 {
 ((void(*)(val* self))(self->class->vft[COLOR_nitc__local_var_init___nitc__local_var_init__LocalVarInitVisitor___core__kernel__Object__init]))(self); /* init on <self:LocalVarInitVisitor>*/
 }
 RET_LABEL:;
 }
-/* method local_var_init#FlowContext#set_vars for (self: FlowContext): Set[Variable] */
+/* method local_var_init$FlowContext$set_vars for (self: FlowContext): Set[Variable] */
 val* nitc__local_var_init___FlowContext___set_vars(val* self) {
 val* var /* : Set[Variable] */;
 val* var1 /* : Set[Variable] */;
 var1 = self->attrs[COLOR_nitc__local_var_init__FlowContext___set_vars].val; /* _set_vars on <self:FlowContext> */
 if (unlikely(var1 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _set_vars");
 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__local_var_init, 86);
 fatal_exit(1);
@@ -432,7 +496,7 @@ var = var1;
 RET_LABEL:;
 return var;
 }
-/* method local_var_init#FlowContext#is_variable_set for (self: FlowContext, Variable): Bool */
+/* method local_var_init$FlowContext$is_variable_set for (self: FlowContext, Variable): Bool */
 short int nitc__local_var_init___FlowContext___is_variable_set(val* self, val* p0) {
 short int var /* : Bool */;
 val* var_variable /* var variable: Variable */;
@@ -466,9 +530,12 @@ val* var31 /* : Set[Variable] */;
 val* var33 /* : Set[Variable] */;
 var_variable = p0;
 {
-{ /* Inline local_var_init#FlowContext#set_vars (self) on <self:FlowContext> */
+{ /* Inline local_var_init$FlowContext$set_vars (self) on <self:FlowContext> */
 var3 = self->attrs[COLOR_nitc__local_var_init__FlowContext___set_vars].val; /* _set_vars on <self:FlowContext> */
 if (unlikely(var3 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _set_vars");
 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__local_var_init, 86);
 fatal_exit(1);
@@ -486,9 +553,12 @@ goto RET_LABEL;
 } else {
 }
 {
-{ /* Inline flow#FlowContext#previous (self) on <self:FlowContext> */
+{ /* Inline flow$FlowContext$previous (self) on <self:FlowContext> */
 var7 = self->attrs[COLOR_nitc__flow__FlowContext___previous].val; /* _previous on <self:FlowContext> */
 if (unlikely(var7 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _previous");
 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 189);
 fatal_exit(1);
@@ -499,14 +569,14 @@ RET_LABEL6:(void)0;
 }
 var_previous = var5;
 {
-{ /* Inline array#AbstractArrayRead#length (var_previous) on <var_previous:Array[FlowContext]> */
+{ /* Inline array$AbstractArrayRead$length (var_previous) on <var_previous:Array[FlowContext]> */
 var10 = var_previous->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on <var_previous:Array[FlowContext]> */
 var8 = var10;
 RET_LABEL9:(void)0;
 }
 }
 {
-{ /* Inline kernel#Int#== (var8,0l) on <var8:Int> */
+{ /* Inline kernel$Int$== (var8,0l) on <var8:Int> */
 var13 = var8 == 0l;
 var11 = var13;
 goto RET_LABEL12;
@@ -519,14 +589,14 @@ goto RET_LABEL;
 } else {
 }
 {
-{ /* Inline array#AbstractArrayRead#length (var_previous) on <var_previous:Array[FlowContext]> */
+{ /* Inline array$AbstractArrayRead$length (var_previous) on <var_previous:Array[FlowContext]> */
 var16 = var_previous->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on <var_previous:Array[FlowContext]> */
 var14 = var16;
 RET_LABEL15:(void)0;
 }
 }
 {
-{ /* Inline kernel#Int#== (var14,1l) on <var14:Int> */
+{ /* Inline kernel$Int$== (var14,1l) on <var14:Int> */
 var19 = var14 == 1l;
 var17 = var19;
 goto RET_LABEL18;
@@ -545,9 +615,12 @@ goto RET_LABEL;
 } else {
 }
 {
-{ /* Inline flow#FlowContext#previous (self) on <self:FlowContext> */
+{ /* Inline flow$FlowContext$previous (self) on <self:FlowContext> */
 var24 = self->attrs[COLOR_nitc__flow__FlowContext___previous].val; /* _previous on <self:FlowContext> */
 if (unlikely(var24 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _previous");
 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 189);
 fatal_exit(1);
@@ -591,9 +664,12 @@ BREAK_label: (void)0;
 ((void(*)(val* self))((((long)var_26&3)?class_info[((long)var_26&3)]:var_26->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_26); /* finish on <var_26:IndexedIterator[FlowContext]>*/
 }
 {
-{ /* Inline local_var_init#FlowContext#set_vars (self) on <self:FlowContext> */
+{ /* Inline local_var_init$FlowContext$set_vars (self) on <self:FlowContext> */
 var33 = self->attrs[COLOR_nitc__local_var_init__FlowContext___set_vars].val; /* _set_vars on <self:FlowContext> */
 if (unlikely(var33 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _set_vars");
 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__local_var_init, 86);
 fatal_exit(1);
@@ -610,7 +686,7 @@ goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
-/* method local_var_init#ANode#accept_local_var_visitor for (self: ANode, LocalVarInitVisitor) */
+/* method local_var_init$ANode$accept_local_var_visitor for (self: ANode, LocalVarInitVisitor) */
 void nitc__local_var_init___ANode___accept_local_var_visitor(val* self, val* p0) {
 val* var_v /* var v: LocalVarInitVisitor */;
 var_v = p0;
@@ -619,7 +695,7 @@ var_v = p0;
 }
 RET_LABEL:;
 }
-/* method local_var_init#AVardeclExpr#accept_local_var_visitor for (self: AVardeclExpr, LocalVarInitVisitor) */
+/* method local_var_init$AVardeclExpr$accept_local_var_visitor for (self: AVardeclExpr, LocalVarInitVisitor) */
 void nitc__local_var_init___AVardeclExpr___ANode__accept_local_var_visitor(val* self, val* p0) {
 val* var_v /* var v: LocalVarInitVisitor */;
 val* var /* : nullable AExpr */;
@@ -636,7 +712,7 @@ var_v = p0;
 ((void(*)(val* self, val* p0))(self->class->vft[COLOR_nitc__local_var_init___AVardeclExpr___ANode__accept_local_var_visitor]))(self, p0); /* accept_local_var_visitor on <self:AVardeclExpr>*/
 }
 {
-{ /* Inline parser_nodes#AVardeclExpr#n_expr (self) on <self:AVardeclExpr> */
+{ /* Inline parser_nodes$AVardeclExpr$n_expr (self) on <self:AVardeclExpr> */
 var2 = self->attrs[COLOR_nitc__parser_nodes__AVardeclExpr___n_expr].val; /* _n_expr on <self:AVardeclExpr> */
 var = var2;
 RET_LABEL1:(void)0;
@@ -648,10 +724,10 @@ var3 = 1; /* is null */
 var3 = 0; /* arg is null but recv is not */
 }
 if (0) {
-{ /* Inline kernel#Object#== (var,((val*)NULL)) on <var:nullable AExpr> */
+{ /* Inline kernel$Object$== (var,((val*)NULL)) on <var:nullable AExpr> */
 var_other = ((val*)NULL);
 {
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:nullable AExpr(AExpr)> */
+{ /* Inline kernel$Object$is_same_instance (var,var_other) on <var:nullable AExpr(AExpr)> */
 var8 = var == var_other;
 var6 = var8;
 goto RET_LABEL7;
@@ -666,20 +742,20 @@ var3 = var4;
 }
 if (var3){
 {
-{ /* Inline scope#AVardeclExpr#variable (self) on <self:AVardeclExpr> */
+{ /* Inline scope$AVardeclExpr$variable (self) on <self:AVardeclExpr> */
 var11 = self->attrs[COLOR_nitc__scope__AVardeclExpr___variable].val; /* _variable on <self:AVardeclExpr> */
 var9 = var11;
 RET_LABEL10:(void)0;
 }
 }
 {
-nitc__local_var_init___nitc__local_var_init__LocalVarInitVisitor___mark_is_unset(var_v, self, var9); /* Direct call local_var_init#LocalVarInitVisitor#mark_is_unset on <var_v:LocalVarInitVisitor>*/
+nitc__local_var_init___nitc__local_var_init__LocalVarInitVisitor___mark_is_unset(var_v, self, var9); /* Direct call local_var_init$LocalVarInitVisitor$mark_is_unset on <var_v:LocalVarInitVisitor>*/
 }
 } else {
 }
 RET_LABEL:;
 }
-/* method local_var_init#AVarExpr#accept_local_var_visitor for (self: AVarExpr, LocalVarInitVisitor) */
+/* method local_var_init$AVarExpr$accept_local_var_visitor for (self: AVarExpr, LocalVarInitVisitor) */
 void nitc__local_var_init___AVarExpr___ANode__accept_local_var_visitor(val* self, val* p0) {
 val* var_v /* var v: LocalVarInitVisitor */;
 val* var /* : nullable Variable */;
@@ -689,18 +765,18 @@ var_v = p0;
 ((void(*)(val* self, val* p0))(self->class->vft[COLOR_nitc__local_var_init___AVarExpr___ANode__accept_local_var_visitor]))(self, p0); /* accept_local_var_visitor on <self:AVarExpr>*/
 }
 {
-{ /* Inline scope#AVarFormExpr#variable (self) on <self:AVarExpr> */
+{ /* Inline scope$AVarFormExpr$variable (self) on <self:AVarExpr> */
 var2 = self->attrs[COLOR_nitc__scope__AVarFormExpr___variable].val; /* _variable on <self:AVarExpr> */
 var = var2;
 RET_LABEL1:(void)0;
 }
 }
 {
-nitc__local_var_init___nitc__local_var_init__LocalVarInitVisitor___check_is_set(var_v, self, var); /* Direct call local_var_init#LocalVarInitVisitor#check_is_set on <var_v:LocalVarInitVisitor>*/
+nitc__local_var_init___nitc__local_var_init__LocalVarInitVisitor___check_is_set(var_v, self, var); /* Direct call local_var_init$LocalVarInitVisitor$check_is_set on <var_v:LocalVarInitVisitor>*/
 }
 RET_LABEL:;
 }
-/* method local_var_init#AVarAssignExpr#accept_local_var_visitor for (self: AVarAssignExpr, LocalVarInitVisitor) */
+/* method local_var_init$AVarAssignExpr$accept_local_var_visitor for (self: AVarAssignExpr, LocalVarInitVisitor) */
 void nitc__local_var_init___AVarAssignExpr___ANode__accept_local_var_visitor(val* self, val* p0) {
 val* var_v /* var v: LocalVarInitVisitor */;
 val* var /* : nullable Variable */;
@@ -710,18 +786,18 @@ var_v = p0;
 ((void(*)(val* self, val* p0))(self->class->vft[COLOR_nitc__local_var_init___AVarAssignExpr___ANode__accept_local_var_visitor]))(self, p0); /* accept_local_var_visitor on <self:AVarAssignExpr>*/
 }
 {
-{ /* Inline scope#AVarFormExpr#variable (self) on <self:AVarAssignExpr> */
+{ /* Inline scope$AVarFormExpr$variable (self) on <self:AVarAssignExpr> */
 var2 = self->attrs[COLOR_nitc__scope__AVarFormExpr___variable].val; /* _variable on <self:AVarAssignExpr> */
 var = var2;
 RET_LABEL1:(void)0;
 }
 }
 {
-nitc__local_var_init___nitc__local_var_init__LocalVarInitVisitor___mark_is_set(var_v, self, var); /* Direct call local_var_init#LocalVarInitVisitor#mark_is_set on <var_v:LocalVarInitVisitor>*/
+nitc__local_var_init___nitc__local_var_init__LocalVarInitVisitor___mark_is_set(var_v, self, var); /* Direct call local_var_init$LocalVarInitVisitor$mark_is_set on <var_v:LocalVarInitVisitor>*/
 }
 RET_LABEL:;
 }
-/* method local_var_init#AVarReassignExpr#accept_local_var_visitor for (self: AVarReassignExpr, LocalVarInitVisitor) */
+/* method local_var_init$AVarReassignExpr$accept_local_var_visitor for (self: AVarReassignExpr, LocalVarInitVisitor) */
 void nitc__local_var_init___AVarReassignExpr___ANode__accept_local_var_visitor(val* self, val* p0) {
 val* var_v /* var v: LocalVarInitVisitor */;
 val* var /* : nullable Variable */;
@@ -731,14 +807,14 @@ var_v = p0;
 ((void(*)(val* self, val* p0))(self->class->vft[COLOR_nitc__local_var_init___AVarReassignExpr___ANode__accept_local_var_visitor]))(self, p0); /* accept_local_var_visitor on <self:AVarReassignExpr>*/
 }
 {
-{ /* Inline scope#AVarFormExpr#variable (self) on <self:AVarReassignExpr> */
+{ /* Inline scope$AVarFormExpr$variable (self) on <self:AVarReassignExpr> */
 var2 = self->attrs[COLOR_nitc__scope__AVarFormExpr___variable].val; /* _variable on <self:AVarReassignExpr> */
 var = var2;
 RET_LABEL1:(void)0;
 }
 }
 {
-nitc__local_var_init___nitc__local_var_init__LocalVarInitVisitor___check_is_set(var_v, self, var); /* Direct call local_var_init#LocalVarInitVisitor#check_is_set on <var_v:LocalVarInitVisitor>*/
+nitc__local_var_init___nitc__local_var_init__LocalVarInitVisitor___check_is_set(var_v, self, var); /* Direct call local_var_init$LocalVarInitVisitor$check_is_set on <var_v:LocalVarInitVisitor>*/
 }
 RET_LABEL:;
 }