X-Git-Url: http://nitlanguage.org diff --git a/c_src/nitc__flow.sep.1.c b/c_src/nitc__flow.sep.1.c index 9c58f88..c4561b5 100644 --- a/c_src/nitc__flow.sep.1.c +++ b/c_src/nitc__flow.sep.1.c @@ -1,10 +1,13 @@ #include "nitc__flow.sep.0.h" -/* method flow#ToolContext#flow_phase for (self: ToolContext): Phase */ +/* method flow$ToolContext$flow_phase for (self: ToolContext): Phase */ val* nitc__flow___ToolContext___flow_phase(val* self) { val* var /* : Phase */; val* var1 /* : Phase */; var1 = self->attrs[COLOR_nitc__flow__ToolContext___flow_phase].val; /* _flow_phase on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _flow_phase"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 23); fatal_exit(1); @@ -13,18 +16,21 @@ var = var1; RET_LABEL:; return var; } -/* method flow#FlowPhase#process_npropdef for (self: FlowPhase, APropdef) */ +/* method flow$FlowPhase$process_npropdef for (self: FlowPhase, APropdef) */ void nitc__flow___nitc__flow__FlowPhase___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 */ +{ /* Inline phase$Phase$toolcontext (self) on */ var2 = self->attrs[COLOR_nitc__phase__Phase___toolcontext].val; /* _toolcontext on */ 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,16 +38,19 @@ RET_LABEL1:(void)0; } } { -nitc__flow___APropdef___do_flow(var_npropdef, var); /* Direct call flow#APropdef#do_flow on */ +nitc__flow___APropdef___do_flow(var_npropdef, var); /* Direct call flow$APropdef$do_flow on */ } RET_LABEL:; } -/* method flow#FlowVisitor#current_flow_context for (self: FlowVisitor): FlowContext */ +/* method flow$FlowVisitor$current_flow_context for (self: FlowVisitor): FlowContext */ val* nitc__flow___nitc__flow__FlowVisitor___current_flow_context(val* self) { val* var /* : FlowContext */; val* var1 /* : FlowContext */; var1 = self->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 37); fatal_exit(1); @@ -50,17 +59,20 @@ var = var1; RET_LABEL:; return var; } -/* method flow#FlowVisitor#current_flow_context= for (self: FlowVisitor, FlowContext) */ +/* method flow$FlowVisitor$current_flow_context= for (self: FlowVisitor, FlowContext) */ void nitc__flow___nitc__flow__FlowVisitor___current_flow_context_61d(val* self, val* p0) { self->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val = p0; /* _current_flow_context on */ RET_LABEL:; } -/* method flow#FlowVisitor#toolcontext for (self: FlowVisitor): ToolContext */ +/* method flow$FlowVisitor$toolcontext for (self: FlowVisitor): ToolContext */ val* nitc__flow___nitc__flow__FlowVisitor___toolcontext(val* self) { val* var /* : ToolContext */; val* var1 /* : ToolContext */; var1 = self->attrs[COLOR_nitc__flow__FlowVisitor___toolcontext].val; /* _toolcontext on */ 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__flow, 39); fatal_exit(1); @@ -69,12 +81,12 @@ var = var1; RET_LABEL:; return var; } -/* method flow#FlowVisitor#toolcontext= for (self: FlowVisitor, ToolContext) */ +/* method flow$FlowVisitor$toolcontext= for (self: FlowVisitor, ToolContext) */ void nitc__flow___nitc__flow__FlowVisitor___toolcontext_61d(val* self, val* p0) { self->attrs[COLOR_nitc__flow__FlowVisitor___toolcontext].val = p0; /* _toolcontext on */ RET_LABEL:; } -/* method flow#FlowVisitor#init for (self: FlowVisitor) */ +/* method flow$FlowVisitor$init for (self: FlowVisitor) */ void nitc__flow___nitc__flow__FlowVisitor___core__kernel__Object__init(val* self) { val* var /* : Array[FlowContext] */; val* var2 /* : Array[FlowContext] */; @@ -86,9 +98,12 @@ val* var8 /* : FlowContext */; ((void(*)(val* self))(self->class->vft[COLOR_nitc__flow___nitc__flow__FlowVisitor___core__kernel__Object__init]))(self); /* init on */ } { -{ /* Inline flow#FlowVisitor#flows (self) on */ +{ /* Inline flow$FlowVisitor$flows (self) on */ var2 = self->attrs[COLOR_nitc__flow__FlowVisitor___flows].val; /* _flows on */ if (unlikely(var2 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _flows"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 76); fatal_exit(1); @@ -98,9 +113,12 @@ RET_LABEL1:(void)0; } } { -{ /* Inline flow#FlowVisitor#current_flow_context (self) on */ +{ /* Inline flow$FlowVisitor$current_flow_context (self) on */ var5 = self->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ if (unlikely(var5 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 37); fatal_exit(1); @@ -110,12 +128,15 @@ RET_LABEL4:(void)0; } } { -core___core__Array___core__abstract_collection__SimpleCollection__add(var, var3); /* Direct call array#Array#add on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var, var3); /* Direct call array$Array$add on */ } { -{ /* Inline flow#FlowVisitor#current_flow_context (self) on */ +{ /* Inline flow$FlowVisitor$current_flow_context (self) on */ var8 = self->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ if (unlikely(var8 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 37); fatal_exit(1); @@ -125,14 +146,14 @@ RET_LABEL7:(void)0; } } { -{ /* Inline flow#FlowContext#is_start= (var6,1) on */ +{ /* Inline flow$FlowContext$is_start= (var6,1) on */ var6->attrs[COLOR_nitc__flow__FlowContext___is_start].s = 1; /* _is_start on */ RET_LABEL9:(void)0; } } RET_LABEL:; } -/* method flow#FlowVisitor#first for (self: FlowVisitor): nullable ANode */ +/* method flow$FlowVisitor$first for (self: FlowVisitor): nullable ANode */ val* nitc__flow___nitc__flow__FlowVisitor___first(val* self) { val* var /* : nullable ANode */; val* var1 /* : nullable ANode */; @@ -141,12 +162,12 @@ var = var1; RET_LABEL:; return var; } -/* method flow#FlowVisitor#first= for (self: FlowVisitor, nullable ANode) */ +/* method flow$FlowVisitor$first= for (self: FlowVisitor, nullable ANode) */ void nitc__flow___nitc__flow__FlowVisitor___first_61d(val* self, val* p0) { self->attrs[COLOR_nitc__flow__FlowVisitor___first].val = p0; /* _first on */ RET_LABEL:; } -/* method flow#FlowVisitor#visit for (self: FlowVisitor, ANode) */ +/* method flow$FlowVisitor$visit for (self: FlowVisitor, ANode) */ void nitc__flow___nitc__flow__FlowVisitor___nitc__parser_nodes__Visitor__visit(val* self, val* p0) { val* var_node /* var node: ANode */; val* var /* : nullable ANode */; @@ -190,17 +211,21 @@ val* var48 /* : FlowContext */; val* var50 /* : FlowContext */; static val* varonce; val* var51 /* : String */; -char* var52 /* : NativeString */; +char* var52 /* : CString */; val* var53 /* : String */; -val* var55 /* : nullable ANode */; -val* var57 /* : nullable ANode */; -short int var58 /* : Bool */; -short int var59 /* : Bool */; -short int var61 /* : Bool */; +val* var54 /* : nullable Int */; +val* var55 /* : nullable Int */; +val* var56 /* : nullable Bool */; +val* var57 /* : nullable Bool */; +val* var59 /* : nullable ANode */; +val* var61 /* : nullable ANode */; +short int var62 /* : Bool */; short int var63 /* : Bool */; +short int var65 /* : Bool */; +short int var67 /* : Bool */; var_node = p0; { -{ /* Inline flow#FlowVisitor#first (self) on */ +{ /* Inline flow$FlowVisitor$first (self) on */ var2 = self->attrs[COLOR_nitc__flow__FlowVisitor___first].val; /* _first on */ var = var2; RET_LABEL1:(void)0; @@ -212,10 +237,10 @@ var3 = 1; /* is null */ var3 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +{ /* Inline kernel$Object$is_same_instance (var,var_other) on */ var8 = var == var_other; var6 = var8; goto RET_LABEL7; @@ -230,7 +255,7 @@ var3 = var4; } if (var3){ { -{ /* Inline flow#FlowVisitor#first= (self,var_node) on */ +{ /* Inline flow$FlowVisitor$first= (self,var_node) on */ self->attrs[COLOR_nitc__flow__FlowVisitor___first].val = var_node; /* _first on */ RET_LABEL9:(void)0; } @@ -238,9 +263,12 @@ RET_LABEL9:(void)0; } else { } { -{ /* Inline flow#FlowVisitor#current_flow_context (self) on */ +{ /* Inline flow$FlowVisitor$current_flow_context (self) on */ var12 = self->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ if (unlikely(var12 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 37); fatal_exit(1); @@ -250,7 +278,7 @@ RET_LABEL11:(void)0; } } { -{ /* Inline flow#FlowContext#node (var10) on */ +{ /* Inline flow$FlowContext$node (var10) on */ var15 = var10->attrs[COLOR_nitc__flow__FlowContext___node].val; /* _node on */ var13 = var15; RET_LABEL14:(void)0; @@ -262,10 +290,10 @@ var16 = 1; /* is null */ var16 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var13,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var13,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var13,var_other) on */ +{ /* Inline kernel$Object$is_same_instance (var13,var_other) on */ var21 = var13 == var_other; var19 = var21; goto RET_LABEL20; @@ -280,9 +308,12 @@ var16 = var17; } if (var16){ { -{ /* Inline flow#FlowVisitor#current_flow_context (self) on */ +{ /* Inline flow$FlowVisitor$current_flow_context (self) on */ var24 = self->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ if (unlikely(var24 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 37); fatal_exit(1); @@ -292,7 +323,7 @@ RET_LABEL23:(void)0; } } { -{ /* Inline flow#FlowContext#node= (var22,var_node) on */ +{ /* Inline flow$FlowContext$node= (var22,var_node) on */ var22->attrs[COLOR_nitc__flow__FlowContext___node].val = var_node; /* _node on */ RET_LABEL25:(void)0; } @@ -312,9 +343,12 @@ var26 = var_node->type->type_table[cltype] == idtype; } if (var26){ { -{ /* Inline flow#FlowVisitor#current_flow_context (self) on */ +{ /* Inline flow$FlowVisitor$current_flow_context (self) on */ var29 = self->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ if (unlikely(var29 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 37); fatal_exit(1); @@ -325,15 +359,18 @@ RET_LABEL28:(void)0; } var_flow = var27; { -{ /* Inline flow#AExpr#after_flow_context= (var_node,var_flow) on */ +{ /* Inline flow$AExpr$after_flow_context= (var_node,var_flow) on */ var_node->attrs[COLOR_nitc__flow__AExpr___after_flow_context].val = var_flow; /* _after_flow_context on */ RET_LABEL30:(void)0; } } { -{ /* Inline flow#FlowContext#when_true (var_flow) on */ +{ /* Inline flow$FlowContext$when_true (var_flow) on */ var34 = var_flow->attrs[COLOR_nitc__flow__FlowContext___when_true].val; /* _when_true on */ if (unlikely(var34 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_true"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 225); fatal_exit(1); @@ -343,7 +380,7 @@ RET_LABEL33:(void)0; } } { -{ /* Inline kernel#Object#!= (var32,var_flow) on */ +{ /* Inline kernel$Object$!= (var32,var_flow) on */ var_other37 = var_flow; { var38 = ((short int(*)(val* self, val* p0))(var32->class->vft[COLOR_core__kernel__Object___61d_61d]))(var32, var_other37); /* == on */ @@ -359,9 +396,12 @@ if (var35){ var31 = var_; } else { { -{ /* Inline flow#FlowContext#when_false (var_flow) on */ +{ /* Inline flow$FlowContext$when_false (var_flow) on */ var42 = var_flow->attrs[COLOR_nitc__flow__FlowContext___when_false].val; /* _when_false on */ if (unlikely(var42 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_false"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 228); fatal_exit(1); @@ -371,7 +411,7 @@ RET_LABEL41:(void)0; } } { -{ /* Inline kernel#Object#!= (var40,var_flow) on */ +{ /* Inline kernel$Object$!= (var40,var_flow) on */ var_other37 = var_flow; { var45 = ((short int(*)(val* self, val* p0))(var40->class->vft[COLOR_core__kernel__Object___61d_61d]))(var40, var_other37); /* == on */ @@ -389,9 +429,12 @@ if (var31){ var47 = nitc__flow___nitc__flow__FlowVisitor___make_sub_flow(self); } { -{ /* Inline flow#FlowVisitor#current_flow_context (self) on */ +{ /* Inline flow$FlowVisitor$current_flow_context (self) on */ var50 = self->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ if (unlikely(var50 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 37); fatal_exit(1); @@ -404,14 +447,18 @@ if (likely(varonce!=NULL)) { var51 = varonce; } else { var52 = "AUTOSUB"; -var53 = core__flat___NativeString___to_s_full(var52, 7l, 7l); +var54 = (val*)(7l<<2|1); +var55 = (val*)(7l<<2|1); +var56 = (val*)((long)(0)<<2|3); +var57 = (val*)((long)(0)<<2|3); +var53 = core__flat___CString___to_s_unsafe(var52, var54, var55, var56, var57); var51 = var53; varonce = var51; } { -{ /* Inline flow#FlowContext#name= (var48,var51) on */ +{ /* Inline flow$FlowContext$name= (var48,var51) on */ var48->attrs[COLOR_nitc__flow__FlowContext___name].val = var51; /* _name on */ -RET_LABEL54:(void)0; +RET_LABEL58:(void)0; } } } else { @@ -419,37 +466,37 @@ RET_LABEL54:(void)0; } else { } { -{ /* Inline flow#FlowVisitor#first (self) on */ -var57 = self->attrs[COLOR_nitc__flow__FlowVisitor___first].val; /* _first on */ -var55 = var57; -RET_LABEL56:(void)0; +{ /* Inline flow$FlowVisitor$first (self) on */ +var61 = self->attrs[COLOR_nitc__flow__FlowVisitor___first].val; /* _first on */ +var59 = var61; +RET_LABEL60:(void)0; } } -if (var55 == NULL) { -var58 = 0; /* cannot be null */ +if (var59 == NULL) { +var62 = 0; /* cannot be null */ } else { -{ /* Inline kernel#Object#== (var55,var_node) on */ +{ /* Inline kernel$Object$== (var59,var_node) on */ var_other = var_node; { -{ /* Inline kernel#Object#is_same_instance (var55,var_other) on */ -var63 = var55 == var_other; -var61 = var63; -goto RET_LABEL62; -RET_LABEL62:(void)0; +{ /* Inline kernel$Object$is_same_instance (var59,var_other) on */ +var67 = var59 == var_other; +var65 = var67; +goto RET_LABEL66; +RET_LABEL66:(void)0; } } -var59 = var61; -goto RET_LABEL60; -RET_LABEL60:(void)0; +var63 = var65; +goto RET_LABEL64; +RET_LABEL64:(void)0; } -var58 = var59; +var62 = var63; } -if (var58){ +if (var62){ } else { } RET_LABEL:; } -/* method flow#FlowVisitor#visit_expr for (self: FlowVisitor, AExpr): FlowContext */ +/* method flow$FlowVisitor$visit_expr for (self: FlowVisitor, AExpr): FlowContext */ val* nitc__flow___nitc__flow__FlowVisitor___visit_expr(val* self, val* p0) { val* var /* : FlowContext */; val* var_node /* var node: AExpr */; @@ -457,16 +504,19 @@ val* var1 /* : nullable FlowContext */; val* var3 /* : nullable FlowContext */; var_node = p0; { -nitc___nitc__Visitor___enter_visit(self, var_node); /* Direct call parser_nodes#Visitor#enter_visit on */ +nitc___nitc__Visitor___enter_visit(self, var_node); /* Direct call parser_nodes$Visitor$enter_visit on */ } { -{ /* Inline flow#AExpr#after_flow_context (var_node) on */ +{ /* Inline flow$AExpr$after_flow_context (var_node) on */ var3 = var_node->attrs[COLOR_nitc__flow__AExpr___after_flow_context].val; /* _after_flow_context on */ var1 = var3; RET_LABEL2:(void)0; } } if (unlikely(var1 == 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__flow, 73); fatal_exit(1); @@ -476,12 +526,15 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method flow#FlowVisitor#flows for (self: FlowVisitor): Array[FlowContext] */ +/* method flow$FlowVisitor$flows for (self: FlowVisitor): Array[FlowContext] */ val* nitc__flow___nitc__flow__FlowVisitor___flows(val* self) { val* var /* : Array[FlowContext] */; val* var1 /* : Array[FlowContext] */; var1 = self->attrs[COLOR_nitc__flow__FlowVisitor___flows].val; /* _flows on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _flows"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 76); fatal_exit(1); @@ -490,7 +543,7 @@ var = var1; RET_LABEL:; return var; } -/* method flow#FlowVisitor#make_sub_flow for (self: FlowVisitor): FlowContext */ +/* method flow$FlowVisitor$make_sub_flow for (self: FlowVisitor): FlowContext */ val* nitc__flow___nitc__flow__FlowVisitor___make_sub_flow(val* self) { val* var /* : FlowContext */; val* var1 /* : FlowContext */; @@ -503,15 +556,18 @@ val* var10 /* : FlowContext */; val* var12 /* : FlowContext */; var1 = NEW_nitc__FlowContext(&type_nitc__FlowContext); { -{ /* Inline kernel#Object#init (var1) on */ +{ /* Inline kernel$Object$init (var1) on */ RET_LABEL2:(void)0; } } var_flow = var1; { -{ /* Inline flow#FlowVisitor#flows (self) on */ +{ /* Inline flow$FlowVisitor$flows (self) on */ var5 = self->attrs[COLOR_nitc__flow__FlowVisitor___flows].val; /* _flows on */ if (unlikely(var5 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _flows"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 76); fatal_exit(1); @@ -521,25 +577,28 @@ RET_LABEL4:(void)0; } } { -core___core__Array___core__abstract_collection__SimpleCollection__add(var3, var_flow); /* Direct call array#Array#add on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var3, var_flow); /* Direct call array$Array$add on */ } { -{ /* Inline parser_nodes#Visitor#current_node (self) on */ +{ /* Inline parser_nodes$Visitor$current_node (self) on */ var8 = self->attrs[COLOR_nitc__parser_nodes__Visitor___current_node].val; /* _current_node on */ var6 = var8; RET_LABEL7:(void)0; } } { -{ /* Inline flow#FlowContext#node= (var_flow,var6) on */ +{ /* Inline flow$FlowContext$node= (var_flow,var6) on */ var_flow->attrs[COLOR_nitc__flow__FlowContext___node].val = var6; /* _node on */ RET_LABEL9:(void)0; } } { -{ /* Inline flow#FlowVisitor#current_flow_context (self) on */ +{ /* Inline flow$FlowVisitor$current_flow_context (self) on */ var12 = self->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ if (unlikely(var12 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 37); fatal_exit(1); @@ -549,10 +608,10 @@ RET_LABEL11:(void)0; } } { -nitc___nitc__FlowContext___add_previous(var_flow, var10); /* Direct call flow#FlowContext#add_previous on */ +nitc___nitc__FlowContext___add_previous(var_flow, var10); /* Direct call flow$FlowContext$add_previous on */ } { -{ /* Inline flow#FlowVisitor#current_flow_context= (self,var_flow) on */ +{ /* Inline flow$FlowVisitor$current_flow_context= (self,var_flow) on */ self->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val = var_flow; /* _current_flow_context on */ RET_LABEL13:(void)0; } @@ -562,7 +621,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method flow#FlowVisitor#make_merge_flow for (self: FlowVisitor, FlowContext, FlowContext): FlowContext */ +/* method flow$FlowVisitor$make_merge_flow for (self: FlowVisitor, FlowContext, FlowContext): FlowContext */ val* nitc__flow___nitc__flow__FlowVisitor___make_merge_flow(val* self, val* p0, val* p1) { val* var /* : FlowContext */; val* var_flow1 /* var flow1: FlowContext */; @@ -577,15 +636,18 @@ var_flow1 = p0; var_flow2 = p1; var1 = NEW_nitc__FlowContext(&type_nitc__FlowContext); { -{ /* Inline kernel#Object#init (var1) on */ +{ /* Inline kernel$Object$init (var1) on */ RET_LABEL2:(void)0; } } var_flow = var1; { -{ /* Inline flow#FlowVisitor#flows (self) on */ +{ /* Inline flow$FlowVisitor$flows (self) on */ var5 = self->attrs[COLOR_nitc__flow__FlowVisitor___flows].val; /* _flows on */ if (unlikely(var5 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _flows"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 76); fatal_exit(1); @@ -595,29 +657,29 @@ RET_LABEL4:(void)0; } } { -core___core__Array___core__abstract_collection__SimpleCollection__add(var3, var_flow); /* Direct call array#Array#add on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var3, var_flow); /* Direct call array$Array$add on */ } { -{ /* Inline parser_nodes#Visitor#current_node (self) on */ +{ /* Inline parser_nodes$Visitor$current_node (self) on */ var8 = self->attrs[COLOR_nitc__parser_nodes__Visitor___current_node].val; /* _current_node on */ var6 = var8; RET_LABEL7:(void)0; } } { -{ /* Inline flow#FlowContext#node= (var_flow,var6) on */ +{ /* Inline flow$FlowContext$node= (var_flow,var6) on */ var_flow->attrs[COLOR_nitc__flow__FlowContext___node].val = var6; /* _node on */ RET_LABEL9:(void)0; } } { -nitc___nitc__FlowContext___add_previous(var_flow, var_flow1); /* Direct call flow#FlowContext#add_previous on */ +nitc___nitc__FlowContext___add_previous(var_flow, var_flow1); /* Direct call flow$FlowContext$add_previous on */ } { -nitc___nitc__FlowContext___add_previous(var_flow, var_flow2); /* Direct call flow#FlowContext#add_previous on */ +nitc___nitc__FlowContext___add_previous(var_flow, var_flow2); /* Direct call flow$FlowContext$add_previous on */ } { -{ /* Inline flow#FlowVisitor#current_flow_context= (self,var_flow) on */ +{ /* Inline flow$FlowVisitor$current_flow_context= (self,var_flow) on */ self->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val = var_flow; /* _current_flow_context on */ RET_LABEL10:(void)0; } @@ -627,7 +689,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method flow#FlowVisitor#make_true_false_flow for (self: FlowVisitor, FlowContext, FlowContext): FlowContext */ +/* method flow$FlowVisitor$make_true_false_flow for (self: FlowVisitor, FlowContext, FlowContext): FlowContext */ val* nitc__flow___nitc__flow__FlowVisitor___make_true_false_flow(val* self, val* p0, val* p1) { val* var /* : FlowContext */; val* var_true_flow /* var true_flow: FlowContext */; @@ -642,15 +704,18 @@ var_true_flow = p0; var_false_flow = p1; var1 = NEW_nitc__FlowContext(&type_nitc__FlowContext); { -{ /* Inline kernel#Object#init (var1) on */ +{ /* Inline kernel$Object$init (var1) on */ RET_LABEL2:(void)0; } } var_flow = var1; { -{ /* Inline flow#FlowVisitor#flows (self) on */ +{ /* Inline flow$FlowVisitor$flows (self) on */ var5 = self->attrs[COLOR_nitc__flow__FlowVisitor___flows].val; /* _flows on */ if (unlikely(var5 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _flows"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 76); fatal_exit(1); @@ -660,41 +725,41 @@ RET_LABEL4:(void)0; } } { -core___core__Array___core__abstract_collection__SimpleCollection__add(var3, var_flow); /* Direct call array#Array#add on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var3, var_flow); /* Direct call array$Array$add on */ } { -{ /* Inline parser_nodes#Visitor#current_node (self) on */ +{ /* Inline parser_nodes$Visitor$current_node (self) on */ var8 = self->attrs[COLOR_nitc__parser_nodes__Visitor___current_node].val; /* _current_node on */ var6 = var8; RET_LABEL7:(void)0; } } { -{ /* Inline flow#FlowContext#node= (var_flow,var6) on */ +{ /* Inline flow$FlowContext$node= (var_flow,var6) on */ var_flow->attrs[COLOR_nitc__flow__FlowContext___node].val = var6; /* _node on */ RET_LABEL9:(void)0; } } { -nitc___nitc__FlowContext___add_previous(var_flow, var_true_flow); /* Direct call flow#FlowContext#add_previous on */ +nitc___nitc__FlowContext___add_previous(var_flow, var_true_flow); /* Direct call flow$FlowContext$add_previous on */ } { -nitc___nitc__FlowContext___add_previous(var_flow, var_false_flow); /* Direct call flow#FlowContext#add_previous on */ +nitc___nitc__FlowContext___add_previous(var_flow, var_false_flow); /* Direct call flow$FlowContext$add_previous on */ } { -{ /* Inline flow#FlowContext#when_true= (var_flow,var_true_flow) on */ +{ /* Inline flow$FlowContext$when_true= (var_flow,var_true_flow) on */ var_flow->attrs[COLOR_nitc__flow__FlowContext___when_true].val = var_true_flow; /* _when_true on */ RET_LABEL10:(void)0; } } { -{ /* Inline flow#FlowContext#when_false= (var_flow,var_false_flow) on */ +{ /* Inline flow$FlowContext$when_false= (var_flow,var_false_flow) on */ var_flow->attrs[COLOR_nitc__flow__FlowContext___when_false].val = var_false_flow; /* _when_false on */ RET_LABEL11:(void)0; } } { -{ /* Inline flow#FlowVisitor#current_flow_context= (self,var_flow) on */ +{ /* Inline flow$FlowVisitor$current_flow_context= (self,var_flow) on */ self->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val = var_flow; /* _current_flow_context on */ RET_LABEL12:(void)0; } @@ -704,7 +769,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method flow#FlowVisitor#make_sub_true_false_flow for (self: FlowVisitor): FlowContext */ +/* method flow$FlowVisitor$make_sub_true_false_flow for (self: FlowVisitor): FlowContext */ val* nitc__flow___nitc__flow__FlowVisitor___make_sub_true_false_flow(val* self) { val* var /* : FlowContext */; val* var1 /* : FlowContext */; @@ -718,23 +783,34 @@ val* var9 /* : nullable ANode */; val* var11 /* : nullable ANode */; static val* varonce; val* var13 /* : String */; -char* var14 /* : NativeString */; +char* var14 /* : CString */; val* var15 /* : String */; -val* var17 /* : FlowContext */; +val* var16 /* : nullable Int */; +val* var17 /* : nullable Int */; +val* var18 /* : nullable Bool */; +val* var19 /* : nullable Bool */; +val* var21 /* : FlowContext */; val* var_false_flow /* var false_flow: FlowContext */; -val* var19 /* : Array[FlowContext] */; -val* var21 /* : Array[FlowContext] */; -val* var22 /* : nullable ANode */; -val* var24 /* : nullable ANode */; -static val* varonce26; -val* var27 /* : String */; -char* var28 /* : NativeString */; -val* var29 /* : String */; -val* var31 /* : FlowContext */; -{ -{ /* Inline flow#FlowVisitor#current_flow_context (self) on */ +val* var23 /* : Array[FlowContext] */; +val* var25 /* : Array[FlowContext] */; +val* var26 /* : nullable ANode */; +val* var28 /* : nullable ANode */; +static val* varonce30; +val* var31 /* : String */; +char* var32 /* : CString */; +val* var33 /* : String */; +val* var34 /* : nullable Int */; +val* var35 /* : nullable Int */; +val* var36 /* : nullable Bool */; +val* var37 /* : nullable Bool */; +val* var39 /* : FlowContext */; +{ +{ /* Inline flow$FlowVisitor$current_flow_context (self) on */ var3 = self->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ if (unlikely(var3 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 37); fatal_exit(1); @@ -746,15 +822,18 @@ RET_LABEL2:(void)0; var_orig_flow = var1; var4 = NEW_nitc__FlowContext(&type_nitc__FlowContext); { -{ /* Inline kernel#Object#init (var4) on */ +{ /* Inline kernel$Object$init (var4) on */ RET_LABEL5:(void)0; } } var_true_flow = var4; { -{ /* Inline flow#FlowVisitor#flows (self) on */ +{ /* Inline flow$FlowVisitor$flows (self) on */ var8 = self->attrs[COLOR_nitc__flow__FlowVisitor___flows].val; /* _flows on */ if (unlikely(var8 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _flows"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 76); fatal_exit(1); @@ -764,99 +843,110 @@ RET_LABEL7:(void)0; } } { -core___core__Array___core__abstract_collection__SimpleCollection__add(var6, var_true_flow); /* Direct call array#Array#add on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var6, var_true_flow); /* Direct call array$Array$add on */ } { -{ /* Inline parser_nodes#Visitor#current_node (self) on */ +{ /* Inline parser_nodes$Visitor$current_node (self) on */ var11 = self->attrs[COLOR_nitc__parser_nodes__Visitor___current_node].val; /* _current_node on */ var9 = var11; RET_LABEL10:(void)0; } } { -{ /* Inline flow#FlowContext#node= (var_true_flow,var9) on */ +{ /* Inline flow$FlowContext$node= (var_true_flow,var9) on */ var_true_flow->attrs[COLOR_nitc__flow__FlowContext___node].val = var9; /* _node on */ RET_LABEL12:(void)0; } } { -nitc___nitc__FlowContext___add_previous(var_true_flow, var_orig_flow); /* Direct call flow#FlowContext#add_previous on */ +nitc___nitc__FlowContext___add_previous(var_true_flow, var_orig_flow); /* Direct call flow$FlowContext$add_previous on */ } if (likely(varonce!=NULL)) { var13 = varonce; } else { var14 = "TRUE"; -var15 = core__flat___NativeString___to_s_full(var14, 4l, 4l); +var16 = (val*)(4l<<2|1); +var17 = (val*)(4l<<2|1); +var18 = (val*)((long)(0)<<2|3); +var19 = (val*)((long)(0)<<2|3); +var15 = core__flat___CString___to_s_unsafe(var14, var16, var17, var18, var19); var13 = var15; varonce = var13; } { -{ /* Inline flow#FlowContext#name= (var_true_flow,var13) on */ +{ /* Inline flow$FlowContext$name= (var_true_flow,var13) on */ var_true_flow->attrs[COLOR_nitc__flow__FlowContext___name].val = var13; /* _name on */ -RET_LABEL16:(void)0; +RET_LABEL20:(void)0; } } -var17 = NEW_nitc__FlowContext(&type_nitc__FlowContext); +var21 = NEW_nitc__FlowContext(&type_nitc__FlowContext); { -{ /* Inline kernel#Object#init (var17) on */ -RET_LABEL18:(void)0; +{ /* Inline kernel$Object$init (var21) on */ +RET_LABEL22:(void)0; } } -var_false_flow = var17; +var_false_flow = var21; { -{ /* Inline flow#FlowVisitor#flows (self) on */ -var21 = self->attrs[COLOR_nitc__flow__FlowVisitor___flows].val; /* _flows on */ -if (unlikely(var21 == NULL)) { +{ /* Inline flow$FlowVisitor$flows (self) on */ +var25 = self->attrs[COLOR_nitc__flow__FlowVisitor___flows].val; /* _flows on */ +if (unlikely(var25 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _flows"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 76); fatal_exit(1); } -var19 = var21; -RET_LABEL20:(void)0; +var23 = var25; +RET_LABEL24:(void)0; } } { -core___core__Array___core__abstract_collection__SimpleCollection__add(var19, var_false_flow); /* Direct call array#Array#add on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var23, var_false_flow); /* Direct call array$Array$add on */ } { -{ /* Inline parser_nodes#Visitor#current_node (self) on */ -var24 = self->attrs[COLOR_nitc__parser_nodes__Visitor___current_node].val; /* _current_node on */ -var22 = var24; -RET_LABEL23:(void)0; +{ /* Inline parser_nodes$Visitor$current_node (self) on */ +var28 = self->attrs[COLOR_nitc__parser_nodes__Visitor___current_node].val; /* _current_node on */ +var26 = var28; +RET_LABEL27:(void)0; } } { -{ /* Inline flow#FlowContext#node= (var_false_flow,var22) on */ -var_false_flow->attrs[COLOR_nitc__flow__FlowContext___node].val = var22; /* _node on */ -RET_LABEL25:(void)0; +{ /* Inline flow$FlowContext$node= (var_false_flow,var26) on */ +var_false_flow->attrs[COLOR_nitc__flow__FlowContext___node].val = var26; /* _node on */ +RET_LABEL29:(void)0; } } { -nitc___nitc__FlowContext___add_previous(var_false_flow, var_orig_flow); /* Direct call flow#FlowContext#add_previous on */ +nitc___nitc__FlowContext___add_previous(var_false_flow, var_orig_flow); /* Direct call flow$FlowContext$add_previous on */ } -if (likely(varonce26!=NULL)) { -var27 = varonce26; +if (likely(varonce30!=NULL)) { +var31 = varonce30; } else { -var28 = "FALSE"; -var29 = core__flat___NativeString___to_s_full(var28, 5l, 5l); -var27 = var29; -varonce26 = var27; +var32 = "FALSE"; +var34 = (val*)(5l<<2|1); +var35 = (val*)(5l<<2|1); +var36 = (val*)((long)(0)<<2|3); +var37 = (val*)((long)(0)<<2|3); +var33 = core__flat___CString___to_s_unsafe(var32, var34, var35, var36, var37); +var31 = var33; +varonce30 = var31; } { -{ /* Inline flow#FlowContext#name= (var_false_flow,var27) on */ -var_false_flow->attrs[COLOR_nitc__flow__FlowContext___name].val = var27; /* _name on */ -RET_LABEL30:(void)0; +{ /* Inline flow$FlowContext$name= (var_false_flow,var31) on */ +var_false_flow->attrs[COLOR_nitc__flow__FlowContext___name].val = var31; /* _name on */ +RET_LABEL38:(void)0; } } { -var31 = nitc__flow___nitc__flow__FlowVisitor___make_true_false_flow(self, var_true_flow, var_false_flow); +var39 = nitc__flow___nitc__flow__FlowVisitor___make_true_false_flow(self, var_true_flow, var_false_flow); } -var = var31; +var = var39; goto RET_LABEL; RET_LABEL:; return var; } -/* method flow#FlowVisitor#make_unreachable_flow for (self: FlowVisitor): FlowContext */ +/* method flow$FlowVisitor$make_unreachable_flow for (self: FlowVisitor): FlowContext */ val* nitc__flow___nitc__flow__FlowVisitor___make_unreachable_flow(val* self) { val* var /* : FlowContext */; val* var1 /* : FlowContext */; @@ -869,15 +959,18 @@ val* var10 /* : FlowContext */; val* var12 /* : FlowContext */; var1 = NEW_nitc__FlowContext(&type_nitc__FlowContext); { -{ /* Inline kernel#Object#init (var1) on */ +{ /* Inline kernel$Object$init (var1) on */ RET_LABEL2:(void)0; } } var_flow = var1; { -{ /* Inline flow#FlowVisitor#flows (self) on */ +{ /* Inline flow$FlowVisitor$flows (self) on */ var5 = self->attrs[COLOR_nitc__flow__FlowVisitor___flows].val; /* _flows on */ if (unlikely(var5 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _flows"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 76); fatal_exit(1); @@ -887,25 +980,28 @@ RET_LABEL4:(void)0; } } { -core___core__Array___core__abstract_collection__SimpleCollection__add(var3, var_flow); /* Direct call array#Array#add on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var3, var_flow); /* Direct call array$Array$add on */ } { -{ /* Inline parser_nodes#Visitor#current_node (self) on */ +{ /* Inline parser_nodes$Visitor$current_node (self) on */ var8 = self->attrs[COLOR_nitc__parser_nodes__Visitor___current_node].val; /* _current_node on */ var6 = var8; RET_LABEL7:(void)0; } } { -{ /* Inline flow#FlowContext#node= (var_flow,var6) on */ +{ /* Inline flow$FlowContext$node= (var_flow,var6) on */ var_flow->attrs[COLOR_nitc__flow__FlowContext___node].val = var6; /* _node on */ RET_LABEL9:(void)0; } } { -{ /* Inline flow#FlowVisitor#current_flow_context (self) on */ +{ /* Inline flow$FlowVisitor$current_flow_context (self) on */ var12 = self->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ if (unlikely(var12 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 37); fatal_exit(1); @@ -915,16 +1011,16 @@ RET_LABEL11:(void)0; } } { -nitc___nitc__FlowContext___add_previous(var_flow, var10); /* Direct call flow#FlowContext#add_previous on */ +nitc___nitc__FlowContext___add_previous(var_flow, var10); /* Direct call flow$FlowContext$add_previous on */ } { -{ /* Inline flow#FlowContext#is_marked_unreachable= (var_flow,1) on */ +{ /* Inline flow$FlowContext$is_marked_unreachable= (var_flow,1) on */ var_flow->attrs[COLOR_nitc__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 */ +{ /* Inline flow$FlowVisitor$current_flow_context= (self,var_flow) on */ self->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val = var_flow; /* _current_flow_context on */ RET_LABEL14:(void)0; } @@ -934,7 +1030,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method flow#FlowVisitor#merge_continues_to for (self: FlowVisitor, FlowContext, nullable EscapeMark) */ +/* method flow$FlowVisitor$merge_continues_to for (self: FlowVisitor, FlowContext, nullable EscapeMark) */ void nitc__flow___nitc__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 */; @@ -965,10 +1061,10 @@ var = 1; /* is null */ var = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_escapemark,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_escapemark,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_escapemark,var_other) on */ +{ /* Inline kernel$Object$is_same_instance (var_escapemark,var_other) on */ var5 = var_escapemark == var_other; var3 = var5; goto RET_LABEL4; @@ -986,9 +1082,12 @@ goto RET_LABEL; } else { } { -{ /* Inline scope#EscapeMark#escapes (var_escapemark) on */ +{ /* Inline scope$EscapeMark$escapes (var_escapemark) on */ var8 = var_escapemark->attrs[COLOR_nitc__scope__EscapeMark___escapes].val; /* _escapes on */ if (unlikely(var8 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapes"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 59); fatal_exit(1); @@ -1024,10 +1123,10 @@ var14 = 1; /* is null */ var14 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_before,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_before,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_before,var_other) on */ +{ /* Inline kernel$Object$is_same_instance (var_before,var_other) on */ var19 = var_before == var_other; var17 = var19; goto RET_LABEL18; @@ -1045,7 +1144,7 @@ goto BREAK_label20; } else { } { -nitc___nitc__FlowContext___add_loop(var_before_loop, var_before); /* Direct call flow#FlowContext#add_loop on */ +nitc___nitc__FlowContext___add_loop(var_before_loop, var_before); /* Direct call flow$FlowContext$add_loop on */ } BREAK_label20: (void)0; { @@ -1058,7 +1157,7 @@ BREAK_label: (void)0; } RET_LABEL:; } -/* method flow#FlowVisitor#merge_breaks for (self: FlowVisitor, nullable EscapeMark) */ +/* method flow$FlowVisitor$merge_breaks for (self: FlowVisitor, nullable EscapeMark) */ void nitc__flow___nitc__flow__FlowVisitor___merge_breaks(val* self, val* p0) { val* var_escapemark /* var escapemark: nullable EscapeMark */; short int var /* : Bool */; @@ -1090,10 +1189,10 @@ var = 1; /* is null */ var = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_escapemark,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_escapemark,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_escapemark,var_other) on */ +{ /* Inline kernel$Object$is_same_instance (var_escapemark,var_other) on */ var5 = var_escapemark == var_other; var3 = var5; goto RET_LABEL4; @@ -1111,9 +1210,12 @@ goto RET_LABEL; } else { } { -{ /* Inline scope#EscapeMark#escapes (var_escapemark) on */ +{ /* Inline scope$EscapeMark$escapes (var_escapemark) on */ var8 = var_escapemark->attrs[COLOR_nitc__scope__EscapeMark___escapes].val; /* _escapes on */ if (unlikely(var8 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapes"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 59); fatal_exit(1); @@ -1149,10 +1251,10 @@ var14 = 1; /* is null */ var14 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_before,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_before,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_before,var_other) on */ +{ /* Inline kernel$Object$is_same_instance (var_before,var_other) on */ var19 = var_before == var_other; var17 = var19; goto RET_LABEL18; @@ -1170,9 +1272,12 @@ goto BREAK_label20; } else { } { -{ /* Inline flow#FlowVisitor#current_flow_context (self) on */ +{ /* Inline flow$FlowVisitor$current_flow_context (self) on */ var23 = self->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ if (unlikely(var23 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 37); fatal_exit(1); @@ -1195,12 +1300,15 @@ BREAK_label: (void)0; } RET_LABEL:; } -/* method flow#FlowContext#previous for (self: FlowContext): Array[FlowContext] */ +/* method flow$FlowContext$previous for (self: FlowContext): Array[FlowContext] */ val* nitc___nitc__FlowContext___previous(val* self) { val* var /* : Array[FlowContext] */; val* var1 /* : Array[FlowContext] */; var1 = self->attrs[COLOR_nitc__flow__FlowContext___previous].val; /* _previous on */ if (unlikely(var1 == 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); @@ -1209,12 +1317,15 @@ var = var1; RET_LABEL:; return var; } -/* method flow#FlowContext#loops for (self: FlowContext): Array[FlowContext] */ +/* method flow$FlowContext$loops for (self: FlowContext): Array[FlowContext] */ val* nitc___nitc__FlowContext___loops(val* self) { val* var /* : Array[FlowContext] */; val* var1 /* : Array[FlowContext] */; var1 = self->attrs[COLOR_nitc__flow__FlowContext___loops].val; /* _loops on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _loops"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 192); fatal_exit(1); @@ -1223,7 +1334,7 @@ var = var1; RET_LABEL:; return var; } -/* method flow#FlowContext#is_marked_unreachable for (self: FlowContext): Bool */ +/* method flow$FlowContext$is_marked_unreachable for (self: FlowContext): Bool */ short int nitc___nitc__FlowContext___is_marked_unreachable(val* self) { short int var /* : Bool */; short int var1 /* : Bool */; @@ -1232,12 +1343,12 @@ var = var1; RET_LABEL:; return var; } -/* method flow#FlowContext#is_marked_unreachable= for (self: FlowContext, Bool) */ +/* method flow$FlowContext$is_marked_unreachable= for (self: FlowContext, Bool) */ void nitc___nitc__FlowContext___is_marked_unreachable_61d(val* self, short int p0) { self->attrs[COLOR_nitc__flow__FlowContext___is_marked_unreachable].s = p0; /* _is_marked_unreachable on */ RET_LABEL:; } -/* method flow#FlowContext#is_unreachable for (self: FlowContext): Bool */ +/* method flow$FlowContext$is_unreachable for (self: FlowContext): Bool */ short int nitc___nitc__FlowContext___is_unreachable(val* self) { short int var /* : Bool */; short int var1 /* : Bool */; @@ -1251,7 +1362,7 @@ long var12 /* : Int */; short int var13 /* : Bool */; short int var15 /* : Bool */; { -{ /* Inline flow#FlowContext#is_marked_unreachable (self) on */ +{ /* Inline flow$FlowContext$is_marked_unreachable (self) on */ var3 = self->attrs[COLOR_nitc__flow__FlowContext___is_marked_unreachable].s; /* _is_marked_unreachable on */ var1 = var3; RET_LABEL2:(void)0; @@ -1263,7 +1374,7 @@ goto RET_LABEL; } else { } { -{ /* Inline flow#FlowContext#is_start (self) on */ +{ /* Inline flow$FlowContext$is_start (self) on */ var6 = self->attrs[COLOR_nitc__flow__FlowContext___is_start].s; /* _is_start on */ var4 = var6; RET_LABEL5:(void)0; @@ -1275,9 +1386,12 @@ goto RET_LABEL; } else { } { -{ /* Inline flow#FlowContext#previous (self) on */ +{ /* Inline flow$FlowContext$previous (self) on */ var9 = self->attrs[COLOR_nitc__flow__FlowContext___previous].val; /* _previous on */ if (unlikely(var9 == 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); @@ -1287,14 +1401,14 @@ RET_LABEL8:(void)0; } } { -{ /* Inline array#AbstractArrayRead#length (var7) on */ +{ /* Inline array$AbstractArrayRead$length (var7) on */ var12 = var7->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ var10 = var12; RET_LABEL11:(void)0; } } { -{ /* Inline kernel#Int#== (var10,0l) on */ +{ /* Inline kernel$Int$== (var10,0l) on */ var15 = var10 == 0l; var13 = var15; goto RET_LABEL14; @@ -1311,7 +1425,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method flow#FlowContext#is_already_unreachable for (self: FlowContext): Bool */ +/* method flow$FlowContext$is_already_unreachable for (self: FlowContext): Bool */ short int nitc___nitc__FlowContext___is_already_unreachable(val* self) { short int var /* : Bool */; short int var1 /* : Bool */; @@ -1320,12 +1434,12 @@ var = var1; RET_LABEL:; return var; } -/* method flow#FlowContext#is_already_unreachable= for (self: FlowContext, Bool) */ +/* method flow$FlowContext$is_already_unreachable= for (self: FlowContext, Bool) */ void nitc___nitc__FlowContext___is_already_unreachable_61d(val* self, short int p0) { self->attrs[COLOR_nitc__flow__FlowContext___is_already_unreachable].s = p0; /* _is_already_unreachable on */ RET_LABEL:; } -/* method flow#FlowContext#is_start for (self: FlowContext): Bool */ +/* method flow$FlowContext$is_start for (self: FlowContext): Bool */ short int nitc___nitc__FlowContext___is_start(val* self) { short int var /* : Bool */; short int var1 /* : Bool */; @@ -1334,12 +1448,12 @@ var = var1; RET_LABEL:; return var; } -/* method flow#FlowContext#is_start= for (self: FlowContext, Bool) */ +/* method flow$FlowContext$is_start= for (self: FlowContext, Bool) */ void nitc___nitc__FlowContext___is_start_61d(val* self, short int p0) { self->attrs[COLOR_nitc__flow__FlowContext___is_start].s = p0; /* _is_start on */ RET_LABEL:; } -/* method flow#FlowContext#node for (self: FlowContext): nullable ANode */ +/* method flow$FlowContext$node for (self: FlowContext): nullable ANode */ val* nitc___nitc__FlowContext___node(val* self) { val* var /* : nullable ANode */; val* var1 /* : nullable ANode */; @@ -1348,22 +1462,25 @@ var = var1; RET_LABEL:; return var; } -/* method flow#FlowContext#node= for (self: FlowContext, nullable ANode) */ +/* method flow$FlowContext$node= for (self: FlowContext, nullable ANode) */ void nitc___nitc__FlowContext___node_61d(val* self, val* p0) { self->attrs[COLOR_nitc__flow__FlowContext___node].val = p0; /* _node on */ RET_LABEL:; } -/* method flow#FlowContext#name= for (self: FlowContext, String) */ +/* method flow$FlowContext$name= for (self: FlowContext, String) */ void nitc___nitc__FlowContext___name_61d(val* self, val* p0) { self->attrs[COLOR_nitc__flow__FlowContext___name].val = p0; /* _name on */ RET_LABEL:; } -/* method flow#FlowContext#when_true for (self: FlowContext): FlowContext */ +/* method flow$FlowContext$when_true for (self: FlowContext): FlowContext */ val* nitc___nitc__FlowContext___when_true(val* self) { val* var /* : FlowContext */; val* var1 /* : FlowContext */; var1 = self->attrs[COLOR_nitc__flow__FlowContext___when_true].val; /* _when_true on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_true"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 225); fatal_exit(1); @@ -1372,17 +1489,20 @@ var = var1; RET_LABEL:; return var; } -/* method flow#FlowContext#when_true= for (self: FlowContext, FlowContext) */ +/* method flow$FlowContext$when_true= for (self: FlowContext, FlowContext) */ void nitc___nitc__FlowContext___when_true_61d(val* self, val* p0) { self->attrs[COLOR_nitc__flow__FlowContext___when_true].val = p0; /* _when_true on */ RET_LABEL:; } -/* method flow#FlowContext#when_false for (self: FlowContext): FlowContext */ +/* method flow$FlowContext$when_false for (self: FlowContext): FlowContext */ val* nitc___nitc__FlowContext___when_false(val* self) { val* var /* : FlowContext */; val* var1 /* : FlowContext */; var1 = self->attrs[COLOR_nitc__flow__FlowContext___when_false].val; /* _when_false on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_false"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 228); fatal_exit(1); @@ -1391,12 +1511,12 @@ var = var1; RET_LABEL:; return var; } -/* method flow#FlowContext#when_false= for (self: FlowContext, FlowContext) */ +/* method flow$FlowContext$when_false= for (self: FlowContext, FlowContext) */ void nitc___nitc__FlowContext___when_false_61d(val* self, val* p0) { self->attrs[COLOR_nitc__flow__FlowContext___when_false].val = p0; /* _when_false on */ RET_LABEL:; } -/* method flow#FlowContext#add_previous for (self: FlowContext, FlowContext) */ +/* method flow$FlowContext$add_previous for (self: FlowContext, FlowContext) */ void nitc___nitc__FlowContext___add_previous(val* self, val* p0) { val* var_flow /* var flow: FlowContext */; short int var /* : Bool */; @@ -1417,9 +1537,12 @@ var2 = !var1; var_ = var2; if (var2){ { -{ /* Inline flow#FlowContext#previous (self) on */ +{ /* Inline flow$FlowContext$previous (self) on */ var5 = self->attrs[COLOR_nitc__flow__FlowContext___previous].val; /* _previous on */ if (unlikely(var5 == 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); @@ -1438,9 +1561,12 @@ var = var_; } if (var){ { -{ /* Inline flow#FlowContext#previous (self) on */ +{ /* Inline flow$FlowContext$previous (self) on */ var10 = self->attrs[COLOR_nitc__flow__FlowContext___previous].val; /* _previous on */ if (unlikely(var10 == 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); @@ -1450,13 +1576,13 @@ RET_LABEL9:(void)0; } } { -core___core__Array___core__abstract_collection__SimpleCollection__add(var8, var_flow); /* Direct call array#Array#add on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var8, var_flow); /* Direct call array$Array$add on */ } } else { } RET_LABEL:; } -/* method flow#FlowContext#add_loop for (self: FlowContext, FlowContext) */ +/* method flow$FlowContext$add_loop for (self: FlowContext, FlowContext) */ void nitc___nitc__FlowContext___add_loop(val* self, val* p0) { val* var_flow /* var flow: FlowContext */; short int var /* : Bool */; @@ -1477,9 +1603,12 @@ var2 = !var1; var_ = var2; if (var2){ { -{ /* Inline flow#FlowContext#previous (self) on */ +{ /* Inline flow$FlowContext$previous (self) on */ var5 = self->attrs[COLOR_nitc__flow__FlowContext___previous].val; /* _previous on */ if (unlikely(var5 == 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); @@ -1498,9 +1627,12 @@ var = var_; } if (var){ { -{ /* Inline flow#FlowContext#loops (self) on */ +{ /* Inline flow$FlowContext$loops (self) on */ var10 = self->attrs[COLOR_nitc__flow__FlowContext___loops].val; /* _loops on */ if (unlikely(var10 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _loops"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 192); fatal_exit(1); @@ -1510,13 +1642,13 @@ RET_LABEL9:(void)0; } } { -core___core__Array___core__abstract_collection__SimpleCollection__add(var8, var_flow); /* Direct call array#Array#add on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var8, var_flow); /* Direct call array$Array$add on */ } } else { } RET_LABEL:; } -/* method flow#ANode#accept_flow_visitor for (self: ANode, FlowVisitor) */ +/* method flow$ANode$accept_flow_visitor for (self: ANode, FlowVisitor) */ void nitc__flow___ANode___accept_flow_visitor(val* self, val* p0) { val* var_v /* var v: FlowVisitor */; var_v = p0; @@ -1525,7 +1657,7 @@ var_v = p0; } RET_LABEL:; } -/* method flow#APropdef#do_flow for (self: APropdef, ToolContext) */ +/* method flow$APropdef$do_flow for (self: APropdef, ToolContext) */ void nitc__flow___APropdef___do_flow(val* self, val* p0) { val* var_toolcontext /* var toolcontext: ToolContext */; val* var /* : FlowVisitor */; @@ -1540,21 +1672,21 @@ var = NEW_nitc__flow__FlowVisitor(&type_nitc__flow__FlowVisitor); } var_v = var; { -nitc___nitc__Visitor___enter_visit(var_v, self); /* Direct call parser_nodes#Visitor#enter_visit on */ +nitc___nitc__Visitor___enter_visit(var_v, self); /* Direct call parser_nodes$Visitor$enter_visit on */ } RET_LABEL:; } -/* method flow#APropdef#before_flow_context= for (self: APropdef, nullable FlowContext) */ +/* method flow$APropdef$before_flow_context= for (self: APropdef, nullable FlowContext) */ void nitc__flow___APropdef___before_flow_context_61d(val* self, val* p0) { self->attrs[COLOR_nitc__flow__APropdef___before_flow_context].val = p0; /* _before_flow_context on */ RET_LABEL:; } -/* method flow#APropdef#after_flow_context= for (self: APropdef, nullable FlowContext) */ +/* method flow$APropdef$after_flow_context= for (self: APropdef, nullable FlowContext) */ void nitc__flow___APropdef___after_flow_context_61d(val* self, val* p0) { self->attrs[COLOR_nitc__flow__APropdef___after_flow_context].val = p0; /* _after_flow_context on */ RET_LABEL:; } -/* method flow#APropdef#accept_flow_visitor for (self: APropdef, FlowVisitor) */ +/* method flow$APropdef$accept_flow_visitor for (self: APropdef, FlowVisitor) */ void nitc__flow___APropdef___ANode__accept_flow_visitor(val* self, val* p0) { val* var_v /* var v: FlowVisitor */; val* var /* : FlowContext */; @@ -1563,9 +1695,12 @@ val* var4 /* : FlowContext */; val* var6 /* : FlowContext */; var_v = p0; { -{ /* Inline flow#FlowVisitor#current_flow_context (var_v) on */ +{ /* Inline flow$FlowVisitor$current_flow_context (var_v) on */ var2 = var_v->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ if (unlikely(var2 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 37); fatal_exit(1); @@ -1575,7 +1710,7 @@ RET_LABEL1:(void)0; } } { -{ /* Inline flow#APropdef#before_flow_context= (self,var) on */ +{ /* Inline flow$APropdef$before_flow_context= (self,var) on */ self->attrs[COLOR_nitc__flow__APropdef___before_flow_context].val = var; /* _before_flow_context on */ RET_LABEL3:(void)0; } @@ -1584,9 +1719,12 @@ RET_LABEL3:(void)0; ((void(*)(val* self, val* p0))(self->class->vft[COLOR_nitc__flow___APropdef___ANode__accept_flow_visitor]))(self, p0); /* accept_flow_visitor on */ } { -{ /* Inline flow#FlowVisitor#current_flow_context (var_v) on */ +{ /* Inline flow$FlowVisitor$current_flow_context (var_v) on */ var6 = var_v->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ if (unlikely(var6 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 37); fatal_exit(1); @@ -1596,14 +1734,14 @@ RET_LABEL5:(void)0; } } { -{ /* Inline flow#APropdef#after_flow_context= (self,var4) on */ +{ /* Inline flow$APropdef$after_flow_context= (self,var4) on */ self->attrs[COLOR_nitc__flow__APropdef___after_flow_context].val = var4; /* _after_flow_context on */ RET_LABEL7:(void)0; } } RET_LABEL:; } -/* method flow#AExpr#after_flow_context for (self: AExpr): nullable FlowContext */ +/* method flow$AExpr$after_flow_context for (self: AExpr): nullable FlowContext */ val* nitc__flow___AExpr___after_flow_context(val* self) { val* var /* : nullable FlowContext */; val* var1 /* : nullable FlowContext */; @@ -1612,12 +1750,12 @@ var = var1; RET_LABEL:; return var; } -/* method flow#AExpr#after_flow_context= for (self: AExpr, nullable FlowContext) */ +/* method flow$AExpr$after_flow_context= for (self: AExpr, nullable FlowContext) */ void nitc__flow___AExpr___after_flow_context_61d(val* self, val* p0) { self->attrs[COLOR_nitc__flow__AExpr___after_flow_context].val = p0; /* _after_flow_context on */ RET_LABEL:; } -/* method flow#AVarAssignExpr#accept_flow_visitor for (self: AVarAssignExpr, FlowVisitor) */ +/* method flow$AVarAssignExpr$accept_flow_visitor for (self: AVarAssignExpr, FlowVisitor) */ void nitc__flow___AVarAssignExpr___ANode__accept_flow_visitor(val* self, val* p0) { val* var_v /* var v: FlowVisitor */; val* var /* : FlowContext */; @@ -1629,14 +1767,14 @@ var_v = p0; var = nitc__flow___nitc__flow__FlowVisitor___make_sub_flow(var_v); } { -{ /* Inline flow#AExpr#after_flow_context= (self,var) on */ +{ /* Inline flow$AExpr$after_flow_context= (self,var) on */ self->attrs[COLOR_nitc__flow__AExpr___after_flow_context].val = var; /* _after_flow_context on */ RET_LABEL1:(void)0; } } RET_LABEL:; } -/* method flow#AReassignFormExpr#accept_flow_visitor for (self: AReassignFormExpr, FlowVisitor) */ +/* method flow$AReassignFormExpr$accept_flow_visitor for (self: AReassignFormExpr, FlowVisitor) */ void nitc__flow___AReassignFormExpr___ANode__accept_flow_visitor(val* self, val* p0) { val* var_v /* var v: FlowVisitor */; val* var /* : FlowContext */; @@ -1648,14 +1786,14 @@ var_v = p0; var = nitc__flow___nitc__flow__FlowVisitor___make_sub_flow(var_v); } { -{ /* Inline flow#AExpr#after_flow_context= (self,var) on */ +{ /* Inline flow$AExpr$after_flow_context= (self,var) on */ self->attrs[COLOR_nitc__flow__AExpr___after_flow_context].val = var; /* _after_flow_context on */ RET_LABEL1:(void)0; } } RET_LABEL:; } -/* method flow#ABlockExpr#accept_flow_visitor for (self: ABlockExpr, FlowVisitor) */ +/* method flow$ABlockExpr$accept_flow_visitor for (self: ABlockExpr, FlowVisitor) */ void nitc__flow___ABlockExpr___ANode__accept_flow_visitor(val* self, val* p0) { val* var_v /* var v: FlowVisitor */; val* var /* : ANodes[AExpr] */; @@ -1682,16 +1820,23 @@ val* var25 /* : ToolContext */; val* var26 /* : Location */; static val* varonce; val* var27 /* : String */; -char* var28 /* : NativeString */; +char* var28 /* : CString */; val* var29 /* : String */; -val* var30 /* : Message */; +val* var30 /* : nullable Int */; +val* var31 /* : nullable Int */; +val* var32 /* : nullable Bool */; +val* var33 /* : nullable Bool */; +val* var34 /* : Message */; var_v = p0; { -{ /* Inline parser_nodes#ABlockExpr#n_expr (self) on */ +{ /* Inline parser_nodes$ABlockExpr$n_expr (self) on */ var2 = self->attrs[COLOR_nitc__parser_nodes__ABlockExpr___n_expr].val; /* _n_expr on */ if (unlikely(var2 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1744); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1811); fatal_exit(1); } var = var2; @@ -1716,9 +1861,12 @@ var6 = ((val*(*)(val* self))((((long)var_4&3)?class_info[((long)var_4&3)]:var_4- } var_e = var6; { -{ /* Inline flow#FlowVisitor#current_flow_context (var_v) on */ +{ /* Inline flow$FlowVisitor$current_flow_context (var_v) on */ var9 = var_v->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ if (unlikely(var9 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 37); fatal_exit(1); @@ -1733,13 +1881,16 @@ var10 = nitc___nitc__FlowContext___is_unreachable(var7); var11 = !var10; if (var11){ { -nitc___nitc__Visitor___enter_visit(var_v, var_e); /* Direct call parser_nodes#Visitor#enter_visit on */ +nitc___nitc__Visitor___enter_visit(var_v, var_e); /* Direct call parser_nodes$Visitor$enter_visit on */ } } else { { -{ /* Inline flow#FlowVisitor#current_flow_context (var_v) on */ +{ /* Inline flow$FlowVisitor$current_flow_context (var_v) on */ var14 = var_v->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ if (unlikely(var14 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 37); fatal_exit(1); @@ -1749,7 +1900,7 @@ RET_LABEL13:(void)0; } } { -{ /* Inline flow#FlowContext#is_already_unreachable (var12) on */ +{ /* Inline flow$FlowContext$is_already_unreachable (var12) on */ var17 = var12->attrs[COLOR_nitc__flow__FlowContext___is_already_unreachable].s; /* _is_already_unreachable on */ var15 = var17; RET_LABEL16:(void)0; @@ -1758,9 +1909,12 @@ RET_LABEL16:(void)0; var18 = !var15; if (var18){ { -{ /* Inline flow#FlowVisitor#current_flow_context (var_v) on */ +{ /* Inline flow$FlowVisitor$current_flow_context (var_v) on */ var21 = var_v->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ if (unlikely(var21 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 37); fatal_exit(1); @@ -1770,15 +1924,18 @@ RET_LABEL20:(void)0; } } { -{ /* Inline flow#FlowContext#is_already_unreachable= (var19,1) on */ +{ /* Inline flow$FlowContext$is_already_unreachable= (var19,1) on */ var19->attrs[COLOR_nitc__flow__FlowContext___is_already_unreachable].s = 1; /* _is_already_unreachable on */ RET_LABEL22:(void)0; } } { -{ /* Inline flow#FlowVisitor#toolcontext (var_v) on */ +{ /* Inline flow$FlowVisitor$toolcontext (var_v) on */ var25 = var_v->attrs[COLOR_nitc__flow__FlowVisitor___toolcontext].val; /* _toolcontext on */ if (unlikely(var25 == 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__flow, 39); fatal_exit(1); @@ -1794,12 +1951,16 @@ if (likely(varonce!=NULL)) { var27 = varonce; } else { var28 = "Error: unreachable statement."; -var29 = core__flat___NativeString___to_s_full(var28, 29l, 29l); +var30 = (val*)(29l<<2|1); +var31 = (val*)(29l<<2|1); +var32 = (val*)((long)(0)<<2|3); +var33 = (val*)((long)(0)<<2|3); +var29 = core__flat___CString___to_s_unsafe(var28, var30, var31, var32, var33); var27 = var29; varonce = var27; } { -var30 = nitc___nitc__ToolContext___error(var23, var26, var27); +var34 = nitc___nitc__ToolContext___error(var23, var26, var27); } } else { } @@ -1814,7 +1975,7 @@ BREAK_label: (void)0; } RET_LABEL:; } -/* method flow#AReturnExpr#accept_flow_visitor for (self: AReturnExpr, FlowVisitor) */ +/* method flow$AReturnExpr$accept_flow_visitor for (self: AReturnExpr, FlowVisitor) */ void nitc__flow___AReturnExpr___ANode__accept_flow_visitor(val* self, val* p0) { val* var_v /* var v: FlowVisitor */; val* var /* : FlowContext */; @@ -1827,7 +1988,7 @@ var = nitc__flow___nitc__flow__FlowVisitor___make_unreachable_flow(var_v); } RET_LABEL:; } -/* method flow#AEscapeExpr#before_flow_context for (self: AEscapeExpr): nullable FlowContext */ +/* method flow$AEscapeExpr$before_flow_context for (self: AEscapeExpr): nullable FlowContext */ val* nitc__flow___AEscapeExpr___before_flow_context(val* self) { val* var /* : nullable FlowContext */; val* var1 /* : nullable FlowContext */; @@ -1842,7 +2003,7 @@ val* var10 /* : Array[FlowContext] */; val* var12 /* : Array[FlowContext] */; val* var13 /* : nullable Object */; { -{ /* Inline flow#AExpr#after_flow_context (self) on */ +{ /* Inline flow$AExpr$after_flow_context (self) on */ var3 = self->attrs[COLOR_nitc__flow__AExpr___after_flow_context].val; /* _after_flow_context on */ var1 = var3; RET_LABEL2:(void)0; @@ -1855,10 +2016,10 @@ var4 = 1; /* is null */ var4 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_after,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_after,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_after,var_other) on */ +{ /* Inline kernel$Object$is_same_instance (var_after,var_other) on */ var9 = var_after == var_other; var7 = var9; goto RET_LABEL8; @@ -1877,9 +2038,12 @@ goto RET_LABEL; } else { } { -{ /* Inline flow#FlowContext#previous (var_after) on */ +{ /* Inline flow$FlowContext$previous (var_after) on */ var12 = var_after->attrs[COLOR_nitc__flow__FlowContext___previous].val; /* _previous on */ if (unlikely(var12 == 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); @@ -1896,7 +2060,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method flow#AEscapeExpr#accept_flow_visitor for (self: AEscapeExpr, FlowVisitor) */ +/* method flow$AEscapeExpr$accept_flow_visitor for (self: AEscapeExpr, FlowVisitor) */ void nitc__flow___AEscapeExpr___ANode__accept_flow_visitor(val* self, val* p0) { val* var_v /* var v: FlowVisitor */; val* var /* : FlowContext */; @@ -1909,7 +2073,7 @@ var = nitc__flow___nitc__flow__FlowVisitor___make_unreachable_flow(var_v); } RET_LABEL:; } -/* method flow#AAbortExpr#accept_flow_visitor for (self: AAbortExpr, FlowVisitor) */ +/* method flow$AAbortExpr$accept_flow_visitor for (self: AAbortExpr, FlowVisitor) */ void nitc__flow___AAbortExpr___ANode__accept_flow_visitor(val* self, val* p0) { val* var_v /* var v: FlowVisitor */; val* var /* : FlowContext */; @@ -1922,28 +2086,142 @@ var = nitc__flow___nitc__flow__FlowVisitor___make_unreachable_flow(var_v); } RET_LABEL:; } -/* method flow#ADoExpr#accept_flow_visitor for (self: ADoExpr, FlowVisitor) */ +/* method flow$ADoExpr$accept_flow_visitor for (self: ADoExpr, FlowVisitor) */ void nitc__flow___ADoExpr___ANode__accept_flow_visitor(val* self, val* p0) { val* var_v /* var v: FlowVisitor */; -val* var /* : nullable EscapeMark */; -val* var2 /* : nullable EscapeMark */; +val* var /* : FlowContext */; +val* var_before_block /* var before_block: FlowContext */; +val* var1 /* : nullable AExpr */; +val* var3 /* : nullable AExpr */; +val* var4 /* : nullable EscapeMark */; +val* var6 /* : nullable EscapeMark */; +val* var7 /* : FlowContext */; +val* var9 /* : FlowContext */; +val* var_after_block /* var after_block: FlowContext */; +val* var10 /* : nullable AExpr */; +val* var12 /* : nullable AExpr */; +short int var13 /* : Bool */; +short int var14 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var16 /* : Bool */; +short int var17 /* : Bool */; +val* var18 /* : FlowContext */; +val* var_before_catch /* var before_catch: FlowContext */; +val* var19 /* : FlowContext */; +val* var20 /* : nullable AExpr */; +val* var22 /* : nullable AExpr */; +val* var23 /* : FlowContext */; +val* var25 /* : FlowContext */; +val* var_after_catch /* var after_catch: FlowContext */; +val* var26 /* : FlowContext */; var_v = p0; { -((void(*)(val* self, val* p0))(self->class->vft[COLOR_nitc__flow___ADoExpr___ANode__accept_flow_visitor]))(self, p0); /* accept_flow_visitor on */ +var = nitc__flow___nitc__flow__FlowVisitor___make_sub_flow(var_v); } +var_before_block = var; { -{ /* Inline scope#ADoExpr#break_mark (self) on */ -var2 = self->attrs[COLOR_nitc__scope__ADoExpr___break_mark].val; /* _break_mark on */ -var = var2; -RET_LABEL1:(void)0; +{ /* Inline parser_nodes$ADoExpr$n_block (self) on */ +var3 = self->attrs[COLOR_nitc__parser_nodes__ADoExpr___n_block].val; /* _n_block on */ +var1 = var3; +RET_LABEL2:(void)0; +} +} +{ +nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes$Visitor$enter_visit on */ +} +{ +{ /* Inline scope$ADoExpr$break_mark (self) on */ +var6 = self->attrs[COLOR_nitc__scope__ADoExpr___break_mark].val; /* _break_mark on */ +var4 = var6; +RET_LABEL5:(void)0; +} +} +{ +nitc__flow___nitc__flow__FlowVisitor___merge_breaks(var_v, var4); /* Direct call flow$FlowVisitor$merge_breaks on */ +} +{ +{ /* Inline flow$FlowVisitor$current_flow_context (var_v) on */ +var9 = var_v->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ +if (unlikely(var9 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 37); +fatal_exit(1); +} +var7 = var9; +RET_LABEL8:(void)0; +} +} +var_after_block = var7; +{ +{ /* Inline parser_nodes$ADoExpr$n_catch (self) on */ +var12 = self->attrs[COLOR_nitc__parser_nodes__ADoExpr___n_catch].val; /* _n_catch on */ +var10 = var12; +RET_LABEL11:(void)0; +} } +if (var10 == NULL) { +var13 = 0; /* is null */ +} else { +var13 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel$Object$!= (var10,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +var16 = ((short int(*)(val* self, val* p0))(var10->class->vft[COLOR_core__kernel__Object___61d_61d]))(var10, var_other); /* == on */ +} +var17 = !var16; +var14 = var17; +goto RET_LABEL15; +RET_LABEL15:(void)0; +} +var13 = var14; +} +if (var13){ +{ +var18 = nitc__flow___nitc__flow__FlowVisitor___make_sub_flow(var_v); +} +var_before_catch = var18; +{ +var19 = nitc__flow___nitc__flow__FlowVisitor___make_merge_flow(var_v, var_before_block, var_after_block); +} +{ +{ /* Inline parser_nodes$ADoExpr$n_catch (self) on */ +var22 = self->attrs[COLOR_nitc__parser_nodes__ADoExpr___n_catch].val; /* _n_catch on */ +var20 = var22; +RET_LABEL21:(void)0; +} +} +{ +nitc___nitc__Visitor___enter_visit(var_v, var20); /* Direct call parser_nodes$Visitor$enter_visit on */ +} +{ +{ /* Inline flow$FlowVisitor$current_flow_context (var_v) on */ +var25 = var_v->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ +if (unlikely(var25 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 37); +fatal_exit(1); +} +var23 = var25; +RET_LABEL24:(void)0; } +} +var_after_catch = var23; { -nitc__flow___nitc__flow__FlowVisitor___merge_breaks(var_v, var); /* Direct call flow#FlowVisitor#merge_breaks on */ +var26 = nitc__flow___nitc__flow__FlowVisitor___make_merge_flow(var_v, var_before_catch, var_after_catch); +} +} else { } RET_LABEL:; } -/* method flow#AIfExpr#accept_flow_visitor for (self: AIfExpr, FlowVisitor) */ +/* method flow$AIfExpr$accept_flow_visitor for (self: AIfExpr, FlowVisitor) */ void nitc__flow___AIfExpr___ANode__accept_flow_visitor(val* self, val* p0) { val* var_v /* var v: FlowVisitor */; val* var /* : AExpr */; @@ -1967,11 +2245,14 @@ val* var_after_else /* var after_else: FlowContext */; val* var24 /* : FlowContext */; var_v = p0; { -{ /* Inline parser_nodes#AIfExpr#n_expr (self) on */ +{ /* Inline parser_nodes$AIfExpr$n_expr (self) on */ var2 = self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_expr].val; /* _n_expr on */ if (unlikely(var2 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1843); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1924); fatal_exit(1); } var = var2; @@ -1983,9 +2264,12 @@ var3 = nitc__flow___nitc__flow__FlowVisitor___visit_expr(var_v, var); } var_after_expr = var3; { -{ /* Inline flow#FlowContext#when_true (var_after_expr) on */ +{ /* Inline flow$FlowContext$when_true (var_after_expr) on */ var6 = var_after_expr->attrs[COLOR_nitc__flow__FlowContext___when_true].val; /* _when_true on */ if (unlikely(var6 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_true"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 225); fatal_exit(1); @@ -1995,25 +2279,28 @@ RET_LABEL5:(void)0; } } { -{ /* Inline flow#FlowVisitor#current_flow_context= (var_v,var4) on */ +{ /* Inline flow$FlowVisitor$current_flow_context= (var_v,var4) on */ var_v->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val = var4; /* _current_flow_context on */ RET_LABEL7:(void)0; } } { -{ /* Inline parser_nodes#AIfExpr#n_then (self) on */ +{ /* Inline parser_nodes$AIfExpr$n_then (self) on */ var10 = self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_then].val; /* _n_then on */ var8 = var10; RET_LABEL9:(void)0; } } { -nitc___nitc__Visitor___enter_visit(var_v, var8); /* Direct call parser_nodes#Visitor#enter_visit on */ +nitc___nitc__Visitor___enter_visit(var_v, var8); /* Direct call parser_nodes$Visitor$enter_visit on */ } { -{ /* Inline flow#FlowVisitor#current_flow_context (var_v) on */ +{ /* Inline flow$FlowVisitor$current_flow_context (var_v) on */ var13 = var_v->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ if (unlikely(var13 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 37); fatal_exit(1); @@ -2024,9 +2311,12 @@ RET_LABEL12:(void)0; } var_after_then = var11; { -{ /* Inline flow#FlowContext#when_false (var_after_expr) on */ +{ /* Inline flow$FlowContext$when_false (var_after_expr) on */ var16 = var_after_expr->attrs[COLOR_nitc__flow__FlowContext___when_false].val; /* _when_false on */ if (unlikely(var16 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_false"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 228); fatal_exit(1); @@ -2036,25 +2326,28 @@ RET_LABEL15:(void)0; } } { -{ /* Inline flow#FlowVisitor#current_flow_context= (var_v,var14) on */ +{ /* Inline flow$FlowVisitor$current_flow_context= (var_v,var14) on */ var_v->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val = var14; /* _current_flow_context on */ RET_LABEL17:(void)0; } } { -{ /* Inline parser_nodes#AIfExpr#n_else (self) on */ +{ /* Inline parser_nodes$AIfExpr$n_else (self) on */ var20 = self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_else].val; /* _n_else on */ var18 = var20; RET_LABEL19:(void)0; } } { -nitc___nitc__Visitor___enter_visit(var_v, var18); /* Direct call parser_nodes#Visitor#enter_visit on */ +nitc___nitc__Visitor___enter_visit(var_v, var18); /* Direct call parser_nodes$Visitor$enter_visit on */ } { -{ /* Inline flow#FlowVisitor#current_flow_context (var_v) on */ +{ /* Inline flow$FlowVisitor$current_flow_context (var_v) on */ var23 = var_v->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ if (unlikely(var23 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 37); fatal_exit(1); @@ -2069,7 +2362,7 @@ var24 = nitc__flow___nitc__flow__FlowVisitor___make_merge_flow(var_v, var_after_ } RET_LABEL:; } -/* method flow#AIfexprExpr#accept_flow_visitor for (self: AIfexprExpr, FlowVisitor) */ +/* method flow$AIfexprExpr$accept_flow_visitor for (self: AIfexprExpr, FlowVisitor) */ void nitc__flow___AIfexprExpr___ANode__accept_flow_visitor(val* self, val* p0) { val* var_v /* var v: FlowVisitor */; val* var /* : AExpr */; @@ -2093,11 +2386,14 @@ val* var_after_else /* var after_else: FlowContext */; val* var24 /* : FlowContext */; var_v = p0; { -{ /* Inline parser_nodes#AIfexprExpr#n_expr (self) on */ +{ /* Inline parser_nodes$AIfexprExpr$n_expr (self) on */ var2 = self->attrs[COLOR_nitc__parser_nodes__AIfexprExpr___n_expr].val; /* _n_expr on */ if (unlikely(var2 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1866); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1947); fatal_exit(1); } var = var2; @@ -2109,9 +2405,12 @@ var3 = nitc__flow___nitc__flow__FlowVisitor___visit_expr(var_v, var); } var_after_expr = var3; { -{ /* Inline flow#FlowContext#when_true (var_after_expr) on */ +{ /* Inline flow$FlowContext$when_true (var_after_expr) on */ var6 = var_after_expr->attrs[COLOR_nitc__flow__FlowContext___when_true].val; /* _when_true on */ if (unlikely(var6 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_true"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 225); fatal_exit(1); @@ -2121,17 +2420,20 @@ RET_LABEL5:(void)0; } } { -{ /* Inline flow#FlowVisitor#current_flow_context= (var_v,var4) on */ +{ /* Inline flow$FlowVisitor$current_flow_context= (var_v,var4) on */ var_v->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val = var4; /* _current_flow_context on */ RET_LABEL7:(void)0; } } { -{ /* Inline parser_nodes#AIfexprExpr#n_then (self) on */ +{ /* Inline parser_nodes$AIfexprExpr$n_then (self) on */ var10 = self->attrs[COLOR_nitc__parser_nodes__AIfexprExpr___n_then].val; /* _n_then on */ if (unlikely(var10 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_then"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1872); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1953); fatal_exit(1); } var8 = var10; @@ -2139,12 +2441,15 @@ RET_LABEL9:(void)0; } } { -nitc___nitc__Visitor___enter_visit(var_v, var8); /* Direct call parser_nodes#Visitor#enter_visit on */ +nitc___nitc__Visitor___enter_visit(var_v, var8); /* Direct call parser_nodes$Visitor$enter_visit on */ } { -{ /* Inline flow#FlowVisitor#current_flow_context (var_v) on */ +{ /* Inline flow$FlowVisitor$current_flow_context (var_v) on */ var13 = var_v->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ if (unlikely(var13 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 37); fatal_exit(1); @@ -2155,9 +2460,12 @@ RET_LABEL12:(void)0; } var_after_then = var11; { -{ /* Inline flow#FlowContext#when_false (var_after_expr) on */ +{ /* Inline flow$FlowContext$when_false (var_after_expr) on */ var16 = var_after_expr->attrs[COLOR_nitc__flow__FlowContext___when_false].val; /* _when_false on */ if (unlikely(var16 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_false"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 228); fatal_exit(1); @@ -2167,17 +2475,20 @@ RET_LABEL15:(void)0; } } { -{ /* Inline flow#FlowVisitor#current_flow_context= (var_v,var14) on */ +{ /* Inline flow$FlowVisitor$current_flow_context= (var_v,var14) on */ var_v->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val = var14; /* _current_flow_context on */ RET_LABEL17:(void)0; } } { -{ /* Inline parser_nodes#AIfexprExpr#n_else (self) on */ +{ /* Inline parser_nodes$AIfexprExpr$n_else (self) on */ var20 = self->attrs[COLOR_nitc__parser_nodes__AIfexprExpr___n_else].val; /* _n_else on */ if (unlikely(var20 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_else"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1878); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1959); fatal_exit(1); } var18 = var20; @@ -2185,12 +2496,15 @@ RET_LABEL19:(void)0; } } { -nitc___nitc__Visitor___enter_visit(var_v, var18); /* Direct call parser_nodes#Visitor#enter_visit on */ +nitc___nitc__Visitor___enter_visit(var_v, var18); /* Direct call parser_nodes$Visitor$enter_visit on */ } { -{ /* Inline flow#FlowVisitor#current_flow_context (var_v) on */ +{ /* Inline flow$FlowVisitor$current_flow_context (var_v) on */ var23 = var_v->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ if (unlikely(var23 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 37); fatal_exit(1); @@ -2205,7 +2519,7 @@ var24 = nitc__flow___nitc__flow__FlowVisitor___make_merge_flow(var_v, var_after_ } RET_LABEL:; } -/* method flow#AWhileExpr#accept_flow_visitor for (self: AWhileExpr, FlowVisitor) */ +/* method flow$AWhileExpr$accept_flow_visitor for (self: AWhileExpr, FlowVisitor) */ void nitc__flow___AWhileExpr___ANode__accept_flow_visitor(val* self, val* p0) { val* var_v /* var v: FlowVisitor */; val* var /* : FlowContext */; @@ -2233,11 +2547,14 @@ var = nitc__flow___nitc__flow__FlowVisitor___make_sub_flow(var_v); } var_before_loop = var; { -{ /* Inline parser_nodes#AWhileExpr#n_expr (self) on */ +{ /* Inline parser_nodes$AWhileExpr$n_expr (self) on */ var3 = self->attrs[COLOR_nitc__parser_nodes__AWhileExpr___n_expr].val; /* _n_expr on */ if (unlikely(var3 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1890); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1971); fatal_exit(1); } var1 = var3; @@ -2249,9 +2566,12 @@ var4 = nitc__flow___nitc__flow__FlowVisitor___visit_expr(var_v, var1); } var_after_expr = var4; { -{ /* Inline flow#FlowContext#when_true (var_after_expr) on */ +{ /* Inline flow$FlowContext$when_true (var_after_expr) on */ var7 = var_after_expr->attrs[COLOR_nitc__flow__FlowContext___when_true].val; /* _when_true on */ if (unlikely(var7 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_true"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 225); fatal_exit(1); @@ -2261,25 +2581,28 @@ RET_LABEL6:(void)0; } } { -{ /* Inline flow#FlowVisitor#current_flow_context= (var_v,var5) on */ +{ /* Inline flow$FlowVisitor$current_flow_context= (var_v,var5) on */ var_v->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val = var5; /* _current_flow_context on */ RET_LABEL8:(void)0; } } { -{ /* Inline parser_nodes#AWhileExpr#n_block (self) on */ +{ /* Inline parser_nodes$AWhileExpr$n_block (self) on */ var11 = self->attrs[COLOR_nitc__parser_nodes__AWhileExpr___n_block].val; /* _n_block on */ var9 = var11; RET_LABEL10:(void)0; } } { -nitc___nitc__Visitor___enter_visit(var_v, var9); /* Direct call parser_nodes#Visitor#enter_visit on */ +nitc___nitc__Visitor___enter_visit(var_v, var9); /* Direct call parser_nodes$Visitor$enter_visit on */ } { -{ /* Inline flow#FlowVisitor#current_flow_context (var_v) on */ +{ /* Inline flow$FlowVisitor$current_flow_context (var_v) on */ var14 = var_v->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ if (unlikely(var14 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 37); fatal_exit(1); @@ -2290,22 +2613,25 @@ RET_LABEL13:(void)0; } var_after_block = var12; { -nitc___nitc__FlowContext___add_loop(var_before_loop, var_after_block); /* Direct call flow#FlowContext#add_loop on */ +nitc___nitc__FlowContext___add_loop(var_before_loop, var_after_block); /* Direct call flow$FlowContext$add_loop on */ } { -{ /* Inline scope#AWhileExpr#continue_mark (self) on */ +{ /* Inline scope$AWhileExpr$continue_mark (self) on */ var17 = self->attrs[COLOR_nitc__scope__AWhileExpr___continue_mark].val; /* _continue_mark on */ var15 = var17; RET_LABEL16:(void)0; } } { -nitc__flow___nitc__flow__FlowVisitor___merge_continues_to(var_v, var_before_loop, var15); /* Direct call flow#FlowVisitor#merge_continues_to on */ +nitc__flow___nitc__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 */ +{ /* Inline flow$FlowContext$when_false (var_after_expr) on */ var20 = var_after_expr->attrs[COLOR_nitc__flow__FlowContext___when_false].val; /* _when_false on */ if (unlikely(var20 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_false"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 228); fatal_exit(1); @@ -2315,24 +2641,24 @@ RET_LABEL19:(void)0; } } { -{ /* Inline flow#FlowVisitor#current_flow_context= (var_v,var18) on */ +{ /* Inline flow$FlowVisitor$current_flow_context= (var_v,var18) on */ var_v->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val = var18; /* _current_flow_context on */ RET_LABEL21:(void)0; } } { -{ /* Inline scope#AWhileExpr#break_mark (self) on */ +{ /* Inline scope$AWhileExpr$break_mark (self) on */ var24 = self->attrs[COLOR_nitc__scope__AWhileExpr___break_mark].val; /* _break_mark on */ var22 = var24; RET_LABEL23:(void)0; } } { -nitc__flow___nitc__flow__FlowVisitor___merge_breaks(var_v, var22); /* Direct call flow#FlowVisitor#merge_breaks on */ +nitc__flow___nitc__flow__FlowVisitor___merge_breaks(var_v, var22); /* Direct call flow$FlowVisitor$merge_breaks on */ } RET_LABEL:; } -/* method flow#ALoopExpr#accept_flow_visitor for (self: ALoopExpr, FlowVisitor) */ +/* method flow$ALoopExpr$accept_flow_visitor for (self: ALoopExpr, FlowVisitor) */ void nitc__flow___ALoopExpr___ANode__accept_flow_visitor(val* self, val* p0) { val* var_v /* var v: FlowVisitor */; val* var /* : FlowContext */; @@ -2353,19 +2679,22 @@ var = nitc__flow___nitc__flow__FlowVisitor___make_sub_flow(var_v); } var_before_loop = var; { -{ /* Inline parser_nodes#ALoopExpr#n_block (self) on */ +{ /* Inline parser_nodes$ALoopExpr$n_block (self) on */ var3 = self->attrs[COLOR_nitc__parser_nodes__ALoopExpr___n_block].val; /* _n_block on */ var1 = var3; RET_LABEL2:(void)0; } } { -nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ +nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes$Visitor$enter_visit on */ } { -{ /* Inline flow#FlowVisitor#current_flow_context (var_v) on */ +{ /* Inline flow$FlowVisitor$current_flow_context (var_v) on */ var6 = var_v->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ if (unlikely(var6 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 37); fatal_exit(1); @@ -2376,34 +2705,34 @@ RET_LABEL5:(void)0; } var_after_block = var4; { -nitc___nitc__FlowContext___add_loop(var_before_loop, var_after_block); /* Direct call flow#FlowContext#add_loop on */ +nitc___nitc__FlowContext___add_loop(var_before_loop, var_after_block); /* Direct call flow$FlowContext$add_loop on */ } { -{ /* Inline scope#ALoopExpr#continue_mark (self) on */ +{ /* Inline scope$ALoopExpr$continue_mark (self) on */ var9 = self->attrs[COLOR_nitc__scope__ALoopExpr___continue_mark].val; /* _continue_mark on */ var7 = var9; RET_LABEL8:(void)0; } } { -nitc__flow___nitc__flow__FlowVisitor___merge_continues_to(var_v, var_before_loop, var7); /* Direct call flow#FlowVisitor#merge_continues_to on */ +nitc__flow___nitc__flow__FlowVisitor___merge_continues_to(var_v, var_before_loop, var7); /* Direct call flow$FlowVisitor$merge_continues_to on */ } { var10 = nitc__flow___nitc__flow__FlowVisitor___make_unreachable_flow(var_v); } { -{ /* Inline scope#ALoopExpr#break_mark (self) on */ +{ /* Inline scope$ALoopExpr$break_mark (self) on */ var13 = self->attrs[COLOR_nitc__scope__ALoopExpr___break_mark].val; /* _break_mark on */ var11 = var13; RET_LABEL12:(void)0; } } { -nitc__flow___nitc__flow__FlowVisitor___merge_breaks(var_v, var11); /* Direct call flow#FlowVisitor#merge_breaks on */ +nitc__flow___nitc__flow__FlowVisitor___merge_breaks(var_v, var11); /* Direct call flow$FlowVisitor$merge_breaks on */ } RET_LABEL:; } -/* method flow#AForExpr#accept_flow_visitor for (self: AForExpr, FlowVisitor) */ +/* method flow$AForExpr$accept_flow_visitor for (self: AForExpr, FlowVisitor) */ void nitc__flow___AForExpr___ANode__accept_flow_visitor(val* self, val* p0) { val* var_v /* var v: FlowVisitor */; val* var /* : ANodes[AForGroup] */; @@ -2432,11 +2761,14 @@ val* var24 /* : nullable EscapeMark */; val* var26 /* : nullable EscapeMark */; var_v = p0; { -{ /* Inline parser_nodes#AForExpr#n_groups (self) on */ +{ /* Inline parser_nodes$AForExpr$n_groups (self) on */ var2 = self->attrs[COLOR_nitc__parser_nodes__AForExpr___n_groups].val; /* _n_groups on */ if (unlikely(var2 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_groups"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1920); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2001); fatal_exit(1); } var = var2; @@ -2461,11 +2793,14 @@ var6 = ((val*(*)(val* self))((((long)var_4&3)?class_info[((long)var_4&3)]:var_4- } var_g = var6; { -{ /* Inline parser_nodes#AForGroup#n_expr (var_g) on */ +{ /* Inline parser_nodes$AForGroup$n_expr (var_g) on */ var9 = var_g->attrs[COLOR_nitc__parser_nodes__AForGroup___n_expr].val; /* _n_expr on */ if (unlikely(var9 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1943); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2024); fatal_exit(1); } var7 = var9; @@ -2473,7 +2808,7 @@ RET_LABEL8:(void)0; } } { -nitc___nitc__Visitor___enter_visit(var_v, var7); /* Direct call parser_nodes#Visitor#enter_visit on */ +nitc___nitc__Visitor___enter_visit(var_v, var7); /* Direct call parser_nodes$Visitor$enter_visit on */ } { ((void(*)(val* self))((((long)var_4&3)?class_info[((long)var_4&3)]:var_4->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_4); /* next on */ @@ -2488,19 +2823,22 @@ var10 = nitc__flow___nitc__flow__FlowVisitor___make_sub_flow(var_v); } var_before_loop = var10; { -{ /* Inline parser_nodes#AForExpr#n_block (self) on */ +{ /* Inline parser_nodes$AForExpr$n_block (self) on */ var13 = self->attrs[COLOR_nitc__parser_nodes__AForExpr___n_block].val; /* _n_block on */ var11 = var13; RET_LABEL12:(void)0; } } { -nitc___nitc__Visitor___enter_visit(var_v, var11); /* Direct call parser_nodes#Visitor#enter_visit on */ +nitc___nitc__Visitor___enter_visit(var_v, var11); /* Direct call parser_nodes$Visitor$enter_visit on */ } { -{ /* Inline flow#FlowVisitor#current_flow_context (var_v) on */ +{ /* Inline flow$FlowVisitor$current_flow_context (var_v) on */ var16 = var_v->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ if (unlikely(var16 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 37); fatal_exit(1); @@ -2511,22 +2849,25 @@ RET_LABEL15:(void)0; } var_after_block = var14; { -nitc___nitc__FlowContext___add_loop(var_before_loop, var_after_block); /* Direct call flow#FlowContext#add_loop on */ +nitc___nitc__FlowContext___add_loop(var_before_loop, var_after_block); /* Direct call flow$FlowContext$add_loop on */ } { -{ /* Inline scope#AForExpr#continue_mark (self) on */ +{ /* Inline scope$AForExpr$continue_mark (self) on */ var19 = self->attrs[COLOR_nitc__scope__AForExpr___continue_mark].val; /* _continue_mark on */ var17 = var19; RET_LABEL18:(void)0; } } { -nitc__flow___nitc__flow__FlowVisitor___merge_continues_to(var_v, var_before_loop, var17); /* Direct call flow#FlowVisitor#merge_continues_to on */ +nitc__flow___nitc__flow__FlowVisitor___merge_continues_to(var_v, var_before_loop, var17); /* Direct call flow$FlowVisitor$merge_continues_to on */ } { -{ /* Inline flow#FlowVisitor#current_flow_context (var_v) on */ +{ /* Inline flow$FlowVisitor$current_flow_context (var_v) on */ var22 = var_v->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val; /* _current_flow_context on */ if (unlikely(var22 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _current_flow_context"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 37); fatal_exit(1); @@ -2539,18 +2880,18 @@ RET_LABEL21:(void)0; var23 = nitc__flow___nitc__flow__FlowVisitor___make_merge_flow(var_v, var20, var_before_loop); } { -{ /* Inline scope#AForExpr#break_mark (self) on */ +{ /* Inline scope$AForExpr$break_mark (self) on */ var26 = self->attrs[COLOR_nitc__scope__AForExpr___break_mark].val; /* _break_mark on */ var24 = var26; RET_LABEL25:(void)0; } } { -nitc__flow___nitc__flow__FlowVisitor___merge_breaks(var_v, var24); /* Direct call flow#FlowVisitor#merge_breaks on */ +nitc__flow___nitc__flow__FlowVisitor___merge_breaks(var_v, var24); /* Direct call flow$FlowVisitor$merge_breaks on */ } RET_LABEL:; } -/* method flow#AWithExpr#accept_flow_visitor for (self: AWithExpr, FlowVisitor) */ +/* method flow$AWithExpr$accept_flow_visitor for (self: AWithExpr, FlowVisitor) */ void nitc__flow___AWithExpr___ANode__accept_flow_visitor(val* self, val* p0) { val* var_v /* var v: FlowVisitor */; val* var /* : nullable EscapeMark */; @@ -2560,18 +2901,18 @@ var_v = p0; ((void(*)(val* self, val* p0))(self->class->vft[COLOR_nitc__flow___AWithExpr___ANode__accept_flow_visitor]))(self, p0); /* accept_flow_visitor on */ } { -{ /* Inline scope#AWithExpr#break_mark (self) on */ +{ /* Inline scope$AWithExpr$break_mark (self) on */ var2 = self->attrs[COLOR_nitc__scope__AWithExpr___break_mark].val; /* _break_mark on */ var = var2; RET_LABEL1:(void)0; } } { -nitc__flow___nitc__flow__FlowVisitor___merge_breaks(var_v, var); /* Direct call flow#FlowVisitor#merge_breaks on */ +nitc__flow___nitc__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) */ +/* method flow$AAssertExpr$accept_flow_visitor for (self: AAssertExpr, FlowVisitor) */ void nitc__flow___AAssertExpr___ANode__accept_flow_visitor(val* self, val* p0) { val* var_v /* var v: FlowVisitor */; val* var /* : AExpr */; @@ -2586,11 +2927,14 @@ val* var11 /* : FlowContext */; val* var13 /* : FlowContext */; var_v = p0; { -{ /* Inline parser_nodes#AAssertExpr#n_expr (self) on */ +{ /* Inline parser_nodes$AAssertExpr$n_expr (self) on */ var2 = self->attrs[COLOR_nitc__parser_nodes__AAssertExpr___n_expr].val; /* _n_expr on */ if (unlikely(var2 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1975); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2056); fatal_exit(1); } var = var2; @@ -2602,9 +2946,12 @@ var3 = nitc__flow___nitc__flow__FlowVisitor___visit_expr(var_v, var); } var_after_expr = var3; { -{ /* Inline flow#FlowContext#when_false (var_after_expr) on */ +{ /* Inline flow$FlowContext$when_false (var_after_expr) on */ var6 = var_after_expr->attrs[COLOR_nitc__flow__FlowContext___when_false].val; /* _when_false on */ if (unlikely(var6 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_false"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 228); fatal_exit(1); @@ -2614,25 +2961,28 @@ RET_LABEL5:(void)0; } } { -{ /* Inline flow#FlowVisitor#current_flow_context= (var_v,var4) on */ +{ /* Inline flow$FlowVisitor$current_flow_context= (var_v,var4) on */ var_v->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val = var4; /* _current_flow_context on */ RET_LABEL7:(void)0; } } { -{ /* Inline parser_nodes#AAssertExpr#n_else (self) on */ +{ /* Inline parser_nodes$AAssertExpr$n_else (self) on */ var10 = self->attrs[COLOR_nitc__parser_nodes__AAssertExpr___n_else].val; /* _n_else on */ var8 = var10; RET_LABEL9:(void)0; } } { -nitc___nitc__Visitor___enter_visit(var_v, var8); /* Direct call parser_nodes#Visitor#enter_visit on */ +nitc___nitc__Visitor___enter_visit(var_v, var8); /* Direct call parser_nodes$Visitor$enter_visit on */ } { -{ /* Inline flow#FlowContext#when_true (var_after_expr) on */ +{ /* Inline flow$FlowContext$when_true (var_after_expr) on */ var13 = var_after_expr->attrs[COLOR_nitc__flow__FlowContext___when_true].val; /* _when_true on */ if (unlikely(var13 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_true"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 225); fatal_exit(1); @@ -2642,14 +2992,14 @@ RET_LABEL12:(void)0; } } { -{ /* Inline flow#FlowVisitor#current_flow_context= (var_v,var11) on */ +{ /* Inline flow$FlowVisitor$current_flow_context= (var_v,var11) on */ var_v->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val = var11; /* _current_flow_context on */ RET_LABEL14:(void)0; } } RET_LABEL:; } -/* method flow#AOrExpr#accept_flow_visitor for (self: AOrExpr, FlowVisitor) */ +/* method flow$AOrExpr$accept_flow_visitor for (self: AOrExpr, FlowVisitor) */ void nitc__flow___AOrExpr___ANode__accept_flow_visitor(val* self, val* p0) { val* var_v /* var v: FlowVisitor */; val* var /* : AExpr */; @@ -2670,18 +3020,25 @@ val* var18 /* : FlowContext */; val* var_merge_true /* var merge_true: FlowContext */; static val* varonce; val* var19 /* : String */; -char* var20 /* : NativeString */; +char* var20 /* : CString */; val* var21 /* : String */; -val* var23 /* : FlowContext */; -val* var25 /* : FlowContext */; -val* var26 /* : FlowContext */; +val* var22 /* : nullable Int */; +val* var23 /* : nullable Int */; +val* var24 /* : nullable Bool */; +val* var25 /* : nullable Bool */; +val* var27 /* : FlowContext */; +val* var29 /* : FlowContext */; +val* var30 /* : FlowContext */; var_v = p0; { -{ /* Inline parser_nodes#ABinBoolExpr#n_expr (self) on */ +{ /* Inline parser_nodes$ABinBoolExpr$n_expr (self) on */ var2 = self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr].val; /* _n_expr on */ if (unlikely(var2 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2050); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2131); fatal_exit(1); } var = var2; @@ -2693,9 +3050,12 @@ var3 = nitc__flow___nitc__flow__FlowVisitor___visit_expr(var_v, var); } var_after_expr = var3; { -{ /* Inline flow#FlowContext#when_false (var_after_expr) on */ +{ /* Inline flow$FlowContext$when_false (var_after_expr) on */ var6 = var_after_expr->attrs[COLOR_nitc__flow__FlowContext___when_false].val; /* _when_false on */ if (unlikely(var6 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_false"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 228); fatal_exit(1); @@ -2705,17 +3065,20 @@ RET_LABEL5:(void)0; } } { -{ /* Inline flow#FlowVisitor#current_flow_context= (var_v,var4) on */ +{ /* Inline flow$FlowVisitor$current_flow_context= (var_v,var4) on */ var_v->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val = var4; /* _current_flow_context on */ RET_LABEL7:(void)0; } } { -{ /* Inline parser_nodes#ABinBoolExpr#n_expr2 (self) on */ +{ /* Inline parser_nodes$ABinBoolExpr$n_expr2 (self) on */ var10 = self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr2].val; /* _n_expr2 on */ if (unlikely(var10 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2056); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2137); fatal_exit(1); } var8 = var10; @@ -2727,9 +3090,12 @@ var11 = nitc__flow___nitc__flow__FlowVisitor___visit_expr(var_v, var8); } var_after_expr2 = var11; { -{ /* Inline flow#FlowContext#when_true (var_after_expr) on */ +{ /* Inline flow$FlowContext$when_true (var_after_expr) on */ var14 = var_after_expr->attrs[COLOR_nitc__flow__FlowContext___when_true].val; /* _when_true on */ if (unlikely(var14 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_true"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 225); fatal_exit(1); @@ -2739,9 +3105,12 @@ RET_LABEL13:(void)0; } } { -{ /* Inline flow#FlowContext#when_true (var_after_expr2) on */ +{ /* Inline flow$FlowContext$when_true (var_after_expr2) on */ var17 = var_after_expr2->attrs[COLOR_nitc__flow__FlowContext___when_true].val; /* _when_true on */ if (unlikely(var17 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_true"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 225); fatal_exit(1); @@ -2758,34 +3127,41 @@ if (likely(varonce!=NULL)) { var19 = varonce; } else { var20 = "OR TRUE"; -var21 = core__flat___NativeString___to_s_full(var20, 7l, 7l); +var22 = (val*)(7l<<2|1); +var23 = (val*)(7l<<2|1); +var24 = (val*)((long)(0)<<2|3); +var25 = (val*)((long)(0)<<2|3); +var21 = core__flat___CString___to_s_unsafe(var20, var22, var23, var24, var25); var19 = var21; varonce = var19; } { -{ /* Inline flow#FlowContext#name= (var_merge_true,var19) on */ +{ /* Inline flow$FlowContext$name= (var_merge_true,var19) on */ var_merge_true->attrs[COLOR_nitc__flow__FlowContext___name].val = var19; /* _name on */ -RET_LABEL22:(void)0; +RET_LABEL26:(void)0; } } { -{ /* Inline flow#FlowContext#when_false (var_after_expr2) on */ -var25 = var_after_expr2->attrs[COLOR_nitc__flow__FlowContext___when_false].val; /* _when_false on */ -if (unlikely(var25 == NULL)) { +{ /* Inline flow$FlowContext$when_false (var_after_expr2) on */ +var29 = var_after_expr2->attrs[COLOR_nitc__flow__FlowContext___when_false].val; /* _when_false on */ +if (unlikely(var29 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_false"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 228); fatal_exit(1); } -var23 = var25; -RET_LABEL24:(void)0; +var27 = var29; +RET_LABEL28:(void)0; } } { -var26 = nitc__flow___nitc__flow__FlowVisitor___make_true_false_flow(var_v, var_merge_true, var23); +var30 = nitc__flow___nitc__flow__FlowVisitor___make_true_false_flow(var_v, var_merge_true, var27); } RET_LABEL:; } -/* method flow#AImpliesExpr#accept_flow_visitor for (self: AImpliesExpr, FlowVisitor) */ +/* method flow$AImpliesExpr$accept_flow_visitor for (self: AImpliesExpr, FlowVisitor) */ void nitc__flow___AImpliesExpr___ANode__accept_flow_visitor(val* self, val* p0) { val* var_v /* var v: FlowVisitor */; val* var /* : AExpr */; @@ -2806,18 +3182,25 @@ val* var18 /* : FlowContext */; val* var_merge_true /* var merge_true: FlowContext */; static val* varonce; val* var19 /* : String */; -char* var20 /* : NativeString */; +char* var20 /* : CString */; val* var21 /* : String */; -val* var23 /* : FlowContext */; -val* var25 /* : FlowContext */; -val* var26 /* : FlowContext */; +val* var22 /* : nullable Int */; +val* var23 /* : nullable Int */; +val* var24 /* : nullable Bool */; +val* var25 /* : nullable Bool */; +val* var27 /* : FlowContext */; +val* var29 /* : FlowContext */; +val* var30 /* : FlowContext */; var_v = p0; { -{ /* Inline parser_nodes#ABinBoolExpr#n_expr (self) on */ +{ /* Inline parser_nodes$ABinBoolExpr$n_expr (self) on */ var2 = self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr].val; /* _n_expr on */ if (unlikely(var2 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2050); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2131); fatal_exit(1); } var = var2; @@ -2829,9 +3212,12 @@ var3 = nitc__flow___nitc__flow__FlowVisitor___visit_expr(var_v, var); } var_after_expr = var3; { -{ /* Inline flow#FlowContext#when_true (var_after_expr) on */ +{ /* Inline flow$FlowContext$when_true (var_after_expr) on */ var6 = var_after_expr->attrs[COLOR_nitc__flow__FlowContext___when_true].val; /* _when_true on */ if (unlikely(var6 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_true"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 225); fatal_exit(1); @@ -2841,17 +3227,20 @@ RET_LABEL5:(void)0; } } { -{ /* Inline flow#FlowVisitor#current_flow_context= (var_v,var4) on */ +{ /* Inline flow$FlowVisitor$current_flow_context= (var_v,var4) on */ var_v->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val = var4; /* _current_flow_context on */ RET_LABEL7:(void)0; } } { -{ /* Inline parser_nodes#ABinBoolExpr#n_expr2 (self) on */ +{ /* Inline parser_nodes$ABinBoolExpr$n_expr2 (self) on */ var10 = self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr2].val; /* _n_expr2 on */ if (unlikely(var10 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2056); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2137); fatal_exit(1); } var8 = var10; @@ -2863,9 +3252,12 @@ var11 = nitc__flow___nitc__flow__FlowVisitor___visit_expr(var_v, var8); } var_after_expr2 = var11; { -{ /* Inline flow#FlowContext#when_false (var_after_expr) on */ +{ /* Inline flow$FlowContext$when_false (var_after_expr) on */ var14 = var_after_expr->attrs[COLOR_nitc__flow__FlowContext___when_false].val; /* _when_false on */ if (unlikely(var14 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_false"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 228); fatal_exit(1); @@ -2875,9 +3267,12 @@ RET_LABEL13:(void)0; } } { -{ /* Inline flow#FlowContext#when_true (var_after_expr2) on */ +{ /* Inline flow$FlowContext$when_true (var_after_expr2) on */ var17 = var_after_expr2->attrs[COLOR_nitc__flow__FlowContext___when_true].val; /* _when_true on */ if (unlikely(var17 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_true"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 225); fatal_exit(1); @@ -2894,34 +3289,41 @@ if (likely(varonce!=NULL)) { var19 = varonce; } else { var20 = "OR TRUE"; -var21 = core__flat___NativeString___to_s_full(var20, 7l, 7l); +var22 = (val*)(7l<<2|1); +var23 = (val*)(7l<<2|1); +var24 = (val*)((long)(0)<<2|3); +var25 = (val*)((long)(0)<<2|3); +var21 = core__flat___CString___to_s_unsafe(var20, var22, var23, var24, var25); var19 = var21; varonce = var19; } { -{ /* Inline flow#FlowContext#name= (var_merge_true,var19) on */ +{ /* Inline flow$FlowContext$name= (var_merge_true,var19) on */ var_merge_true->attrs[COLOR_nitc__flow__FlowContext___name].val = var19; /* _name on */ -RET_LABEL22:(void)0; +RET_LABEL26:(void)0; } } { -{ /* Inline flow#FlowContext#when_false (var_after_expr2) on */ -var25 = var_after_expr2->attrs[COLOR_nitc__flow__FlowContext___when_false].val; /* _when_false on */ -if (unlikely(var25 == NULL)) { +{ /* Inline flow$FlowContext$when_false (var_after_expr2) on */ +var29 = var_after_expr2->attrs[COLOR_nitc__flow__FlowContext___when_false].val; /* _when_false on */ +if (unlikely(var29 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_false"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 228); fatal_exit(1); } -var23 = var25; -RET_LABEL24:(void)0; +var27 = var29; +RET_LABEL28:(void)0; } } { -var26 = nitc__flow___nitc__flow__FlowVisitor___make_true_false_flow(var_v, var_merge_true, var23); +var30 = nitc__flow___nitc__flow__FlowVisitor___make_true_false_flow(var_v, var_merge_true, var27); } RET_LABEL:; } -/* method flow#AAndExpr#accept_flow_visitor for (self: AAndExpr, FlowVisitor) */ +/* method flow$AAndExpr$accept_flow_visitor for (self: AAndExpr, FlowVisitor) */ void nitc__flow___AAndExpr___ANode__accept_flow_visitor(val* self, val* p0) { val* var_v /* var v: FlowVisitor */; val* var /* : AExpr */; @@ -2942,18 +3344,25 @@ val* var18 /* : FlowContext */; val* var_merge_false /* var merge_false: FlowContext */; static val* varonce; val* var19 /* : String */; -char* var20 /* : NativeString */; +char* var20 /* : CString */; val* var21 /* : String */; -val* var23 /* : FlowContext */; -val* var25 /* : FlowContext */; -val* var26 /* : FlowContext */; +val* var22 /* : nullable Int */; +val* var23 /* : nullable Int */; +val* var24 /* : nullable Bool */; +val* var25 /* : nullable Bool */; +val* var27 /* : FlowContext */; +val* var29 /* : FlowContext */; +val* var30 /* : FlowContext */; var_v = p0; { -{ /* Inline parser_nodes#ABinBoolExpr#n_expr (self) on */ +{ /* Inline parser_nodes$ABinBoolExpr$n_expr (self) on */ var2 = self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr].val; /* _n_expr on */ if (unlikely(var2 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2050); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2131); fatal_exit(1); } var = var2; @@ -2965,9 +3374,12 @@ var3 = nitc__flow___nitc__flow__FlowVisitor___visit_expr(var_v, var); } var_after_expr = var3; { -{ /* Inline flow#FlowContext#when_true (var_after_expr) on */ +{ /* Inline flow$FlowContext$when_true (var_after_expr) on */ var6 = var_after_expr->attrs[COLOR_nitc__flow__FlowContext___when_true].val; /* _when_true on */ if (unlikely(var6 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_true"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 225); fatal_exit(1); @@ -2977,17 +3389,20 @@ RET_LABEL5:(void)0; } } { -{ /* Inline flow#FlowVisitor#current_flow_context= (var_v,var4) on */ +{ /* Inline flow$FlowVisitor$current_flow_context= (var_v,var4) on */ var_v->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val = var4; /* _current_flow_context on */ RET_LABEL7:(void)0; } } { -{ /* Inline parser_nodes#ABinBoolExpr#n_expr2 (self) on */ +{ /* Inline parser_nodes$ABinBoolExpr$n_expr2 (self) on */ var10 = self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr2].val; /* _n_expr2 on */ if (unlikely(var10 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2056); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2137); fatal_exit(1); } var8 = var10; @@ -2999,9 +3414,12 @@ var11 = nitc__flow___nitc__flow__FlowVisitor___visit_expr(var_v, var8); } var_after_expr2 = var11; { -{ /* Inline flow#FlowContext#when_false (var_after_expr) on */ +{ /* Inline flow$FlowContext$when_false (var_after_expr) on */ var14 = var_after_expr->attrs[COLOR_nitc__flow__FlowContext___when_false].val; /* _when_false on */ if (unlikely(var14 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_false"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 228); fatal_exit(1); @@ -3011,9 +3429,12 @@ RET_LABEL13:(void)0; } } { -{ /* Inline flow#FlowContext#when_false (var_after_expr2) on */ +{ /* Inline flow$FlowContext$when_false (var_after_expr2) on */ var17 = var_after_expr2->attrs[COLOR_nitc__flow__FlowContext___when_false].val; /* _when_false on */ if (unlikely(var17 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_false"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 228); fatal_exit(1); @@ -3030,34 +3451,41 @@ if (likely(varonce!=NULL)) { var19 = varonce; } else { var20 = "AND FALSE"; -var21 = core__flat___NativeString___to_s_full(var20, 9l, 9l); +var22 = (val*)(9l<<2|1); +var23 = (val*)(9l<<2|1); +var24 = (val*)((long)(0)<<2|3); +var25 = (val*)((long)(0)<<2|3); +var21 = core__flat___CString___to_s_unsafe(var20, var22, var23, var24, var25); var19 = var21; varonce = var19; } { -{ /* Inline flow#FlowContext#name= (var_merge_false,var19) on */ +{ /* Inline flow$FlowContext$name= (var_merge_false,var19) on */ var_merge_false->attrs[COLOR_nitc__flow__FlowContext___name].val = var19; /* _name on */ -RET_LABEL22:(void)0; +RET_LABEL26:(void)0; } } { -{ /* Inline flow#FlowContext#when_true (var_after_expr2) on */ -var25 = var_after_expr2->attrs[COLOR_nitc__flow__FlowContext___when_true].val; /* _when_true on */ -if (unlikely(var25 == NULL)) { +{ /* Inline flow$FlowContext$when_true (var_after_expr2) on */ +var29 = var_after_expr2->attrs[COLOR_nitc__flow__FlowContext___when_true].val; /* _when_true on */ +if (unlikely(var29 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_true"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 225); fatal_exit(1); } -var23 = var25; -RET_LABEL24:(void)0; +var27 = var29; +RET_LABEL28:(void)0; } } { -var26 = nitc__flow___nitc__flow__FlowVisitor___make_true_false_flow(var_v, var23, var_merge_false); +var30 = nitc__flow___nitc__flow__FlowVisitor___make_true_false_flow(var_v, var27, var_merge_false); } RET_LABEL:; } -/* method flow#ANotExpr#accept_flow_visitor for (self: ANotExpr, FlowVisitor) */ +/* method flow$ANotExpr$accept_flow_visitor for (self: ANotExpr, FlowVisitor) */ void nitc__flow___ANotExpr___ANode__accept_flow_visitor(val* self, val* p0) { val* var_v /* var v: FlowVisitor */; val* var /* : AExpr */; @@ -3071,11 +3499,14 @@ val* var9 /* : FlowContext */; val* var10 /* : FlowContext */; var_v = p0; { -{ /* Inline parser_nodes#ANotExpr#n_expr (self) on */ +{ /* Inline parser_nodes$ANotExpr$n_expr (self) on */ var2 = self->attrs[COLOR_nitc__parser_nodes__ANotExpr___n_expr].val; /* _n_expr on */ if (unlikely(var2 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2090); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2171); fatal_exit(1); } var = var2; @@ -3087,9 +3518,12 @@ var3 = nitc__flow___nitc__flow__FlowVisitor___visit_expr(var_v, var); } var_after_expr = var3; { -{ /* Inline flow#FlowContext#when_false (var_after_expr) on */ +{ /* Inline flow$FlowContext$when_false (var_after_expr) on */ var6 = var_after_expr->attrs[COLOR_nitc__flow__FlowContext___when_false].val; /* _when_false on */ if (unlikely(var6 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_false"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 228); fatal_exit(1); @@ -3099,9 +3533,12 @@ RET_LABEL5:(void)0; } } { -{ /* Inline flow#FlowContext#when_true (var_after_expr) on */ +{ /* Inline flow$FlowContext$when_true (var_after_expr) on */ var9 = var_after_expr->attrs[COLOR_nitc__flow__FlowContext___when_true].val; /* _when_true on */ if (unlikely(var9 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_true"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 225); fatal_exit(1); @@ -3115,7 +3552,7 @@ var10 = nitc__flow___nitc__flow__FlowVisitor___make_true_false_flow(var_v, var4, } RET_LABEL:; } -/* method flow#AOrElseExpr#accept_flow_visitor for (self: AOrElseExpr, FlowVisitor) */ +/* method flow$AOrElseExpr$accept_flow_visitor for (self: AOrElseExpr, FlowVisitor) */ void nitc__flow___AOrElseExpr___ANode__accept_flow_visitor(val* self, val* p0) { val* var_v /* var v: FlowVisitor */; var_v = p0; @@ -3124,7 +3561,7 @@ var_v = p0; } RET_LABEL:; } -/* method flow#AEqExpr#accept_flow_visitor for (self: AEqExpr, FlowVisitor) */ +/* method flow$AEqExpr$accept_flow_visitor for (self: AEqExpr, FlowVisitor) */ void nitc__flow___AEqExpr___ANode__accept_flow_visitor(val* self, val* p0) { val* var_v /* var v: FlowVisitor */; val* var /* : FlowContext */; @@ -3137,7 +3574,7 @@ var = nitc__flow___nitc__flow__FlowVisitor___make_sub_true_false_flow(var_v); } RET_LABEL:; } -/* method flow#ANeExpr#accept_flow_visitor for (self: ANeExpr, FlowVisitor) */ +/* method flow$ANeExpr$accept_flow_visitor for (self: ANeExpr, FlowVisitor) */ void nitc__flow___ANeExpr___ANode__accept_flow_visitor(val* self, val* p0) { val* var_v /* var v: FlowVisitor */; val* var /* : FlowContext */; @@ -3150,7 +3587,7 @@ var = nitc__flow___nitc__flow__FlowVisitor___make_sub_true_false_flow(var_v); } RET_LABEL:; } -/* method flow#AIsaExpr#accept_flow_visitor for (self: AIsaExpr, FlowVisitor) */ +/* method flow$AIsaExpr$accept_flow_visitor for (self: AIsaExpr, FlowVisitor) */ void nitc__flow___AIsaExpr___ANode__accept_flow_visitor(val* self, val* p0) { val* var_v /* var v: FlowVisitor */; val* var /* : FlowContext */; @@ -3163,7 +3600,7 @@ var = nitc__flow___nitc__flow__FlowVisitor___make_sub_true_false_flow(var_v); } RET_LABEL:; } -/* method flow#AParExpr#accept_flow_visitor for (self: AParExpr, FlowVisitor) */ +/* method flow$AParExpr$accept_flow_visitor for (self: AParExpr, FlowVisitor) */ void nitc__flow___AParExpr___ANode__accept_flow_visitor(val* self, val* p0) { val* var_v /* var v: FlowVisitor */; val* var /* : AExpr */; @@ -3172,11 +3609,14 @@ val* var3 /* : FlowContext */; val* var_after_expr /* var after_expr: FlowContext */; var_v = p0; { -{ /* Inline parser_nodes#AParExpr#n_expr (self) on */ +{ /* Inline parser_nodes$AParExpr$n_expr (self) on */ var2 = self->attrs[COLOR_nitc__parser_nodes__AParExpr___n_expr].val; /* _n_expr on */ if (unlikely(var2 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2575); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2656); fatal_exit(1); } var = var2; @@ -3188,14 +3628,14 @@ var3 = nitc__flow___nitc__flow__FlowVisitor___visit_expr(var_v, var); } var_after_expr = var3; { -{ /* Inline flow#FlowVisitor#current_flow_context= (var_v,var_after_expr) on */ +{ /* Inline flow$FlowVisitor$current_flow_context= (var_v,var_after_expr) on */ var_v->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val = var_after_expr; /* _current_flow_context on */ RET_LABEL4:(void)0; } } RET_LABEL:; } -/* method flow#AOnceExpr#accept_flow_visitor for (self: AOnceExpr, FlowVisitor) */ +/* method flow$AOnceExpr$accept_flow_visitor for (self: AOnceExpr, FlowVisitor) */ void nitc__flow___AOnceExpr___ANode__accept_flow_visitor(val* self, val* p0) { val* var_v /* var v: FlowVisitor */; val* var /* : AExpr */; @@ -3204,11 +3644,14 @@ val* var3 /* : FlowContext */; val* var_after_expr /* var after_expr: FlowContext */; var_v = p0; { -{ /* Inline parser_nodes#AOnceExpr#n_expr (self) on */ +{ /* Inline parser_nodes$AOnceExpr$n_expr (self) on */ var2 = self->attrs[COLOR_nitc__parser_nodes__AOnceExpr___n_expr].val; /* _n_expr on */ if (unlikely(var2 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2014); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2095); fatal_exit(1); } var = var2; @@ -3220,7 +3663,7 @@ var3 = nitc__flow___nitc__flow__FlowVisitor___visit_expr(var_v, var); } var_after_expr = var3; { -{ /* Inline flow#FlowVisitor#current_flow_context= (var_v,var_after_expr) on */ +{ /* Inline flow$FlowVisitor$current_flow_context= (var_v,var_after_expr) on */ var_v->attrs[COLOR_nitc__flow__FlowVisitor___current_flow_context].val = var_after_expr; /* _current_flow_context on */ RET_LABEL4:(void)0; }