X-Git-Url: http://nitlanguage.org diff --git a/c_src/nitc__scope.sep.1.c b/c_src/nitc__scope.sep.1.c index 188c41b..02957e0 100644 --- a/c_src/nitc__scope.sep.1.c +++ b/c_src/nitc__scope.sep.1.c @@ -1,10 +1,13 @@ #include "nitc__scope.sep.0.h" -/* method scope#ToolContext#scope_phase for (self: ToolContext): Phase */ +/* method scope$ToolContext$scope_phase for (self: ToolContext): Phase */ val* nitc__scope___ToolContext___scope_phase(val* self) { val* var /* : Phase */; val* var1 /* : Phase */; var1 = self->attrs[COLOR_nitc__scope__ToolContext___scope_phase].val; /* _scope_phase on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scope_phase"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 24); fatal_exit(1); @@ -13,18 +16,21 @@ var = var1; RET_LABEL:; return var; } -/* method scope#ScopePhase#process_npropdef for (self: ScopePhase, APropdef) */ +/* method scope$ScopePhase$process_npropdef for (self: ScopePhase, APropdef) */ void nitc__scope___nitc__scope__ScopePhase___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__scope___APropdef___do_scope(var_npropdef, var); /* Direct call scope#APropdef#do_scope on */ +nitc__scope___APropdef___do_scope(var_npropdef, var); /* Direct call scope$APropdef$do_scope on */ } RET_LABEL:; } -/* method scope#Variable#name for (self: Variable): String */ +/* method scope$Variable$name for (self: Variable): String */ val* nitc___nitc__Variable___name(val* self) { val* var /* : String */; val* var1 /* : String */; var1 = self->attrs[COLOR_nitc__scope__Variable___name].val; /* _name on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 36); fatal_exit(1); @@ -50,20 +59,23 @@ var = var1; RET_LABEL:; return var; } -/* method scope#Variable#name= for (self: Variable, String) */ +/* method scope$Variable$name= for (self: Variable, String) */ void nitc___nitc__Variable___name_61d(val* self, val* p0) { self->attrs[COLOR_nitc__scope__Variable___name].val = p0; /* _name on */ RET_LABEL:; } -/* method scope#Variable#to_s for (self: Variable): String */ +/* method scope$Variable$to_s for (self: Variable): String */ val* nitc___nitc__Variable___core__abstract_text__Object__to_s(val* self) { val* var /* : String */; val* var1 /* : String */; val* var3 /* : String */; { -{ /* Inline scope#Variable#name (self) on */ +{ /* Inline scope$Variable$name (self) on */ var3 = self->attrs[COLOR_nitc__scope__Variable___name].val; /* _name on */ if (unlikely(var3 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 36); fatal_exit(1); @@ -77,7 +89,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method scope#Variable#location for (self: Variable): nullable Location */ +/* method scope$Variable$location for (self: Variable): nullable Location */ val* nitc___nitc__Variable___location(val* self) { val* var /* : nullable Location */; val* var1 /* : nullable Location */; @@ -86,12 +98,12 @@ var = var1; RET_LABEL:; return var; } -/* method scope#Variable#location= for (self: Variable, nullable Location) */ +/* method scope$Variable$location= for (self: Variable, nullable Location) */ void nitc___nitc__Variable___location_61d(val* self, val* p0) { self->attrs[COLOR_nitc__scope__Variable___location].val = p0; /* _location on */ RET_LABEL:; } -/* method scope#Variable#warn_unread for (self: Variable): Bool */ +/* method scope$Variable$warn_unread for (self: Variable): Bool */ short int nitc___nitc__Variable___warn_unread(val* self) { short int var /* : Bool */; short int var1 /* : Bool */; @@ -100,19 +112,19 @@ var = var1; RET_LABEL:; return var; } -/* method scope#Variable#warn_unread= for (self: Variable, Bool) */ +/* method scope$Variable$warn_unread= for (self: Variable, Bool) */ void nitc___nitc__Variable___warn_unread_61d(val* self, short int p0) { self->attrs[COLOR_nitc__scope__Variable___warn_unread].s = p0; /* _warn_unread on */ RET_LABEL:; } -/* method scope#Variable#init for (self: Variable) */ +/* method scope$Variable$init for (self: Variable) */ void nitc___nitc__Variable___core__kernel__Object__init(val* self) { { ((void(*)(val* self))(self->class->vft[COLOR_nitc___nitc__Variable___core__kernel__Object__init]))(self); /* init on */ } RET_LABEL:; } -/* method scope#EscapeMark#name for (self: EscapeMark): nullable String */ +/* method scope$EscapeMark$name for (self: EscapeMark): nullable String */ val* nitc___nitc__EscapeMark___name(val* self) { val* var /* : nullable String */; val* var1 /* : nullable String */; @@ -121,12 +133,12 @@ var = var1; RET_LABEL:; return var; } -/* method scope#EscapeMark#name= for (self: EscapeMark, nullable String) */ +/* method scope$EscapeMark$name= for (self: EscapeMark, nullable String) */ void nitc___nitc__EscapeMark___name_61d(val* self, val* p0) { self->attrs[COLOR_nitc__scope__EscapeMark___name].val = p0; /* _name on */ RET_LABEL:; } -/* method scope#EscapeMark#continue_mark for (self: EscapeMark): nullable EscapeMark */ +/* method scope$EscapeMark$continue_mark for (self: EscapeMark): nullable EscapeMark */ val* nitc___nitc__EscapeMark___continue_mark(val* self) { val* var /* : nullable EscapeMark */; val* var1 /* : nullable EscapeMark */; @@ -135,17 +147,20 @@ var = var1; RET_LABEL:; return var; } -/* method scope#EscapeMark#continue_mark= for (self: EscapeMark, nullable EscapeMark) */ +/* method scope$EscapeMark$continue_mark= for (self: EscapeMark, nullable EscapeMark) */ void nitc___nitc__EscapeMark___continue_mark_61d(val* self, val* p0) { self->attrs[COLOR_nitc__scope__EscapeMark___continue_mark].val = p0; /* _continue_mark on */ RET_LABEL:; } -/* method scope#EscapeMark#escapes for (self: EscapeMark): Array[AEscapeExpr] */ +/* method scope$EscapeMark$escapes for (self: EscapeMark): Array[AEscapeExpr] */ val* nitc___nitc__EscapeMark___escapes(val* self) { val* var /* : Array[AEscapeExpr] */; val* var1 /* : Array[AEscapeExpr] */; var1 = self->attrs[COLOR_nitc__scope__EscapeMark___escapes].val; /* _escapes on */ if (unlikely(var1 == 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); @@ -154,19 +169,22 @@ var = var1; RET_LABEL:; return var; } -/* method scope#EscapeMark#init for (self: EscapeMark) */ +/* method scope$EscapeMark$init for (self: EscapeMark) */ void nitc___nitc__EscapeMark___core__kernel__Object__init(val* self) { { ((void(*)(val* self))(self->class->vft[COLOR_nitc___nitc__EscapeMark___core__kernel__Object__init]))(self); /* init on */ } RET_LABEL:; } -/* method scope#ScopeVisitor#toolcontext for (self: ScopeVisitor): ToolContext */ +/* method scope$ScopeVisitor$toolcontext for (self: ScopeVisitor): ToolContext */ val* nitc__scope___nitc__scope__ScopeVisitor___toolcontext(val* self) { val* var /* : ToolContext */; val* var1 /* : ToolContext */; var1 = self->attrs[COLOR_nitc__scope__ScopeVisitor___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__scope, 71); fatal_exit(1); @@ -175,26 +193,51 @@ var = var1; RET_LABEL:; return var; } -/* method scope#ScopeVisitor#toolcontext= for (self: ScopeVisitor, ToolContext) */ +/* method scope$ScopeVisitor$toolcontext= for (self: ScopeVisitor, ToolContext) */ void nitc__scope___nitc__scope__ScopeVisitor___toolcontext_61d(val* self, val* p0) { self->attrs[COLOR_nitc__scope__ScopeVisitor___toolcontext].val = p0; /* _toolcontext on */ RET_LABEL:; } -/* method scope#ScopeVisitor#selfvariable for (self: ScopeVisitor): Variable */ +/* method scope$ScopeVisitor$propdef for (self: ScopeVisitor): APropdef */ +val* nitc__scope___nitc__scope__ScopeVisitor___propdef(val* self) { +val* var /* : APropdef */; +val* var1 /* : APropdef */; +var1 = self->attrs[COLOR_nitc__scope__ScopeVisitor___propdef].val; /* _propdef on */ +if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _propdef"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 74); +fatal_exit(1); +} +var = var1; +RET_LABEL:; +return var; +} +/* method scope$ScopeVisitor$propdef= for (self: ScopeVisitor, APropdef) */ +void nitc__scope___nitc__scope__ScopeVisitor___propdef_61d(val* self, val* p0) { +self->attrs[COLOR_nitc__scope__ScopeVisitor___propdef].val = p0; /* _propdef on */ +RET_LABEL:; +} +/* method scope$ScopeVisitor$selfvariable for (self: ScopeVisitor): Variable */ val* nitc__scope___nitc__scope__ScopeVisitor___selfvariable(val* self) { val* var /* : Variable */; val* var1 /* : Variable */; var1 = self->attrs[COLOR_nitc__scope__ScopeVisitor___selfvariable].val; /* _selfvariable on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _selfvariable"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 74); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 77); fatal_exit(1); } var = var1; RET_LABEL:; return var; } -/* method scope#ScopeVisitor#init for (self: ScopeVisitor) */ +/* method scope$ScopeVisitor$init for (self: ScopeVisitor) */ void nitc__scope___nitc__scope__ScopeVisitor___core__kernel__Object__init(val* self) { val* var /* : List[Scope] */; val* var2 /* : List[Scope] */; @@ -203,11 +246,14 @@ val* var3 /* : Scope */; ((void(*)(val* self))(self->class->vft[COLOR_nitc__scope___nitc__scope__ScopeVisitor___core__kernel__Object__init]))(self); /* init on */ } { -{ /* Inline scope#ScopeVisitor#scopes (self) on */ +{ /* Inline scope$ScopeVisitor$scopes (self) on */ var2 = self->attrs[COLOR_nitc__scope__ScopeVisitor___scopes].val; /* _scopes on */ if (unlikely(var2 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 81); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 84); fatal_exit(1); } var = var2; @@ -216,30 +262,33 @@ RET_LABEL1:(void)0; } var3 = NEW_nitc__scope__Scope(&type_nitc__scope__Scope); { -{ /* Inline kernel#Object#init (var3) on */ +{ /* Inline kernel$Object$init (var3) on */ RET_LABEL4:(void)0; } } { -core___core__Sequence___SimpleCollection__add(var, var3); /* Direct call abstract_collection#Sequence#add on */ +core___core__Sequence___SimpleCollection__add(var, var3); /* Direct call abstract_collection$Sequence$add on */ } RET_LABEL:; } -/* method scope#ScopeVisitor#scopes for (self: ScopeVisitor): List[Scope] */ +/* method scope$ScopeVisitor$scopes for (self: ScopeVisitor): List[Scope] */ val* nitc__scope___nitc__scope__ScopeVisitor___scopes(val* self) { val* var /* : List[Scope] */; val* var1 /* : List[Scope] */; var1 = self->attrs[COLOR_nitc__scope__ScopeVisitor___scopes].val; /* _scopes on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 81); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 84); fatal_exit(1); } var = var1; RET_LABEL:; return var; } -/* method scope#ScopeVisitor#shift_scope for (self: ScopeVisitor) */ +/* method scope$ScopeVisitor$shift_scope for (self: ScopeVisitor) */ void nitc__scope___nitc__scope__ScopeVisitor___shift_scope(val* self) { val* var /* : List[Scope] */; val* var2 /* : List[Scope] */; @@ -266,28 +315,43 @@ val* var23 /* : nullable Location */; val* var25 /* : nullable Location */; static val* varonce; val* var26 /* : String */; -char* var27 /* : NativeString */; +char* var27 /* : CString */; val* var28 /* : String */; -val* var30 /* : NativeArray[String] */; -static val* varonce29; -static val* varonce31; -val* var32 /* : String */; -char* var33 /* : NativeString */; -val* var34 /* : String */; +val* var29 /* : nullable Int */; +val* var30 /* : nullable Int */; +val* var31 /* : nullable Bool */; +val* var32 /* : nullable Bool */; +val* var34 /* : NativeArray[String] */; +static val* varonce33; static val* varonce35; val* var36 /* : String */; -char* var37 /* : NativeString */; +char* var37 /* : CString */; val* var38 /* : String */; -val* var39 /* : String */; -val* var41 /* : String */; -val* var42 /* : String */; -val* var43 /* : nullable Message */; -{ -{ /* Inline scope#ScopeVisitor#scopes (self) on */ +val* var39 /* : nullable Int */; +val* var40 /* : nullable Int */; +val* var41 /* : nullable Bool */; +val* var42 /* : nullable Bool */; +static val* varonce43; +val* var44 /* : String */; +char* var45 /* : CString */; +val* var46 /* : String */; +val* var47 /* : nullable Int */; +val* var48 /* : nullable Int */; +val* var49 /* : nullable Bool */; +val* var50 /* : nullable Bool */; +val* var51 /* : String */; +val* var53 /* : String */; +val* var54 /* : String */; +val* var55 /* : nullable Message */; +{ +{ /* Inline scope$ScopeVisitor$scopes (self) on */ var2 = self->attrs[COLOR_nitc__scope__ScopeVisitor___scopes].val; /* _scopes on */ if (unlikely(var2 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 81); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 84); fatal_exit(1); } var = var2; @@ -299,16 +363,22 @@ var3 = core___core__List___core__abstract_collection__Collection__is_empty(var); } var4 = !var3; if (unlikely(!var4)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 87); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 90); fatal_exit(1); } { -{ /* Inline scope#ScopeVisitor#scopes (self) on */ +{ /* Inline scope$ScopeVisitor$scopes (self) on */ var7 = self->attrs[COLOR_nitc__scope__ScopeVisitor___scopes].val; /* _scopes on */ if (unlikely(var7 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 81); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 84); fatal_exit(1); } var5 = var7; @@ -320,11 +390,14 @@ var8 = core___core__List___core__abstract_collection__Sequence__shift(var5); } var_scope = var8; { -{ /* Inline scope#Scope#variables (var_scope) on */ +{ /* Inline scope$Scope$variables (var_scope) on */ var11 = var_scope->attrs[COLOR_nitc__scope__Scope___variables].val; /* _variables on */ if (unlikely(var11 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 229); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 232); fatal_exit(1); } var9 = var11; @@ -352,7 +425,7 @@ var16 = ((val*(*)(val* self))((((long)var_14&3)?class_info[((long)var_14&3)]:var } var_v = var16; { -{ /* Inline scope#Variable#warn_unread (var_v) on */ +{ /* Inline scope$Variable$warn_unread (var_v) on */ var19 = var_v->attrs[COLOR_nitc__scope__Variable___warn_unread].s; /* _warn_unread on */ var17 = var19; RET_LABEL18:(void)0; @@ -360,9 +433,12 @@ RET_LABEL18:(void)0; } if (var17){ { -{ /* Inline scope#ScopeVisitor#toolcontext (self) on */ +{ /* Inline scope$ScopeVisitor$toolcontext (self) on */ var22 = self->attrs[COLOR_nitc__scope__ScopeVisitor___toolcontext].val; /* _toolcontext on */ if (unlikely(var22 == 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__scope, 71); fatal_exit(1); @@ -372,7 +448,7 @@ RET_LABEL21:(void)0; } } { -{ /* Inline scope#Variable#location (var_v) on */ +{ /* Inline scope$Variable$location (var_v) on */ var25 = var_v->attrs[COLOR_nitc__scope__Variable___location].val; /* _location on */ var23 = var25; RET_LABEL24:(void)0; @@ -382,53 +458,68 @@ if (likely(varonce!=NULL)) { var26 = varonce; } else { var27 = "unread-variable"; -var28 = core__flat___NativeString___to_s_full(var27, 15l, 15l); +var29 = (val*)(15l<<2|1); +var30 = (val*)(15l<<2|1); +var31 = (val*)((long)(0)<<2|3); +var32 = (val*)((long)(0)<<2|3); +var28 = core__flat___CString___to_s_unsafe(var27, var29, var30, var31, var32); var26 = var28; varonce = var26; } -if (unlikely(varonce29==NULL)) { -var30 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String); -if (likely(varonce31!=NULL)) { -var32 = varonce31; -} else { -var33 = "Warning: local variable "; -var34 = core__flat___NativeString___to_s_full(var33, 24l, 24l); -var32 = var34; -varonce31 = var32; -} -((struct instance_core__NativeArray*)var30)->values[0]=var32; +if (unlikely(varonce33==NULL)) { +var34 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String); if (likely(varonce35!=NULL)) { var36 = varonce35; } else { -var37 = " is never read."; -var38 = core__flat___NativeString___to_s_full(var37, 15l, 15l); +var37 = "Warning: local variable "; +var39 = (val*)(24l<<2|1); +var40 = (val*)(24l<<2|1); +var41 = (val*)((long)(0)<<2|3); +var42 = (val*)((long)(0)<<2|3); +var38 = core__flat___CString___to_s_unsafe(var37, var39, var40, var41, var42); var36 = var38; varonce35 = var36; } -((struct instance_core__NativeArray*)var30)->values[2]=var36; +((struct instance_core__NativeArray*)var34)->values[0]=var36; +if (likely(varonce43!=NULL)) { +var44 = varonce43; } else { -var30 = varonce29; -varonce29 = NULL; +var45 = " is never read."; +var47 = (val*)(15l<<2|1); +var48 = (val*)(15l<<2|1); +var49 = (val*)((long)(0)<<2|3); +var50 = (val*)((long)(0)<<2|3); +var46 = core__flat___CString___to_s_unsafe(var45, var47, var48, var49, var50); +var44 = var46; +varonce43 = var44; +} +((struct instance_core__NativeArray*)var34)->values[2]=var44; +} else { +var34 = varonce33; +varonce33 = NULL; } { -{ /* Inline scope#Variable#name (var_v) on */ -var41 = var_v->attrs[COLOR_nitc__scope__Variable___name].val; /* _name on */ -if (unlikely(var41 == NULL)) { +{ /* Inline scope$Variable$name (var_v) on */ +var53 = var_v->attrs[COLOR_nitc__scope__Variable___name].val; /* _name on */ +if (unlikely(var53 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 36); fatal_exit(1); } -var39 = var41; -RET_LABEL40:(void)0; +var51 = var53; +RET_LABEL52:(void)0; } } -((struct instance_core__NativeArray*)var30)->values[1]=var39; +((struct instance_core__NativeArray*)var34)->values[1]=var51; { -var42 = ((val*(*)(val* self))(var30->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var30); /* native_to_s on */ +var54 = ((val*(*)(val* self))(var34->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var34); /* native_to_s on */ } -varonce29 = var30; +varonce33 = var34; { -var43 = nitc___nitc__ToolContext___advice(var20, var23, var26, var42); +var55 = nitc___nitc__ToolContext___advice(var20, var23, var26, var54); } } else { } @@ -442,7 +533,7 @@ BREAK_label: (void)0; } RET_LABEL:; } -/* method scope#ScopeVisitor#register_variable for (self: ScopeVisitor, ANode, Variable): Bool */ +/* method scope$ScopeVisitor$register_variable for (self: ScopeVisitor, ANode, Variable): Bool */ short int nitc__scope___nitc__scope__ScopeVisitor___register_variable(val* self, val* p0, val* p1) { short int var /* : Bool */; val* var_node /* var node: ANode */; @@ -461,26 +552,37 @@ val* var10 /* : NativeArray[String] */; static val* varonce; static val* varonce11; val* var12 /* : String */; -char* var13 /* : NativeString */; +char* var13 /* : CString */; val* var14 /* : String */; -static val* varonce15; -val* var16 /* : String */; -char* var17 /* : NativeString */; -val* var18 /* : String */; -val* var19 /* : String */; -val* var20 /* : List[Scope] */; -val* var22 /* : List[Scope] */; -val* var23 /* : nullable Object */; -val* var24 /* : HashMap[String, Variable] */; -val* var26 /* : HashMap[String, Variable] */; -val* var27 /* : Location */; -val* var29 /* : Location */; +val* var15 /* : nullable Int */; +val* var16 /* : nullable Int */; +val* var17 /* : nullable Bool */; +val* var18 /* : nullable Bool */; +static val* varonce19; +val* var20 /* : String */; +char* var21 /* : CString */; +val* var22 /* : String */; +val* var23 /* : nullable Int */; +val* var24 /* : nullable Int */; +val* var25 /* : nullable Bool */; +val* var26 /* : nullable Bool */; +val* var27 /* : String */; +val* var28 /* : List[Scope] */; +val* var30 /* : List[Scope] */; +val* var31 /* : nullable Object */; +val* var32 /* : HashMap[String, Variable] */; +val* var34 /* : HashMap[String, Variable] */; +val* var35 /* : Location */; +val* var37 /* : Location */; var_node = p0; var_variable = p1; { -{ /* Inline scope#Variable#name (var_variable) on */ +{ /* Inline scope$Variable$name (var_variable) on */ var3 = var_variable->attrs[COLOR_nitc__scope__Variable___name].val; /* _name on */ if (unlikely(var3 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 36); fatal_exit(1); @@ -500,7 +602,7 @@ var5 = 0; /* is null */ var5 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_found,((val*)NULL)) on */ +{ /* Inline kernel$Object$!= (var_found,((val*)NULL)) on */ var_other = ((val*)NULL); { var8 = ((short int(*)(val* self, val* p0))(var_found->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_found, var_other); /* == on */ @@ -514,87 +616,104 @@ var5 = var6; } if (var5){ if (unlikely(varonce==NULL)) { -var10 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String); +var10 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String); if (likely(varonce11!=NULL)) { var12 = varonce11; } else { var13 = "Error: a variable named `"; -var14 = core__flat___NativeString___to_s_full(var13, 25l, 25l); +var15 = (val*)(25l<<2|1); +var16 = (val*)(25l<<2|1); +var17 = (val*)((long)(0)<<2|3); +var18 = (val*)((long)(0)<<2|3); +var14 = core__flat___CString___to_s_unsafe(var13, var15, var16, var17, var18); var12 = var14; varonce11 = var12; } ((struct instance_core__NativeArray*)var10)->values[0]=var12; -if (likely(varonce15!=NULL)) { -var16 = varonce15; -} else { -var17 = "` already exists."; -var18 = core__flat___NativeString___to_s_full(var17, 17l, 17l); -var16 = var18; -varonce15 = var16; +if (likely(varonce19!=NULL)) { +var20 = varonce19; +} else { +var21 = "` already exists."; +var23 = (val*)(17l<<2|1); +var24 = (val*)(17l<<2|1); +var25 = (val*)((long)(0)<<2|3); +var26 = (val*)((long)(0)<<2|3); +var22 = core__flat___CString___to_s_unsafe(var21, var23, var24, var25, var26); +var20 = var22; +varonce19 = var20; } -((struct instance_core__NativeArray*)var10)->values[2]=var16; +((struct instance_core__NativeArray*)var10)->values[2]=var20; } else { var10 = varonce; varonce = NULL; } ((struct instance_core__NativeArray*)var10)->values[1]=var_name; { -var19 = ((val*(*)(val* self))(var10->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var10); /* native_to_s on */ +var27 = ((val*(*)(val* self))(var10->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var10); /* native_to_s on */ } varonce = var10; { -nitc__scope___nitc__scope__ScopeVisitor___error(self, var_node, var19); /* Direct call scope#ScopeVisitor#error on */ +nitc__scope___nitc__scope__ScopeVisitor___error(self, var_node, var27); /* Direct call scope$ScopeVisitor$error on */ } var = 0; goto RET_LABEL; } else { } { -{ /* Inline scope#ScopeVisitor#scopes (self) on */ -var22 = self->attrs[COLOR_nitc__scope__ScopeVisitor___scopes].val; /* _scopes on */ -if (unlikely(var22 == NULL)) { +{ /* Inline scope$ScopeVisitor$scopes (self) on */ +var30 = self->attrs[COLOR_nitc__scope__ScopeVisitor___scopes].val; /* _scopes on */ +if (unlikely(var30 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 81); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 84); fatal_exit(1); } -var20 = var22; -RET_LABEL21:(void)0; +var28 = var30; +RET_LABEL29:(void)0; } } { -var23 = core___core__List___core__abstract_collection__Collection__first(var20); +var31 = core___core__List___core__abstract_collection__Collection__first(var28); } { -{ /* Inline scope#Scope#variables (var23) on */ -var26 = var23->attrs[COLOR_nitc__scope__Scope___variables].val; /* _variables on */ -if (unlikely(var26 == NULL)) { +{ /* Inline scope$Scope$variables (var31) on */ +var34 = var31->attrs[COLOR_nitc__scope__Scope___variables].val; /* _variables on */ +if (unlikely(var34 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 229); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 232); fatal_exit(1); } -var24 = var26; -RET_LABEL25:(void)0; +var32 = var34; +RET_LABEL33:(void)0; } } { -core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var24, var_name, var_variable); /* Direct call hash_collection#HashMap#[]= on */ +core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var32, var_name, var_variable); /* Direct call hash_collection$HashMap$[]= on */ } { -{ /* Inline parser_nodes#ANode#location (var_node) on */ -var29 = var_node->attrs[COLOR_nitc__parser_nodes__ANode___location].val; /* _location on */ -if (unlikely(var29 == NULL)) { +{ /* Inline parser_nodes$ANode$location (var_node) on */ +var37 = var_node->attrs[COLOR_nitc__parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var37 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 24); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 25); fatal_exit(1); } -var27 = var29; -RET_LABEL28:(void)0; +var35 = var37; +RET_LABEL36:(void)0; } } { -{ /* Inline scope#Variable#location= (var_variable,var27) on */ -var_variable->attrs[COLOR_nitc__scope__Variable___location].val = var27; /* _location on */ -RET_LABEL30:(void)0; +{ /* Inline scope$Variable$location= (var_variable,var35) on */ +var_variable->attrs[COLOR_nitc__scope__Variable___location].val = var35; /* _location on */ +RET_LABEL38:(void)0; } } var = 1; @@ -602,7 +721,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method scope#ScopeVisitor#search_variable for (self: ScopeVisitor, String): nullable Variable */ +/* method scope$ScopeVisitor$search_variable for (self: ScopeVisitor, String): nullable Variable */ val* nitc__scope___nitc__scope__ScopeVisitor___search_variable(val* self, val* p0) { val* var /* : nullable Variable */; val* var_name /* var name: String */; @@ -623,11 +742,14 @@ short int var12 /* : Bool */; short int var13 /* : Bool */; var_name = p0; { -{ /* Inline scope#ScopeVisitor#scopes (self) on */ +{ /* Inline scope$ScopeVisitor$scopes (self) on */ var3 = self->attrs[COLOR_nitc__scope__ScopeVisitor___scopes].val; /* _scopes on */ if (unlikely(var3 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 81); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 84); fatal_exit(1); } var1 = var3; @@ -661,7 +783,7 @@ var9 = 0; /* is null */ var9 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_res,((val*)NULL)) on */ +{ /* Inline kernel$Object$!= (var_res,((val*)NULL)) on */ var_other = ((val*)NULL); { var12 = ((short int(*)(val* self, val* p0))(var_res->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_res, var_other); /* == on */ @@ -684,7 +806,7 @@ goto RET_LABEL; } BREAK_label: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_5) on */ +{ /* Inline abstract_collection$Iterator$finish (var_5) on */ RET_LABEL14:(void)0; } } @@ -693,7 +815,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method scope#ScopeVisitor#visit for (self: ScopeVisitor, ANode) */ +/* method scope$ScopeVisitor$visit for (self: ScopeVisitor, ANode) */ void nitc__scope___nitc__scope__ScopeVisitor___nitc__parser_nodes__Visitor__visit(val* self, val* p0) { val* var_n /* var n: ANode */; var_n = p0; @@ -702,7 +824,7 @@ var_n = p0; } RET_LABEL:; } -/* method scope#ScopeVisitor#enter_visit_block for (self: ScopeVisitor, nullable AExpr, nullable EscapeMark) */ +/* method scope$ScopeVisitor$enter_visit_block for (self: ScopeVisitor, nullable AExpr, nullable EscapeMark) */ void nitc__scope___nitc__scope__ScopeVisitor___enter_visit_block(val* self, val* p0, val* p1) { val* var_node /* var node: nullable AExpr */; val* var_escapemark /* var escapemark: nullable EscapeMark */; @@ -723,10 +845,10 @@ var = 1; /* is null */ var = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_node,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_node,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_node,var_other) on */ +{ /* Inline kernel$Object$is_same_instance (var_node,var_other) on */ var5 = var_node == var_other; var3 = var5; goto RET_LABEL4; @@ -745,23 +867,26 @@ goto RET_LABEL; } var6 = NEW_nitc__scope__Scope(&type_nitc__scope__Scope); { -{ /* Inline kernel#Object#init (var6) on */ +{ /* Inline kernel$Object$init (var6) on */ RET_LABEL7:(void)0; } } var_scope = var6; { -{ /* Inline scope#Scope#escapemark= (var_scope,var_escapemark) on */ +{ /* Inline scope$Scope$escapemark= (var_scope,var_escapemark) on */ var_scope->attrs[COLOR_nitc__scope__Scope___escapemark].val = var_escapemark; /* _escapemark on */ RET_LABEL8:(void)0; } } { -{ /* Inline scope#ScopeVisitor#scopes (self) on */ +{ /* Inline scope$ScopeVisitor$scopes (self) on */ var11 = self->attrs[COLOR_nitc__scope__ScopeVisitor___scopes].val; /* _scopes on */ if (unlikely(var11 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 81); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 84); fatal_exit(1); } var9 = var11; @@ -769,17 +894,17 @@ RET_LABEL10:(void)0; } } { -core___core__List___core__abstract_collection__Sequence__unshift(var9, var_scope); /* Direct call list#List#unshift on */ +core___core__List___core__abstract_collection__Sequence__unshift(var9, var_scope); /* Direct call list$List$unshift on */ } { -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 */ } { -nitc__scope___nitc__scope__ScopeVisitor___shift_scope(self); /* Direct call scope#ScopeVisitor#shift_scope on */ +nitc__scope___nitc__scope__ScopeVisitor___shift_scope(self); /* Direct call scope$ScopeVisitor$shift_scope on */ } RET_LABEL:; } -/* method scope#ScopeVisitor#search_label for (self: ScopeVisitor, String): nullable EscapeMark */ +/* method scope$ScopeVisitor$search_label for (self: ScopeVisitor, String): nullable EscapeMark */ val* nitc__scope___nitc__scope__ScopeVisitor___search_label(val* self, val* p0) { val* var /* : nullable EscapeMark */; val* var_name /* var name: String */; @@ -807,11 +932,14 @@ short int var21 /* : Bool */; short int var22 /* : Bool */; var_name = p0; { -{ /* Inline scope#ScopeVisitor#scopes (self) on */ +{ /* Inline scope$ScopeVisitor$scopes (self) on */ var3 = self->attrs[COLOR_nitc__scope__ScopeVisitor___scopes].val; /* _scopes on */ if (unlikely(var3 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 81); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 84); fatal_exit(1); } var1 = var3; @@ -836,7 +964,7 @@ var7 = core___core__ListIterator___core__abstract_collection__Iterator__item(var } var_scope = var7; { -{ /* Inline scope#Scope#escapemark (var_scope) on */ +{ /* Inline scope$Scope$escapemark (var_scope) on */ var10 = var_scope->attrs[COLOR_nitc__scope__Scope___escapemark].val; /* _escapemark on */ var8 = var10; RET_LABEL9:(void)0; @@ -849,7 +977,7 @@ var12 = 0; /* is null */ var12 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_res,((val*)NULL)) on */ +{ /* Inline kernel$Object$!= (var_res,((val*)NULL)) on */ var_other = ((val*)NULL); { var15 = ((short int(*)(val* self, val* p0))(var_res->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_res, var_other); /* == on */ @@ -864,7 +992,7 @@ var12 = var13; var_17 = var12; if (var12){ { -{ /* Inline scope#EscapeMark#name (var_res) on */ +{ /* Inline scope$EscapeMark$name (var_res) on */ var20 = var_res->attrs[COLOR_nitc__scope__EscapeMark___name].val; /* _name on */ var18 = var20; RET_LABEL19:(void)0; @@ -891,7 +1019,7 @@ goto RET_LABEL; } BREAK_label: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_5) on */ +{ /* Inline abstract_collection$Iterator$finish (var_5) on */ RET_LABEL23:(void)0; } } @@ -900,7 +1028,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method scope#ScopeVisitor#make_escape_mark for (self: ScopeVisitor, nullable ALabel, Bool): EscapeMark */ +/* method scope$ScopeVisitor$make_escape_mark for (self: ScopeVisitor, nullable ALabel, Bool): EscapeMark */ val* nitc__scope___nitc__scope__ScopeVisitor___make_escape_mark(val* self, val* p0, short int p1) { val* var /* : EscapeMark */; val* var_nlabel /* var nlabel: nullable ALabel */; @@ -920,44 +1048,64 @@ short int var13 /* : Bool */; short int var15 /* : Bool */; static val* varonce; val* var16 /* : String */; -char* var17 /* : NativeString */; +char* var17 /* : CString */; val* var18 /* : String */; -val* var19 /* : nullable EscapeMark */; +val* var19 /* : nullable Int */; +val* var20 /* : nullable Int */; +val* var21 /* : nullable Bool */; +val* var22 /* : nullable Bool */; +val* var23 /* : nullable EscapeMark */; val* var_res /* var res: nullable EscapeMark */; -short int var20 /* : Bool */; -short int var21 /* : Bool */; -short int var23 /* : Bool */; short int var24 /* : Bool */; -static val* varonce25; -val* var26 /* : String */; -char* var27 /* : NativeString */; -val* var28 /* : String */; +short int var25 /* : Bool */; +short int var27 /* : Bool */; +short int var28 /* : Bool */; static val* varonce29; val* var30 /* : String */; -char* var31 /* : NativeString */; +char* var31 /* : CString */; val* var32 /* : String */; +val* var33 /* : nullable Int */; +val* var34 /* : nullable Int */; +val* var35 /* : nullable Bool */; +val* var36 /* : nullable Bool */; +static val* varonce37; +val* var38 /* : String */; +char* var39 /* : CString */; +val* var40 /* : String */; +val* var41 /* : nullable Int */; +val* var42 /* : nullable Int */; +val* var43 /* : nullable Bool */; +val* var44 /* : nullable Bool */; val* var_name /* var name: nullable String */; -val* var33 /* : String */; -val* var34 /* : nullable EscapeMark */; -val* var_found /* var found: nullable EscapeMark */; -short int var35 /* : Bool */; -short int var36 /* : Bool */; -short int var38 /* : Bool */; -short int var39 /* : Bool */; -val* var41 /* : NativeArray[String] */; -static val* varonce40; -static val* varonce42; -val* var43 /* : String */; -char* var44 /* : NativeString */; val* var45 /* : String */; -static val* varonce46; -val* var47 /* : String */; -char* var48 /* : NativeString */; -val* var49 /* : String */; -val* var50 /* : String */; -val* var51 /* : EscapeMark */; -val* var_res52 /* var res: EscapeMark */; -val* var53 /* : EscapeMark */; +val* var46 /* : nullable EscapeMark */; +val* var_found /* var found: nullable EscapeMark */; +short int var47 /* : Bool */; +short int var48 /* : Bool */; +short int var50 /* : Bool */; +short int var51 /* : Bool */; +val* var53 /* : NativeArray[String] */; +static val* varonce52; +static val* varonce54; +val* var55 /* : String */; +char* var56 /* : CString */; +val* var57 /* : String */; +val* var58 /* : nullable Int */; +val* var59 /* : nullable Int */; +val* var60 /* : nullable Bool */; +val* var61 /* : nullable Bool */; +static val* varonce62; +val* var63 /* : String */; +char* var64 /* : CString */; +val* var65 /* : String */; +val* var66 /* : nullable Int */; +val* var67 /* : nullable Int */; +val* var68 /* : nullable Bool */; +val* var69 /* : nullable Bool */; +val* var70 /* : String */; +val* var71 /* : EscapeMark */; +val* var_res72 /* var res: EscapeMark */; +val* var73 /* : EscapeMark */; var_nlabel = p0; var_for_loop = p1; if (var_nlabel == NULL) { @@ -966,7 +1114,7 @@ var1 = 0; /* is null */ var1 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_nlabel,((val*)NULL)) on */ +{ /* Inline kernel$Object$!= (var_nlabel,((val*)NULL)) on */ var_other = ((val*)NULL); { var4 = ((short int(*)(val* self, val* p0))(var_nlabel->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nlabel, var_other); /* == on */ @@ -980,7 +1128,7 @@ var1 = var2; } if (var1){ { -{ /* Inline parser_nodes#ALabel#n_id (var_nlabel) on */ +{ /* Inline parser_nodes$ALabel$n_id (var_nlabel) on */ var8 = var_nlabel->attrs[COLOR_nitc__parser_nodes__ALabel___n_id].val; /* _n_id on */ var6 = var8; RET_LABEL7:(void)0; @@ -993,10 +1141,10 @@ var9 = 1; /* is null */ var9 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_nid,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_nid,((val*)NULL)) on */ var_other12 = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_nid,var_other12) on */ +{ /* Inline kernel$Object$is_same_instance (var_nid,var_other12) on */ var15 = var_nid == var_other12; var13 = var15; goto RET_LABEL14; @@ -1014,114 +1162,134 @@ if (likely(varonce!=NULL)) { var16 = varonce; } else { var17 = ""; -var18 = core__flat___NativeString___to_s_full(var17, 0l, 0l); +var19 = (val*)(0l<<2|1); +var20 = (val*)(0l<<2|1); +var21 = (val*)((long)(0)<<2|3); +var22 = (val*)((long)(0)<<2|3); +var18 = core__flat___CString___to_s_unsafe(var17, var19, var20, var21, var22); var16 = var18; varonce = var16; } { -var19 = nitc__scope___nitc__scope__ScopeVisitor___search_label(self, var16); +var23 = nitc__scope___nitc__scope__ScopeVisitor___search_label(self, var16); } -var_res = var19; +var_res = var23; if (var_res == NULL) { -var20 = 0; /* is null */ +var24 = 0; /* is null */ } else { -var20 = 1; /* arg is null and recv is not */ +var24 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_res,((val*)NULL)) on */ +{ /* Inline kernel$Object$!= (var_res,((val*)NULL)) on */ var_other = ((val*)NULL); { -var23 = ((short int(*)(val* self, val* p0))(var_res->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_res, var_other); /* == on */ +var27 = ((short int(*)(val* self, val* p0))(var_res->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_res, var_other); /* == on */ } -var24 = !var23; -var21 = var24; -goto RET_LABEL22; -RET_LABEL22:(void)0; +var28 = !var27; +var25 = var28; +goto RET_LABEL26; +RET_LABEL26:(void)0; } -var20 = var21; +var24 = var25; } -if (var20){ -if (likely(varonce25!=NULL)) { -var26 = varonce25; +if (var24){ +if (likely(varonce29!=NULL)) { +var30 = varonce29; } else { -var27 = "Syntax Error: anonymous label already defined."; -var28 = core__flat___NativeString___to_s_full(var27, 46l, 46l); -var26 = var28; -varonce25 = var26; +var31 = "Syntax Error: anonymous label already defined."; +var33 = (val*)(46l<<2|1); +var34 = (val*)(46l<<2|1); +var35 = (val*)((long)(0)<<2|3); +var36 = (val*)((long)(0)<<2|3); +var32 = core__flat___CString___to_s_unsafe(var31, var33, var34, var35, var36); +var30 = var32; +varonce29 = var30; } { -nitc__scope___nitc__scope__ScopeVisitor___error(self, var_nlabel, var26); /* Direct call scope#ScopeVisitor#error on */ +nitc__scope___nitc__scope__ScopeVisitor___error(self, var_nlabel, var30); /* Direct call scope$ScopeVisitor$error on */ } } else { } -if (likely(varonce29!=NULL)) { -var30 = varonce29; +if (likely(varonce37!=NULL)) { +var38 = varonce37; } else { -var31 = ""; -var32 = core__flat___NativeString___to_s_full(var31, 0l, 0l); -var30 = var32; -varonce29 = var30; +var39 = ""; +var41 = (val*)(0l<<2|1); +var42 = (val*)(0l<<2|1); +var43 = (val*)((long)(0)<<2|3); +var44 = (val*)((long)(0)<<2|3); +var40 = core__flat___CString___to_s_unsafe(var39, var41, var42, var43, var44); +var38 = var40; +varonce37 = var38; } -var_name = var30; +var_name = var38; } else { { -var33 = nitc__lexer_work___Token___text(var_nid); +var45 = nitc__lexer_work___Token___text(var_nid); } -var_name = var33; +var_name = var45; { -var34 = nitc__scope___nitc__scope__ScopeVisitor___search_label(self, var_name); +var46 = nitc__scope___nitc__scope__ScopeVisitor___search_label(self, var_name); } -var_found = var34; +var_found = var46; if (var_found == NULL) { -var35 = 0; /* is null */ +var47 = 0; /* is null */ } else { -var35 = 1; /* arg is null and recv is not */ +var47 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_found,((val*)NULL)) on */ +{ /* Inline kernel$Object$!= (var_found,((val*)NULL)) on */ var_other = ((val*)NULL); { -var38 = ((short int(*)(val* self, val* p0))(var_found->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_found, var_other); /* == on */ +var50 = ((short int(*)(val* self, val* p0))(var_found->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_found, var_other); /* == on */ } -var39 = !var38; -var36 = var39; -goto RET_LABEL37; -RET_LABEL37:(void)0; +var51 = !var50; +var48 = var51; +goto RET_LABEL49; +RET_LABEL49:(void)0; } -var35 = var36; +var47 = var48; } -if (var35){ -if (unlikely(varonce40==NULL)) { -var41 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String); -if (likely(varonce42!=NULL)) { -var43 = varonce42; +if (var47){ +if (unlikely(varonce52==NULL)) { +var53 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String); +if (likely(varonce54!=NULL)) { +var55 = varonce54; } else { -var44 = "Syntax Error: label `"; -var45 = core__flat___NativeString___to_s_full(var44, 21l, 21l); -var43 = var45; -varonce42 = var43; +var56 = "Syntax Error: label `"; +var58 = (val*)(21l<<2|1); +var59 = (val*)(21l<<2|1); +var60 = (val*)((long)(0)<<2|3); +var61 = (val*)((long)(0)<<2|3); +var57 = core__flat___CString___to_s_unsafe(var56, var58, var59, var60, var61); +var55 = var57; +varonce54 = var55; } -((struct instance_core__NativeArray*)var41)->values[0]=var43; -if (likely(varonce46!=NULL)) { -var47 = varonce46; +((struct instance_core__NativeArray*)var53)->values[0]=var55; +if (likely(varonce62!=NULL)) { +var63 = varonce62; } else { -var48 = "` already defined."; -var49 = core__flat___NativeString___to_s_full(var48, 18l, 18l); -var47 = var49; -varonce46 = var47; +var64 = "` already defined."; +var66 = (val*)(18l<<2|1); +var67 = (val*)(18l<<2|1); +var68 = (val*)((long)(0)<<2|3); +var69 = (val*)((long)(0)<<2|3); +var65 = core__flat___CString___to_s_unsafe(var64, var66, var67, var68, var69); +var63 = var65; +varonce62 = var63; } -((struct instance_core__NativeArray*)var41)->values[2]=var47; +((struct instance_core__NativeArray*)var53)->values[2]=var63; } else { -var41 = varonce40; -varonce40 = NULL; +var53 = varonce52; +varonce52 = NULL; } -((struct instance_core__NativeArray*)var41)->values[1]=var_name; +((struct instance_core__NativeArray*)var53)->values[1]=var_name; { -var50 = ((val*(*)(val* self))(var41->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var41); /* native_to_s on */ +var70 = ((val*(*)(val* self))(var53->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var53); /* native_to_s on */ } -varonce40 = var41; +varonce52 = var53; { -nitc__scope___nitc__scope__ScopeVisitor___error(self, var_nlabel, var50); /* Direct call scope#ScopeVisitor#error on */ +nitc__scope___nitc__scope__ScopeVisitor___error(self, var_nlabel, var70); /* Direct call scope$ScopeVisitor$error on */ } } else { } @@ -1129,36 +1297,36 @@ nitc__scope___nitc__scope__ScopeVisitor___error(self, var_nlabel, var50); /* Dir } else { var_name = ((val*)NULL); } -var51 = NEW_nitc__EscapeMark(&type_nitc__EscapeMark); +var71 = NEW_nitc__EscapeMark(&type_nitc__EscapeMark); { -((void(*)(val* self, val* p0))(var51->class->vft[COLOR_nitc__scope__EscapeMark__name_61d]))(var51, var_name); /* name= on */ +((void(*)(val* self, val* p0))(var71->class->vft[COLOR_nitc__scope__EscapeMark__name_61d]))(var71, var_name); /* name= on */ } { -((void(*)(val* self))(var51->class->vft[COLOR_core__kernel__Object__init]))(var51); /* init on */ +((void(*)(val* self))(var71->class->vft[COLOR_core__kernel__Object__init]))(var71); /* init on */ } -var_res52 = var51; +var_res72 = var71; if (var_for_loop){ -var53 = NEW_nitc__EscapeMark(&type_nitc__EscapeMark); +var73 = NEW_nitc__EscapeMark(&type_nitc__EscapeMark); { -((void(*)(val* self, val* p0))(var53->class->vft[COLOR_nitc__scope__EscapeMark__name_61d]))(var53, var_name); /* name= on */ +((void(*)(val* self, val* p0))(var73->class->vft[COLOR_nitc__scope__EscapeMark__name_61d]))(var73, var_name); /* name= on */ } { -((void(*)(val* self))(var53->class->vft[COLOR_core__kernel__Object__init]))(var53); /* init on */ +((void(*)(val* self))(var73->class->vft[COLOR_core__kernel__Object__init]))(var73); /* init on */ } { -{ /* Inline scope#EscapeMark#continue_mark= (var_res52,var53) on */ -var_res52->attrs[COLOR_nitc__scope__EscapeMark___continue_mark].val = var53; /* _continue_mark on */ -RET_LABEL54:(void)0; +{ /* Inline scope$EscapeMark$continue_mark= (var_res72,var73) on */ +var_res72->attrs[COLOR_nitc__scope__EscapeMark___continue_mark].val = var73; /* _continue_mark on */ +RET_LABEL74:(void)0; } } } else { } -var = var_res52; +var = var_res72; goto RET_LABEL; RET_LABEL:; return var; } -/* method scope#ScopeVisitor#get_escapemark for (self: ScopeVisitor, ANode, nullable ALabel): nullable EscapeMark */ +/* method scope$ScopeVisitor$get_escapemark for (self: ScopeVisitor, ANode, nullable ALabel): nullable EscapeMark */ val* nitc__scope___nitc__scope__ScopeVisitor___get_escapemark(val* self, val* p0, val* p1) { val* var /* : nullable EscapeMark */; val* var_node /* var node: ANode */; @@ -1178,56 +1346,76 @@ short int var13 /* : Bool */; short int var15 /* : Bool */; static val* varonce; val* var16 /* : String */; -char* var17 /* : NativeString */; +char* var17 /* : CString */; val* var18 /* : String */; -val* var19 /* : nullable EscapeMark */; +val* var19 /* : nullable Int */; +val* var20 /* : nullable Int */; +val* var21 /* : nullable Bool */; +val* var22 /* : nullable Bool */; +val* var23 /* : nullable EscapeMark */; val* var_res /* var res: nullable EscapeMark */; -short int var20 /* : Bool */; -short int var21 /* : Bool */; -short int var23 /* : Bool */; +short int var24 /* : Bool */; short int var25 /* : Bool */; -static val* varonce26; -val* var27 /* : String */; -char* var28 /* : NativeString */; -val* var29 /* : String */; +short int var27 /* : Bool */; +short int var29 /* : Bool */; +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 /* : String */; val* var_name /* var name: String */; -val* var32 /* : nullable EscapeMark */; -val* var_res33 /* var res: nullable EscapeMark */; -short int var34 /* : Bool */; -short int var35 /* : Bool */; -short int var37 /* : Bool */; -short int var39 /* : Bool */; -val* var41 /* : NativeArray[String] */; -static val* varonce40; -static val* varonce42; -val* var43 /* : String */; -char* var44 /* : NativeString */; -val* var45 /* : String */; -static val* varonce46; -val* var47 /* : String */; -char* var48 /* : NativeString */; -val* var49 /* : String */; -val* var50 /* : String */; -val* var52 /* : List[Scope] */; -val* var54 /* : List[Scope] */; +val* var40 /* : nullable EscapeMark */; +val* var_res41 /* var res: nullable EscapeMark */; +short int var42 /* : Bool */; +short int var43 /* : Bool */; +short int var45 /* : Bool */; +short int var47 /* : Bool */; +val* var49 /* : NativeArray[String] */; +static val* varonce48; +static val* varonce50; +val* var51 /* : String */; +char* var52 /* : CString */; +val* var53 /* : String */; +val* var54 /* : nullable Int */; +val* var55 /* : nullable Int */; +val* var56 /* : nullable Bool */; +val* var57 /* : nullable Bool */; +static val* varonce58; +val* var59 /* : String */; +char* var60 /* : CString */; +val* var61 /* : String */; +val* var62 /* : nullable Int */; +val* var63 /* : nullable Int */; +val* var64 /* : nullable Bool */; +val* var65 /* : nullable Bool */; +val* var66 /* : String */; +val* var68 /* : List[Scope] */; +val* var70 /* : List[Scope] */; val* var_ /* var : List[Scope] */; -val* var55 /* : ListIterator[nullable Object] */; -val* var_56 /* var : ListIterator[Scope] */; -short int var57 /* : Bool */; -val* var58 /* : nullable Object */; +val* var71 /* : ListIterator[nullable Object] */; +val* var_72 /* var : ListIterator[Scope] */; +short int var73 /* : Bool */; +val* var74 /* : nullable Object */; val* var_scope /* var scope: Scope */; -val* var59 /* : nullable EscapeMark */; -val* var61 /* : nullable EscapeMark */; -val* var_res62 /* var res: nullable EscapeMark */; -short int var63 /* : Bool */; -short int var64 /* : Bool */; -short int var66 /* : Bool */; -short int var67 /* : Bool */; -static val* varonce69; -val* var70 /* : String */; -char* var71 /* : NativeString */; -val* var72 /* : String */; +val* var75 /* : nullable EscapeMark */; +val* var77 /* : nullable EscapeMark */; +val* var_res78 /* var res: nullable EscapeMark */; +short int var79 /* : Bool */; +short int var80 /* : Bool */; +short int var82 /* : Bool */; +short int var83 /* : Bool */; +static val* varonce85; +val* var86 /* : String */; +char* var87 /* : CString */; +val* var88 /* : String */; +val* var89 /* : nullable Int */; +val* var90 /* : nullable Int */; +val* var91 /* : nullable Bool */; +val* var92 /* : nullable Bool */; var_node = p0; var_nlabel = p1; if (var_nlabel == NULL) { @@ -1236,7 +1424,7 @@ var1 = 0; /* is null */ var1 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_nlabel,((val*)NULL)) on */ +{ /* Inline kernel$Object$!= (var_nlabel,((val*)NULL)) on */ var_other = ((val*)NULL); { var4 = ((short int(*)(val* self, val* p0))(var_nlabel->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nlabel, var_other); /* == on */ @@ -1250,7 +1438,7 @@ var1 = var2; } if (var1){ { -{ /* Inline parser_nodes#ALabel#n_id (var_nlabel) on */ +{ /* Inline parser_nodes$ALabel$n_id (var_nlabel) on */ var8 = var_nlabel->attrs[COLOR_nitc__parser_nodes__ALabel___n_id].val; /* _n_id on */ var6 = var8; RET_LABEL7:(void)0; @@ -1263,10 +1451,10 @@ var9 = 1; /* is null */ var9 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_nid,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_nid,((val*)NULL)) on */ var_other12 = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_nid,var_other12) on */ +{ /* Inline kernel$Object$is_same_instance (var_nid,var_other12) on */ var15 = var_nid == var_other12; var13 = var15; goto RET_LABEL14; @@ -1284,52 +1472,60 @@ if (likely(varonce!=NULL)) { var16 = varonce; } else { var17 = ""; -var18 = core__flat___NativeString___to_s_full(var17, 0l, 0l); +var19 = (val*)(0l<<2|1); +var20 = (val*)(0l<<2|1); +var21 = (val*)((long)(0)<<2|3); +var22 = (val*)((long)(0)<<2|3); +var18 = core__flat___CString___to_s_unsafe(var17, var19, var20, var21, var22); var16 = var18; varonce = var16; } { -var19 = nitc__scope___nitc__scope__ScopeVisitor___search_label(self, var16); +var23 = nitc__scope___nitc__scope__ScopeVisitor___search_label(self, var16); } -var_res = var19; +var_res = var23; if (var_res == NULL) { -var20 = 1; /* is null */ +var24 = 1; /* is null */ } else { -var20 = 0; /* arg is null but recv is not */ +var24 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_res,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_res,((val*)NULL)) on */ var_other12 = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_res,var_other12) on */ -var25 = var_res == var_other12; -var23 = var25; -goto RET_LABEL24; -RET_LABEL24:(void)0; +{ /* Inline kernel$Object$is_same_instance (var_res,var_other12) on */ +var29 = var_res == var_other12; +var27 = var29; +goto RET_LABEL28; +RET_LABEL28:(void)0; } } -var21 = var23; -goto RET_LABEL22; -RET_LABEL22:(void)0; +var25 = var27; +goto RET_LABEL26; +RET_LABEL26:(void)0; } -var20 = var21; +var24 = var25; } -if (var20){ -if (likely(varonce26!=NULL)) { -var27 = varonce26; +if (var24){ +if (likely(varonce30!=NULL)) { +var31 = varonce30; } else { -var28 = "Syntax Error: invalid anonymous label."; -var29 = core__flat___NativeString___to_s_full(var28, 38l, 38l); -var27 = var29; -varonce26 = var27; +var32 = "Syntax Error: invalid anonymous label."; +var34 = (val*)(38l<<2|1); +var35 = (val*)(38l<<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; } { -nitc__scope___nitc__scope__ScopeVisitor___error(self, var_nlabel, var27); /* Direct call scope#ScopeVisitor#error on */ +nitc__scope___nitc__scope__ScopeVisitor___error(self, var_nlabel, var31); /* Direct call scope$ScopeVisitor$error on */ } { -{ /* Inline modelbuilder_base#ANode#is_broken= (var_node,1) on */ +{ /* Inline modelbuilder_base$ANode$is_broken= (var_node,1) on */ var_node->attrs[COLOR_nitc__modelbuilder_base__ANode___is_broken].s = 1; /* _is_broken on */ -RET_LABEL30:(void)0; +RET_LABEL38:(void)0; } } var = ((val*)NULL); @@ -1341,161 +1537,176 @@ goto RET_LABEL; } else { } { -var31 = nitc__lexer_work___Token___text(var_nid); +var39 = nitc__lexer_work___Token___text(var_nid); } -var_name = var31; +var_name = var39; { -var32 = nitc__scope___nitc__scope__ScopeVisitor___search_label(self, var_name); +var40 = nitc__scope___nitc__scope__ScopeVisitor___search_label(self, var_name); } -var_res33 = var32; -if (var_res33 == NULL) { -var34 = 1; /* is null */ +var_res41 = var40; +if (var_res41 == NULL) { +var42 = 1; /* is null */ } else { -var34 = 0; /* arg is null but recv is not */ +var42 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_res33,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_res41,((val*)NULL)) on */ var_other12 = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_res33,var_other12) on */ -var39 = var_res33 == var_other12; -var37 = var39; -goto RET_LABEL38; -RET_LABEL38:(void)0; -} +{ /* Inline kernel$Object$is_same_instance (var_res41,var_other12) on */ +var47 = var_res41 == var_other12; +var45 = var47; +goto RET_LABEL46; +RET_LABEL46:(void)0; } -var35 = var37; -goto RET_LABEL36; -RET_LABEL36:(void)0; } -var34 = var35; -} -if (var34){ -if (unlikely(varonce40==NULL)) { -var41 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String); -if (likely(varonce42!=NULL)) { -var43 = varonce42; -} else { -var44 = "Syntax Error: invalid label `"; -var45 = core__flat___NativeString___to_s_full(var44, 29l, 29l); var43 = var45; -varonce42 = var43; -} -((struct instance_core__NativeArray*)var41)->values[0]=var43; -if (likely(varonce46!=NULL)) { -var47 = varonce46; -} else { -var48 = "`."; -var49 = core__flat___NativeString___to_s_full(var48, 2l, 2l); -var47 = var49; -varonce46 = var47; +goto RET_LABEL44; +RET_LABEL44:(void)0; +} +var42 = var43; +} +if (var42){ +if (unlikely(varonce48==NULL)) { +var49 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String); +if (likely(varonce50!=NULL)) { +var51 = varonce50; +} else { +var52 = "Syntax Error: invalid label `"; +var54 = (val*)(29l<<2|1); +var55 = (val*)(29l<<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; +varonce50 = var51; +} +((struct instance_core__NativeArray*)var49)->values[0]=var51; +if (likely(varonce58!=NULL)) { +var59 = varonce58; +} else { +var60 = "`."; +var62 = (val*)(2l<<2|1); +var63 = (val*)(2l<<2|1); +var64 = (val*)((long)(0)<<2|3); +var65 = (val*)((long)(0)<<2|3); +var61 = core__flat___CString___to_s_unsafe(var60, var62, var63, var64, var65); +var59 = var61; +varonce58 = var59; } -((struct instance_core__NativeArray*)var41)->values[2]=var47; +((struct instance_core__NativeArray*)var49)->values[2]=var59; } else { -var41 = varonce40; -varonce40 = NULL; +var49 = varonce48; +varonce48 = NULL; } -((struct instance_core__NativeArray*)var41)->values[1]=var_name; +((struct instance_core__NativeArray*)var49)->values[1]=var_name; { -var50 = ((val*(*)(val* self))(var41->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var41); /* native_to_s on */ +var66 = ((val*(*)(val* self))(var49->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var49); /* native_to_s on */ } -varonce40 = var41; +varonce48 = var49; { -nitc__scope___nitc__scope__ScopeVisitor___error(self, var_nlabel, var50); /* Direct call scope#ScopeVisitor#error on */ +nitc__scope___nitc__scope__ScopeVisitor___error(self, var_nlabel, var66); /* Direct call scope$ScopeVisitor$error on */ } { -{ /* Inline modelbuilder_base#ANode#is_broken= (var_node,1) on */ +{ /* Inline modelbuilder_base$ANode$is_broken= (var_node,1) on */ var_node->attrs[COLOR_nitc__modelbuilder_base__ANode___is_broken].s = 1; /* _is_broken on */ -RET_LABEL51:(void)0; +RET_LABEL67:(void)0; } } var = ((val*)NULL); goto RET_LABEL; } else { } -var = var_res33; +var = var_res41; goto RET_LABEL; } else { { -{ /* Inline scope#ScopeVisitor#scopes (self) on */ -var54 = self->attrs[COLOR_nitc__scope__ScopeVisitor___scopes].val; /* _scopes on */ -if (unlikely(var54 == NULL)) { +{ /* Inline scope$ScopeVisitor$scopes (self) on */ +var70 = self->attrs[COLOR_nitc__scope__ScopeVisitor___scopes].val; /* _scopes on */ +if (unlikely(var70 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 81); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 84); fatal_exit(1); } -var52 = var54; -RET_LABEL53:(void)0; +var68 = var70; +RET_LABEL69:(void)0; } } -var_ = var52; +var_ = var68; { -var55 = core___core__List___core__abstract_collection__Collection__iterator(var_); +var71 = core___core__List___core__abstract_collection__Collection__iterator(var_); } -var_56 = var55; +var_72 = var71; for(;;) { { -var57 = core___core__ListIterator___core__abstract_collection__Iterator__is_ok(var_56); +var73 = core___core__ListIterator___core__abstract_collection__Iterator__is_ok(var_72); } -if (var57){ +if (var73){ } else { goto BREAK_label; } { -var58 = core___core__ListIterator___core__abstract_collection__Iterator__item(var_56); +var74 = core___core__ListIterator___core__abstract_collection__Iterator__item(var_72); } -var_scope = var58; +var_scope = var74; { -{ /* Inline scope#Scope#escapemark (var_scope) on */ -var61 = var_scope->attrs[COLOR_nitc__scope__Scope___escapemark].val; /* _escapemark on */ -var59 = var61; -RET_LABEL60:(void)0; +{ /* Inline scope$Scope$escapemark (var_scope) on */ +var77 = var_scope->attrs[COLOR_nitc__scope__Scope___escapemark].val; /* _escapemark on */ +var75 = var77; +RET_LABEL76:(void)0; } } -var_res62 = var59; -if (var_res62 == NULL) { -var63 = 0; /* is null */ +var_res78 = var75; +if (var_res78 == NULL) { +var79 = 0; /* is null */ } else { -var63 = 1; /* arg is null and recv is not */ +var79 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_res62,((val*)NULL)) on */ +{ /* Inline kernel$Object$!= (var_res78,((val*)NULL)) on */ var_other = ((val*)NULL); { -var66 = ((short int(*)(val* self, val* p0))(var_res62->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_res62, var_other); /* == on */ +var82 = ((short int(*)(val* self, val* p0))(var_res78->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_res78, var_other); /* == on */ } -var67 = !var66; -var64 = var67; -goto RET_LABEL65; -RET_LABEL65:(void)0; +var83 = !var82; +var80 = var83; +goto RET_LABEL81; +RET_LABEL81:(void)0; } -var63 = var64; +var79 = var80; } -if (var63){ -var = var_res62; +if (var79){ +var = var_res78; goto RET_LABEL; } else { } { -((void(*)(val* self))(var_56->class->vft[COLOR_core__abstract_collection__Iterator__next]))(var_56); /* next on */ +((void(*)(val* self))(var_72->class->vft[COLOR_core__abstract_collection__Iterator__next]))(var_72); /* next on */ } } BREAK_label: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_56) on */ -RET_LABEL68:(void)0; +{ /* Inline abstract_collection$Iterator$finish (var_72) on */ +RET_LABEL84:(void)0; } } -if (likely(varonce69!=NULL)) { -var70 = varonce69; +if (likely(varonce85!=NULL)) { +var86 = varonce85; } else { -var71 = "Syntax Error: `break` statement outside block."; -var72 = core__flat___NativeString___to_s_full(var71, 46l, 46l); -var70 = var72; -varonce69 = var70; +var87 = "Syntax Error: `break` statement outside block."; +var89 = (val*)(46l<<2|1); +var90 = (val*)(46l<<2|1); +var91 = (val*)((long)(0)<<2|3); +var92 = (val*)((long)(0)<<2|3); +var88 = core__flat___CString___to_s_unsafe(var87, var89, var90, var91, var92); +var86 = var88; +varonce85 = var86; } { -nitc__scope___nitc__scope__ScopeVisitor___error(self, var_node, var70); /* Direct call scope#ScopeVisitor#error on */ +nitc__scope___nitc__scope__ScopeVisitor___error(self, var_node, var86); /* Direct call scope$ScopeVisitor$error on */ } var = ((val*)NULL); goto RET_LABEL; @@ -1503,7 +1714,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method scope#ScopeVisitor#error for (self: ScopeVisitor, ANode, String) */ +/* method scope$ScopeVisitor$error for (self: ScopeVisitor, ANode, String) */ void nitc__scope___nitc__scope__ScopeVisitor___error(val* self, val* p0, val* p1) { val* var_node /* var node: ANode */; val* var_message /* var message: String */; @@ -1514,9 +1725,12 @@ val* var4 /* : Message */; var_node = p0; var_message = p1; { -{ /* Inline scope#ScopeVisitor#toolcontext (self) on */ +{ /* Inline scope$ScopeVisitor$toolcontext (self) on */ var2 = self->attrs[COLOR_nitc__scope__ScopeVisitor___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__scope, 71); fatal_exit(1); @@ -1532,28 +1746,31 @@ var3 = ((val*(*)(val* self))(var_node->class->vft[COLOR_nitc__parser_nodes__ANod var4 = nitc___nitc__ToolContext___error(var, var3, var_message); } { -{ /* Inline modelbuilder_base#ANode#is_broken= (var_node,1) on */ +{ /* Inline modelbuilder_base$ANode$is_broken= (var_node,1) on */ var_node->attrs[COLOR_nitc__modelbuilder_base__ANode___is_broken].s = 1; /* _is_broken on */ RET_LABEL5:(void)0; } } RET_LABEL:; } -/* method scope#Scope#variables for (self: Scope): HashMap[String, Variable] */ +/* method scope$Scope$variables for (self: Scope): HashMap[String, Variable] */ val* nitc__scope___nitc__scope__Scope___variables(val* self) { val* var /* : HashMap[String, Variable] */; val* var1 /* : HashMap[String, Variable] */; var1 = self->attrs[COLOR_nitc__scope__Scope___variables].val; /* _variables on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 229); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 232); fatal_exit(1); } var = var1; RET_LABEL:; return var; } -/* method scope#Scope#escapemark for (self: Scope): nullable EscapeMark */ +/* method scope$Scope$escapemark for (self: Scope): nullable EscapeMark */ val* nitc__scope___nitc__scope__Scope___escapemark(val* self) { val* var /* : nullable EscapeMark */; val* var1 /* : nullable EscapeMark */; @@ -1562,12 +1779,12 @@ var = var1; RET_LABEL:; return var; } -/* method scope#Scope#escapemark= for (self: Scope, nullable EscapeMark) */ +/* method scope$Scope$escapemark= for (self: Scope, nullable EscapeMark) */ void nitc__scope___nitc__scope__Scope___escapemark_61d(val* self, val* p0) { self->attrs[COLOR_nitc__scope__Scope___escapemark].val = p0; /* _escapemark on */ RET_LABEL:; } -/* method scope#Scope#get_variable for (self: Scope, String): nullable Variable */ +/* method scope$Scope$get_variable for (self: Scope, String): nullable Variable */ val* nitc__scope___nitc__scope__Scope___get_variable(val* self, val* p0) { val* var /* : nullable Variable */; val* var_name /* var name: String */; @@ -1579,11 +1796,14 @@ val* var7 /* : HashMap[String, Variable] */; val* var8 /* : nullable Object */; var_name = p0; { -{ /* Inline scope#Scope#variables (self) on */ +{ /* Inline scope$Scope$variables (self) on */ var3 = self->attrs[COLOR_nitc__scope__Scope___variables].val; /* _variables on */ if (unlikely(var3 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 229); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 232); fatal_exit(1); } var1 = var3; @@ -1595,11 +1815,14 @@ var4 = core___core__HashMap___core__abstract_collection__MapRead__has_key(var1, } if (var4){ { -{ /* Inline scope#Scope#variables (self) on */ +{ /* Inline scope$Scope$variables (self) on */ var7 = self->attrs[COLOR_nitc__scope__Scope___variables].val; /* _variables on */ if (unlikely(var7 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 229); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 232); fatal_exit(1); } var5 = var7; @@ -1618,7 +1841,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method scope#ANode#accept_scope_visitor for (self: ANode, ScopeVisitor) */ +/* method scope$ANode$accept_scope_visitor for (self: ANode, ScopeVisitor) */ void nitc__scope___ANode___accept_scope_visitor(val* self, val* p0) { val* var_v /* var v: ScopeVisitor */; var_v = p0; @@ -1627,7 +1850,21 @@ var_v = p0; } RET_LABEL:; } -/* method scope#APropdef#do_scope for (self: APropdef, ToolContext) */ +/* method scope$APropdef$return_mark for (self: APropdef): nullable EscapeMark */ +val* nitc__scope___APropdef___return_mark(val* self) { +val* var /* : nullable EscapeMark */; +val* var1 /* : nullable EscapeMark */; +var1 = self->attrs[COLOR_nitc__scope__APropdef___return_mark].val; /* _return_mark on */ +var = var1; +RET_LABEL:; +return var; +} +/* method scope$APropdef$return_mark= for (self: APropdef, nullable EscapeMark) */ +void nitc__scope___APropdef___return_mark_61d(val* self, val* p0) { +self->attrs[COLOR_nitc__scope__APropdef___return_mark].val = p0; /* _return_mark on */ +RET_LABEL:; +} +/* method scope$APropdef$do_scope for (self: APropdef, ToolContext) */ void nitc__scope___APropdef___do_scope(val* self, val* p0) { val* var_toolcontext /* var toolcontext: ToolContext */; val* var /* : ScopeVisitor */; @@ -1638,18 +1875,21 @@ var = NEW_nitc__scope__ScopeVisitor(&type_nitc__scope__ScopeVisitor); ((void(*)(val* self, val* p0))(var->class->vft[COLOR_nitc__scope__ScopeVisitor__toolcontext_61d]))(var, var_toolcontext); /* toolcontext= on */ } { +((void(*)(val* self, val* p0))(var->class->vft[COLOR_nitc__scope__ScopeVisitor__propdef_61d]))(var, self); /* propdef= on */ +} +{ ((void(*)(val* self))(var->class->vft[COLOR_core__kernel__Object__init]))(var); /* init on */ } 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 */ } { -nitc__scope___nitc__scope__ScopeVisitor___shift_scope(var_v); /* Direct call scope#ScopeVisitor#shift_scope on */ +nitc__scope___nitc__scope__ScopeVisitor___shift_scope(var_v); /* Direct call scope$ScopeVisitor$shift_scope on */ } RET_LABEL:; } -/* method scope#AParam#variable for (self: AParam): nullable Variable */ +/* method scope$AParam$variable for (self: AParam): nullable Variable */ val* nitc__scope___AParam___variable(val* self) { val* var /* : nullable Variable */; val* var1 /* : nullable Variable */; @@ -1658,12 +1898,12 @@ var = var1; RET_LABEL:; return var; } -/* method scope#AParam#variable= for (self: AParam, nullable Variable) */ +/* method scope$AParam$variable= for (self: AParam, nullable Variable) */ void nitc__scope___AParam___variable_61d(val* self, val* p0) { self->attrs[COLOR_nitc__scope__AParam___variable].val = p0; /* _variable on */ RET_LABEL:; } -/* method scope#AParam#accept_scope_visitor for (self: AParam, ScopeVisitor) */ +/* method scope$AParam$accept_scope_visitor for (self: AParam, ScopeVisitor) */ void nitc__scope___AParam___ANode__accept_scope_visitor(val* self, val* p0) { val* var_v /* var v: ScopeVisitor */; val* var /* : TId */; @@ -1678,11 +1918,14 @@ var_v = p0; ((void(*)(val* self, val* p0))(self->class->vft[COLOR_nitc__scope___AParam___ANode__accept_scope_visitor]))(self, p0); /* accept_scope_visitor on */ } { -{ /* Inline parser_nodes#AParam#n_id (self) on */ +{ /* Inline parser_nodes$AParam$n_id (self) on */ var2 = self->attrs[COLOR_nitc__parser_nodes__AParam___n_id].val; /* _n_id on */ if (unlikely(var2 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1693); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1760); fatal_exit(1); } var = var2; @@ -1705,14 +1948,14 @@ var_variable = var3; var5 = nitc__scope___nitc__scope__ScopeVisitor___register_variable(var_v, var_nid, var_variable); } { -{ /* Inline scope#AParam#variable= (self,var_variable) on */ +{ /* Inline scope$AParam$variable= (self,var_variable) on */ self->attrs[COLOR_nitc__scope__AParam___variable].val = var_variable; /* _variable on */ RET_LABEL6:(void)0; } } RET_LABEL:; } -/* method scope#AVardeclExpr#variable for (self: AVardeclExpr): nullable Variable */ +/* method scope$AVardeclExpr$variable for (self: AVardeclExpr): nullable Variable */ val* nitc__scope___AVardeclExpr___variable(val* self) { val* var /* : nullable Variable */; val* var1 /* : nullable Variable */; @@ -1721,12 +1964,12 @@ var = var1; RET_LABEL:; return var; } -/* method scope#AVardeclExpr#variable= for (self: AVardeclExpr, nullable Variable) */ +/* method scope$AVardeclExpr$variable= for (self: AVardeclExpr, nullable Variable) */ void nitc__scope___AVardeclExpr___variable_61d(val* self, val* p0) { self->attrs[COLOR_nitc__scope__AVardeclExpr___variable].val = p0; /* _variable on */ RET_LABEL:; } -/* method scope#AVardeclExpr#accept_scope_visitor for (self: AVardeclExpr, ScopeVisitor) */ +/* method scope$AVardeclExpr$accept_scope_visitor for (self: AVardeclExpr, ScopeVisitor) */ void nitc__scope___AVardeclExpr___ANode__accept_scope_visitor(val* self, val* p0) { val* var_v /* var v: ScopeVisitor */; val* var /* : TId */; @@ -1741,11 +1984,14 @@ var_v = p0; ((void(*)(val* self, val* p0))(self->class->vft[COLOR_nitc__scope___AVardeclExpr___ANode__accept_scope_visitor]))(self, p0); /* accept_scope_visitor on */ } { -{ /* Inline parser_nodes#AVardeclExpr#n_id (self) on */ +{ /* Inline parser_nodes$AVardeclExpr$n_id (self) on */ var2 = self->attrs[COLOR_nitc__parser_nodes__AVardeclExpr___n_id].val; /* _n_id on */ if (unlikely(var2 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1759); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1826); fatal_exit(1); } var = var2; @@ -1768,25 +2014,25 @@ var_variable = var3; var5 = nitc__scope___nitc__scope__ScopeVisitor___register_variable(var_v, var_nid, var_variable); } { -{ /* Inline scope#Variable#warn_unread= (var_variable,1) on */ +{ /* Inline scope$Variable$warn_unread= (var_variable,1) on */ var_variable->attrs[COLOR_nitc__scope__Variable___warn_unread].s = 1; /* _warn_unread on */ RET_LABEL6:(void)0; } } { -{ /* Inline scope#AVardeclExpr#variable= (self,var_variable) on */ +{ /* Inline scope$AVardeclExpr$variable= (self,var_variable) on */ self->attrs[COLOR_nitc__scope__AVardeclExpr___variable].val = var_variable; /* _variable on */ RET_LABEL7:(void)0; } } RET_LABEL:; } -/* method scope#ASelfExpr#variable= for (self: ASelfExpr, nullable Variable) */ +/* method scope$ASelfExpr$variable= for (self: ASelfExpr, nullable Variable) */ void nitc__scope___ASelfExpr___variable_61d(val* self, val* p0) { self->attrs[COLOR_nitc__scope__ASelfExpr___variable].val = p0; /* _variable on */ RET_LABEL:; } -/* method scope#ASelfExpr#accept_scope_visitor for (self: ASelfExpr, ScopeVisitor) */ +/* method scope$ASelfExpr$accept_scope_visitor for (self: ASelfExpr, ScopeVisitor) */ void nitc__scope___ASelfExpr___ANode__accept_scope_visitor(val* self, val* p0) { val* var_v /* var v: ScopeVisitor */; val* var /* : Variable */; @@ -1796,11 +2042,14 @@ var_v = p0; ((void(*)(val* self, val* p0))(self->class->vft[COLOR_nitc__scope___ASelfExpr___ANode__accept_scope_visitor]))(self, p0); /* accept_scope_visitor on */ } { -{ /* Inline scope#ScopeVisitor#selfvariable (var_v) on */ +{ /* Inline scope$ScopeVisitor$selfvariable (var_v) on */ var2 = var_v->attrs[COLOR_nitc__scope__ScopeVisitor___selfvariable].val; /* _selfvariable on */ if (unlikely(var2 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _selfvariable"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 74); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 77); fatal_exit(1); } var = var2; @@ -1808,14 +2057,14 @@ RET_LABEL1:(void)0; } } { -{ /* Inline scope#ASelfExpr#variable= (self,var) on */ +{ /* Inline scope$ASelfExpr$variable= (self,var) on */ self->attrs[COLOR_nitc__scope__ASelfExpr___variable].val = var; /* _variable on */ RET_LABEL3:(void)0; } } RET_LABEL:; } -/* method scope#AEscapeExpr#escapemark for (self: AEscapeExpr): nullable EscapeMark */ +/* method scope$AEscapeExpr$escapemark for (self: AEscapeExpr): nullable EscapeMark */ val* nitc__scope___AEscapeExpr___escapemark(val* self) { val* var /* : nullable EscapeMark */; val* var1 /* : nullable EscapeMark */; @@ -1824,12 +2073,12 @@ var = var1; RET_LABEL:; return var; } -/* method scope#AEscapeExpr#escapemark= for (self: AEscapeExpr, nullable EscapeMark) */ +/* method scope$AEscapeExpr$escapemark= for (self: AEscapeExpr, nullable EscapeMark) */ void nitc__scope___AEscapeExpr___escapemark_61d(val* self, val* p0) { self->attrs[COLOR_nitc__scope__AEscapeExpr___escapemark].val = p0; /* _escapemark on */ RET_LABEL:; } -/* method scope#AContinueExpr#accept_scope_visitor for (self: AContinueExpr, ScopeVisitor) */ +/* method scope$AContinueExpr$accept_scope_visitor for (self: AContinueExpr, ScopeVisitor) */ void nitc__scope___AContinueExpr___ANode__accept_scope_visitor(val* self, val* p0) { val* var_v /* var v: ScopeVisitor */; val* var /* : nullable ALabel */; @@ -1849,16 +2098,20 @@ short int var16 /* : Bool */; short int var18 /* : Bool */; static val* varonce; val* var19 /* : String */; -char* var20 /* : NativeString */; +char* var20 /* : CString */; val* var21 /* : String */; -val* var22 /* : Array[AEscapeExpr] */; -val* var24 /* : Array[AEscapeExpr] */; +val* var22 /* : nullable Int */; +val* var23 /* : nullable Int */; +val* var24 /* : nullable Bool */; +val* var25 /* : nullable Bool */; +val* var26 /* : Array[AEscapeExpr] */; +val* var28 /* : Array[AEscapeExpr] */; var_v = p0; { ((void(*)(val* self, val* p0))(self->class->vft[COLOR_nitc__scope___AContinueExpr___ANode__accept_scope_visitor]))(self, p0); /* accept_scope_visitor on */ } { -{ /* Inline parser_nodes#ALabelable#n_label (self) on */ +{ /* Inline parser_nodes$ALabelable$n_label (self) on */ var2 = self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val; /* _n_label on */ var = var2; RET_LABEL1:(void)0; @@ -1874,10 +2127,10 @@ var4 = 1; /* is null */ var4 = 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 */ var9 = var_escapemark == var_other; var7 = var9; goto RET_LABEL8; @@ -1895,7 +2148,7 @@ goto RET_LABEL; } else { } { -{ /* Inline scope#EscapeMark#continue_mark (var_escapemark) on */ +{ /* Inline scope$EscapeMark$continue_mark (var_escapemark) on */ var12 = var_escapemark->attrs[COLOR_nitc__scope__EscapeMark___continue_mark].val; /* _continue_mark on */ var10 = var12; RET_LABEL11:(void)0; @@ -1908,10 +2161,10 @@ var13 = 1; /* is null */ var13 = 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 */ var18 = var_escapemark == var_other; var16 = var18; goto RET_LABEL17; @@ -1929,40 +2182,47 @@ if (likely(varonce!=NULL)) { var19 = varonce; } else { var20 = "Error: cannot \'continue\', only \'break\'."; -var21 = core__flat___NativeString___to_s_full(var20, 39l, 39l); +var22 = (val*)(39l<<2|1); +var23 = (val*)(39l<<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; } { -nitc__scope___nitc__scope__ScopeVisitor___error(var_v, self, var19); /* Direct call scope#ScopeVisitor#error on */ +nitc__scope___nitc__scope__ScopeVisitor___error(var_v, self, var19); /* Direct call scope$ScopeVisitor$error on */ } goto RET_LABEL; } else { } { -{ /* Inline scope#EscapeMark#escapes (var_escapemark) on */ -var24 = var_escapemark->attrs[COLOR_nitc__scope__EscapeMark___escapes].val; /* _escapes on */ -if (unlikely(var24 == NULL)) { +{ /* Inline scope$EscapeMark$escapes (var_escapemark) on */ +var28 = var_escapemark->attrs[COLOR_nitc__scope__EscapeMark___escapes].val; /* _escapes on */ +if (unlikely(var28 == 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); } -var22 = var24; -RET_LABEL23:(void)0; +var26 = var28; +RET_LABEL27:(void)0; } } { -core___core__Array___core__abstract_collection__SimpleCollection__add(var22, self); /* Direct call array#Array#add on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var26, self); /* Direct call array$Array$add on */ } { -{ /* Inline scope#AEscapeExpr#escapemark= (self,var_escapemark) on */ +{ /* Inline scope$AEscapeExpr$escapemark= (self,var_escapemark) on */ self->attrs[COLOR_nitc__scope__AEscapeExpr___escapemark].val = var_escapemark; /* _escapemark on */ -RET_LABEL25:(void)0; +RET_LABEL29:(void)0; } } RET_LABEL:; } -/* method scope#ABreakExpr#accept_scope_visitor for (self: ABreakExpr, ScopeVisitor) */ +/* method scope$ABreakExpr$accept_scope_visitor for (self: ABreakExpr, ScopeVisitor) */ void nitc__scope___ABreakExpr___ANode__accept_scope_visitor(val* self, val* p0) { val* var_v /* var v: ScopeVisitor */; val* var /* : nullable ALabel */; @@ -1981,7 +2241,7 @@ var_v = p0; ((void(*)(val* self, val* p0))(self->class->vft[COLOR_nitc__scope___ABreakExpr___ANode__accept_scope_visitor]))(self, p0); /* accept_scope_visitor on */ } { -{ /* Inline parser_nodes#ALabelable#n_label (self) on */ +{ /* Inline parser_nodes$ALabelable$n_label (self) on */ var2 = self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val; /* _n_label on */ var = var2; RET_LABEL1:(void)0; @@ -1997,10 +2257,10 @@ var4 = 1; /* is null */ var4 = 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 */ var9 = var_escapemark == var_other; var7 = var9; goto RET_LABEL8; @@ -2018,9 +2278,12 @@ goto RET_LABEL; } else { } { -{ /* Inline scope#EscapeMark#escapes (var_escapemark) on */ +{ /* Inline scope$EscapeMark$escapes (var_escapemark) on */ var12 = var_escapemark->attrs[COLOR_nitc__scope__EscapeMark___escapes].val; /* _escapes on */ if (unlikely(var12 == 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); @@ -2030,17 +2293,142 @@ RET_LABEL11:(void)0; } } { -core___core__Array___core__abstract_collection__SimpleCollection__add(var10, self); /* Direct call array#Array#add on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var10, self); /* Direct call array$Array$add on */ } { -{ /* Inline scope#AEscapeExpr#escapemark= (self,var_escapemark) on */ +{ /* Inline scope$AEscapeExpr$escapemark= (self,var_escapemark) on */ self->attrs[COLOR_nitc__scope__AEscapeExpr___escapemark].val = var_escapemark; /* _escapemark on */ RET_LABEL13:(void)0; } } RET_LABEL:; } -/* method scope#ADoExpr#break_mark for (self: ADoExpr): nullable EscapeMark */ +/* method scope$AReturnExpr$accept_scope_visitor for (self: AReturnExpr, ScopeVisitor) */ +void nitc__scope___AReturnExpr___ANode__accept_scope_visitor(val* self, val* p0) { +val* var_v /* var v: ScopeVisitor */; +val* var /* : APropdef */; +val* var2 /* : APropdef */; +val* var3 /* : nullable EscapeMark */; +val* var5 /* : nullable EscapeMark */; +val* var_escapemark /* var escapemark: nullable EscapeMark */; +short int var6 /* : Bool */; +short int var7 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var9 /* : Bool */; +short int var11 /* : Bool */; +val* var12 /* : EscapeMark */; +val* var13 /* : APropdef */; +val* var15 /* : APropdef */; +val* var17 /* : Array[AEscapeExpr] */; +val* var19 /* : Array[AEscapeExpr] */; +var_v = p0; +{ +((void(*)(val* self, val* p0))(self->class->vft[COLOR_nitc__scope___AReturnExpr___ANode__accept_scope_visitor]))(self, p0); /* accept_scope_visitor on */ +} +{ +{ /* Inline scope$ScopeVisitor$propdef (var_v) on */ +var2 = var_v->attrs[COLOR_nitc__scope__ScopeVisitor___propdef].val; /* _propdef on */ +if (unlikely(var2 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _propdef"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 74); +fatal_exit(1); +} +var = var2; +RET_LABEL1:(void)0; +} +} +{ +{ /* Inline scope$APropdef$return_mark (var) on */ +var5 = var->attrs[COLOR_nitc__scope__APropdef___return_mark].val; /* _return_mark on */ +var3 = var5; +RET_LABEL4:(void)0; +} +} +var_escapemark = var3; +if (var_escapemark == NULL) { +var6 = 1; /* is null */ +} else { +var6 = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel$Object$== (var_escapemark,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +{ /* Inline kernel$Object$is_same_instance (var_escapemark,var_other) on */ +var11 = var_escapemark == var_other; +var9 = var11; +goto RET_LABEL10; +RET_LABEL10:(void)0; +} +} +var7 = var9; +goto RET_LABEL8; +RET_LABEL8:(void)0; +} +var6 = var7; +} +if (var6){ +var12 = NEW_nitc__EscapeMark(&type_nitc__EscapeMark); +{ +((void(*)(val* self, val* p0))(var12->class->vft[COLOR_nitc__scope__EscapeMark__name_61d]))(var12, ((val*)NULL)); /* name= on */ +} +{ +((void(*)(val* self))(var12->class->vft[COLOR_core__kernel__Object__init]))(var12); /* init on */ +} +var_escapemark = var12; +{ +{ /* Inline scope$ScopeVisitor$propdef (var_v) on */ +var15 = var_v->attrs[COLOR_nitc__scope__ScopeVisitor___propdef].val; /* _propdef on */ +if (unlikely(var15 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _propdef"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 74); +fatal_exit(1); +} +var13 = var15; +RET_LABEL14:(void)0; +} +} +{ +{ /* Inline scope$APropdef$return_mark= (var13,var_escapemark) on */ +var13->attrs[COLOR_nitc__scope__APropdef___return_mark].val = var_escapemark; /* _return_mark on */ +RET_LABEL16:(void)0; +} +} +} else { +} +{ +{ /* Inline scope$EscapeMark$escapes (var_escapemark) on */ +var19 = var_escapemark->attrs[COLOR_nitc__scope__EscapeMark___escapes].val; /* _escapes on */ +if (unlikely(var19 == 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); +} +var17 = var19; +RET_LABEL18:(void)0; +} +} +{ +core___core__Array___core__abstract_collection__SimpleCollection__add(var17, self); /* Direct call array$Array$add on */ +} +{ +{ /* Inline scope$AEscapeExpr$escapemark= (self,var_escapemark) on */ +self->attrs[COLOR_nitc__scope__AEscapeExpr___escapemark].val = var_escapemark; /* _escapemark on */ +RET_LABEL20:(void)0; +} +} +RET_LABEL:; +} +/* method scope$ADoExpr$break_mark for (self: ADoExpr): nullable EscapeMark */ val* nitc__scope___ADoExpr___break_mark(val* self) { val* var /* : nullable EscapeMark */; val* var1 /* : nullable EscapeMark */; @@ -2049,12 +2437,12 @@ var = var1; RET_LABEL:; return var; } -/* method scope#ADoExpr#break_mark= for (self: ADoExpr, nullable EscapeMark) */ +/* method scope$ADoExpr$break_mark= for (self: ADoExpr, nullable EscapeMark) */ void nitc__scope___ADoExpr___break_mark_61d(val* self, val* p0) { self->attrs[COLOR_nitc__scope__ADoExpr___break_mark].val = p0; /* _break_mark on */ RET_LABEL:; } -/* method scope#ADoExpr#accept_scope_visitor for (self: ADoExpr, ScopeVisitor) */ +/* method scope$ADoExpr$accept_scope_visitor for (self: ADoExpr, ScopeVisitor) */ void nitc__scope___ADoExpr___ANode__accept_scope_visitor(val* self, val* p0) { val* var_v /* var v: ScopeVisitor */; val* var /* : nullable ALabel */; @@ -2064,9 +2452,11 @@ val* var5 /* : nullable AExpr */; val* var7 /* : nullable AExpr */; val* var8 /* : nullable EscapeMark */; val* var10 /* : nullable EscapeMark */; +val* var11 /* : nullable AExpr */; +val* var13 /* : nullable AExpr */; var_v = p0; { -{ /* Inline parser_nodes#ALabelable#n_label (self) on */ +{ /* Inline parser_nodes$ALabelable$n_label (self) on */ var2 = self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val; /* _n_label on */ var = var2; RET_LABEL1:(void)0; @@ -2076,31 +2466,41 @@ RET_LABEL1:(void)0; var3 = nitc__scope___nitc__scope__ScopeVisitor___make_escape_mark(var_v, var, 0); } { -{ /* Inline scope#ADoExpr#break_mark= (self,var3) on */ +{ /* Inline scope$ADoExpr$break_mark= (self,var3) on */ self->attrs[COLOR_nitc__scope__ADoExpr___break_mark].val = var3; /* _break_mark on */ RET_LABEL4:(void)0; } } { -{ /* Inline parser_nodes#ADoExpr#n_block (self) on */ +{ /* Inline parser_nodes$ADoExpr$n_block (self) on */ var7 = self->attrs[COLOR_nitc__parser_nodes__ADoExpr___n_block].val; /* _n_block on */ var5 = var7; RET_LABEL6:(void)0; } } { -{ /* Inline scope#ADoExpr#break_mark (self) on */ +{ /* Inline scope$ADoExpr$break_mark (self) on */ var10 = self->attrs[COLOR_nitc__scope__ADoExpr___break_mark].val; /* _break_mark on */ var8 = var10; RET_LABEL9:(void)0; } } { -nitc__scope___nitc__scope__ScopeVisitor___enter_visit_block(var_v, var5, var8); /* Direct call scope#ScopeVisitor#enter_visit_block on */ +nitc__scope___nitc__scope__ScopeVisitor___enter_visit_block(var_v, var5, var8); /* Direct call scope$ScopeVisitor$enter_visit_block on */ +} +{ +{ /* Inline parser_nodes$ADoExpr$n_catch (self) on */ +var13 = self->attrs[COLOR_nitc__parser_nodes__ADoExpr___n_catch].val; /* _n_catch on */ +var11 = var13; +RET_LABEL12:(void)0; +} +} +{ +nitc__scope___nitc__scope__ScopeVisitor___enter_visit_block(var_v, var11, ((val*)NULL)); /* Direct call scope$ScopeVisitor$enter_visit_block on */ } RET_LABEL:; } -/* method scope#AIfExpr#accept_scope_visitor for (self: AIfExpr, ScopeVisitor) */ +/* method scope$AIfExpr$accept_scope_visitor for (self: AIfExpr, ScopeVisitor) */ void nitc__scope___AIfExpr___ANode__accept_scope_visitor(val* self, val* p0) { val* var_v /* var v: ScopeVisitor */; val* var /* : AExpr */; @@ -2111,11 +2511,14 @@ val* var6 /* : nullable AExpr */; val* var8 /* : nullable AExpr */; 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; @@ -2123,31 +2526,31 @@ RET_LABEL1:(void)0; } } { -nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ +nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes$Visitor$enter_visit on */ } { -{ /* Inline parser_nodes#AIfExpr#n_then (self) on */ +{ /* Inline parser_nodes$AIfExpr$n_then (self) on */ var5 = self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_then].val; /* _n_then on */ var3 = var5; RET_LABEL4:(void)0; } } { -nitc__scope___nitc__scope__ScopeVisitor___enter_visit_block(var_v, var3, ((val*)NULL)); /* Direct call scope#ScopeVisitor#enter_visit_block on */ +nitc__scope___nitc__scope__ScopeVisitor___enter_visit_block(var_v, var3, ((val*)NULL)); /* Direct call scope$ScopeVisitor$enter_visit_block on */ } { -{ /* Inline parser_nodes#AIfExpr#n_else (self) on */ +{ /* Inline parser_nodes$AIfExpr$n_else (self) on */ var8 = self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_else].val; /* _n_else on */ var6 = var8; RET_LABEL7:(void)0; } } { -nitc__scope___nitc__scope__ScopeVisitor___enter_visit_block(var_v, var6, ((val*)NULL)); /* Direct call scope#ScopeVisitor#enter_visit_block on */ +nitc__scope___nitc__scope__ScopeVisitor___enter_visit_block(var_v, var6, ((val*)NULL)); /* Direct call scope$ScopeVisitor$enter_visit_block on */ } RET_LABEL:; } -/* method scope#AWhileExpr#break_mark for (self: AWhileExpr): nullable EscapeMark */ +/* method scope$AWhileExpr$break_mark for (self: AWhileExpr): nullable EscapeMark */ val* nitc__scope___AWhileExpr___break_mark(val* self) { val* var /* : nullable EscapeMark */; val* var1 /* : nullable EscapeMark */; @@ -2156,12 +2559,12 @@ var = var1; RET_LABEL:; return var; } -/* method scope#AWhileExpr#break_mark= for (self: AWhileExpr, nullable EscapeMark) */ +/* method scope$AWhileExpr$break_mark= for (self: AWhileExpr, nullable EscapeMark) */ void nitc__scope___AWhileExpr___break_mark_61d(val* self, val* p0) { self->attrs[COLOR_nitc__scope__AWhileExpr___break_mark].val = p0; /* _break_mark on */ RET_LABEL:; } -/* method scope#AWhileExpr#continue_mark for (self: AWhileExpr): nullable EscapeMark */ +/* method scope$AWhileExpr$continue_mark for (self: AWhileExpr): nullable EscapeMark */ val* nitc__scope___AWhileExpr___continue_mark(val* self) { val* var /* : nullable EscapeMark */; val* var1 /* : nullable EscapeMark */; @@ -2170,12 +2573,12 @@ var = var1; RET_LABEL:; return var; } -/* method scope#AWhileExpr#continue_mark= for (self: AWhileExpr, nullable EscapeMark) */ +/* method scope$AWhileExpr$continue_mark= for (self: AWhileExpr, nullable EscapeMark) */ void nitc__scope___AWhileExpr___continue_mark_61d(val* self, val* p0) { self->attrs[COLOR_nitc__scope__AWhileExpr___continue_mark].val = p0; /* _continue_mark on */ RET_LABEL:; } -/* method scope#AWhileExpr#accept_scope_visitor for (self: AWhileExpr, ScopeVisitor) */ +/* method scope$AWhileExpr$accept_scope_visitor for (self: AWhileExpr, ScopeVisitor) */ void nitc__scope___AWhileExpr___ANode__accept_scope_visitor(val* self, val* p0) { val* var_v /* var v: ScopeVisitor */; val* var /* : nullable ALabel */; @@ -2190,7 +2593,7 @@ val* var12 /* : nullable AExpr */; val* var14 /* : nullable AExpr */; var_v = p0; { -{ /* Inline parser_nodes#ALabelable#n_label (self) on */ +{ /* Inline parser_nodes$ALabelable$n_label (self) on */ var2 = self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val; /* _n_label on */ var = var2; RET_LABEL1:(void)0; @@ -2201,30 +2604,33 @@ var3 = nitc__scope___nitc__scope__ScopeVisitor___make_escape_mark(var_v, var, 1) } var_escapemark = var3; { -{ /* Inline scope#AWhileExpr#break_mark= (self,var_escapemark) on */ +{ /* Inline scope$AWhileExpr$break_mark= (self,var_escapemark) on */ self->attrs[COLOR_nitc__scope__AWhileExpr___break_mark].val = var_escapemark; /* _break_mark on */ RET_LABEL4:(void)0; } } { -{ /* Inline scope#EscapeMark#continue_mark (var_escapemark) on */ +{ /* Inline scope$EscapeMark$continue_mark (var_escapemark) on */ var7 = var_escapemark->attrs[COLOR_nitc__scope__EscapeMark___continue_mark].val; /* _continue_mark on */ var5 = var7; RET_LABEL6:(void)0; } } { -{ /* Inline scope#AWhileExpr#continue_mark= (self,var5) on */ +{ /* Inline scope$AWhileExpr$continue_mark= (self,var5) on */ self->attrs[COLOR_nitc__scope__AWhileExpr___continue_mark].val = var5; /* _continue_mark on */ RET_LABEL8:(void)0; } } { -{ /* Inline parser_nodes#AWhileExpr#n_expr (self) on */ +{ /* Inline parser_nodes$AWhileExpr$n_expr (self) on */ var11 = self->attrs[COLOR_nitc__parser_nodes__AWhileExpr___n_expr].val; /* _n_expr on */ if (unlikely(var11 == 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); } var9 = var11; @@ -2232,21 +2638,21 @@ 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 parser_nodes#AWhileExpr#n_block (self) on */ +{ /* Inline parser_nodes$AWhileExpr$n_block (self) on */ var14 = self->attrs[COLOR_nitc__parser_nodes__AWhileExpr___n_block].val; /* _n_block on */ var12 = var14; RET_LABEL13:(void)0; } } { -nitc__scope___nitc__scope__ScopeVisitor___enter_visit_block(var_v, var12, var_escapemark); /* Direct call scope#ScopeVisitor#enter_visit_block on */ +nitc__scope___nitc__scope__ScopeVisitor___enter_visit_block(var_v, var12, var_escapemark); /* Direct call scope$ScopeVisitor$enter_visit_block on */ } RET_LABEL:; } -/* method scope#ALoopExpr#break_mark for (self: ALoopExpr): nullable EscapeMark */ +/* method scope$ALoopExpr$break_mark for (self: ALoopExpr): nullable EscapeMark */ val* nitc__scope___ALoopExpr___break_mark(val* self) { val* var /* : nullable EscapeMark */; val* var1 /* : nullable EscapeMark */; @@ -2255,12 +2661,12 @@ var = var1; RET_LABEL:; return var; } -/* method scope#ALoopExpr#break_mark= for (self: ALoopExpr, nullable EscapeMark) */ +/* method scope$ALoopExpr$break_mark= for (self: ALoopExpr, nullable EscapeMark) */ void nitc__scope___ALoopExpr___break_mark_61d(val* self, val* p0) { self->attrs[COLOR_nitc__scope__ALoopExpr___break_mark].val = p0; /* _break_mark on */ RET_LABEL:; } -/* method scope#ALoopExpr#continue_mark for (self: ALoopExpr): nullable EscapeMark */ +/* method scope$ALoopExpr$continue_mark for (self: ALoopExpr): nullable EscapeMark */ val* nitc__scope___ALoopExpr___continue_mark(val* self) { val* var /* : nullable EscapeMark */; val* var1 /* : nullable EscapeMark */; @@ -2269,12 +2675,12 @@ var = var1; RET_LABEL:; return var; } -/* method scope#ALoopExpr#continue_mark= for (self: ALoopExpr, nullable EscapeMark) */ +/* method scope$ALoopExpr$continue_mark= for (self: ALoopExpr, nullable EscapeMark) */ void nitc__scope___ALoopExpr___continue_mark_61d(val* self, val* p0) { self->attrs[COLOR_nitc__scope__ALoopExpr___continue_mark].val = p0; /* _continue_mark on */ RET_LABEL:; } -/* method scope#ALoopExpr#accept_scope_visitor for (self: ALoopExpr, ScopeVisitor) */ +/* method scope$ALoopExpr$accept_scope_visitor for (self: ALoopExpr, ScopeVisitor) */ void nitc__scope___ALoopExpr___ANode__accept_scope_visitor(val* self, val* p0) { val* var_v /* var v: ScopeVisitor */; val* var /* : nullable ALabel */; @@ -2287,7 +2693,7 @@ val* var9 /* : nullable AExpr */; val* var11 /* : nullable AExpr */; var_v = p0; { -{ /* Inline parser_nodes#ALabelable#n_label (self) on */ +{ /* Inline parser_nodes$ALabelable$n_label (self) on */ var2 = self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val; /* _n_label on */ var = var2; RET_LABEL1:(void)0; @@ -2298,37 +2704,37 @@ var3 = nitc__scope___nitc__scope__ScopeVisitor___make_escape_mark(var_v, var, 1) } var_escapemark = var3; { -{ /* Inline scope#ALoopExpr#break_mark= (self,var_escapemark) on */ +{ /* Inline scope$ALoopExpr$break_mark= (self,var_escapemark) on */ self->attrs[COLOR_nitc__scope__ALoopExpr___break_mark].val = var_escapemark; /* _break_mark on */ RET_LABEL4:(void)0; } } { -{ /* Inline scope#EscapeMark#continue_mark (var_escapemark) on */ +{ /* Inline scope$EscapeMark$continue_mark (var_escapemark) on */ var7 = var_escapemark->attrs[COLOR_nitc__scope__EscapeMark___continue_mark].val; /* _continue_mark on */ var5 = var7; RET_LABEL6:(void)0; } } { -{ /* Inline scope#ALoopExpr#continue_mark= (self,var5) on */ +{ /* Inline scope$ALoopExpr$continue_mark= (self,var5) on */ self->attrs[COLOR_nitc__scope__ALoopExpr___continue_mark].val = var5; /* _continue_mark on */ RET_LABEL8:(void)0; } } { -{ /* Inline parser_nodes#ALoopExpr#n_block (self) on */ +{ /* Inline parser_nodes$ALoopExpr$n_block (self) on */ var11 = self->attrs[COLOR_nitc__parser_nodes__ALoopExpr___n_block].val; /* _n_block on */ var9 = var11; RET_LABEL10:(void)0; } } { -nitc__scope___nitc__scope__ScopeVisitor___enter_visit_block(var_v, var9, var_escapemark); /* Direct call scope#ScopeVisitor#enter_visit_block on */ +nitc__scope___nitc__scope__ScopeVisitor___enter_visit_block(var_v, var9, var_escapemark); /* Direct call scope$ScopeVisitor$enter_visit_block on */ } RET_LABEL:; } -/* method scope#AForExpr#break_mark for (self: AForExpr): nullable EscapeMark */ +/* method scope$AForExpr$break_mark for (self: AForExpr): nullable EscapeMark */ val* nitc__scope___AForExpr___break_mark(val* self) { val* var /* : nullable EscapeMark */; val* var1 /* : nullable EscapeMark */; @@ -2337,12 +2743,12 @@ var = var1; RET_LABEL:; return var; } -/* method scope#AForExpr#break_mark= for (self: AForExpr, nullable EscapeMark) */ +/* method scope$AForExpr$break_mark= for (self: AForExpr, nullable EscapeMark) */ void nitc__scope___AForExpr___break_mark_61d(val* self, val* p0) { self->attrs[COLOR_nitc__scope__AForExpr___break_mark].val = p0; /* _break_mark on */ RET_LABEL:; } -/* method scope#AForExpr#continue_mark for (self: AForExpr): nullable EscapeMark */ +/* method scope$AForExpr$continue_mark for (self: AForExpr): nullable EscapeMark */ val* nitc__scope___AForExpr___continue_mark(val* self) { val* var /* : nullable EscapeMark */; val* var1 /* : nullable EscapeMark */; @@ -2351,12 +2757,12 @@ var = var1; RET_LABEL:; return var; } -/* method scope#AForExpr#continue_mark= for (self: AForExpr, nullable EscapeMark) */ +/* method scope$AForExpr$continue_mark= for (self: AForExpr, nullable EscapeMark) */ void nitc__scope___AForExpr___continue_mark_61d(val* self, val* p0) { self->attrs[COLOR_nitc__scope__AForExpr___continue_mark].val = p0; /* _continue_mark on */ RET_LABEL:; } -/* method scope#AForExpr#accept_scope_visitor for (self: AForExpr, ScopeVisitor) */ +/* method scope$AForExpr$accept_scope_visitor for (self: AForExpr, ScopeVisitor) */ void nitc__scope___AForExpr___ANode__accept_scope_visitor(val* self, val* p0) { val* var_v /* var v: ScopeVisitor */; val* var /* : ANodes[AForGroup] */; @@ -2404,11 +2810,14 @@ val* var48 /* : nullable AExpr */; val* var50 /* : nullable AExpr */; 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; @@ -2433,11 +2842,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; @@ -2445,7 +2857,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 */ @@ -2456,11 +2868,14 @@ BREAK_label: (void)0; ((void(*)(val* self))((((long)var_4&3)?class_info[((long)var_4&3)]:var_4->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_4); /* finish on */ } { -{ /* Inline scope#ScopeVisitor#scopes (var_v) on */ +{ /* Inline scope$ScopeVisitor$scopes (var_v) on */ var12 = var_v->attrs[COLOR_nitc__scope__ScopeVisitor___scopes].val; /* _scopes on */ if (unlikely(var12 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 81); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 84); fatal_exit(1); } var10 = var12; @@ -2469,19 +2884,22 @@ RET_LABEL11:(void)0; } var13 = NEW_nitc__scope__Scope(&type_nitc__scope__Scope); { -{ /* Inline kernel#Object#init (var13) on */ +{ /* Inline kernel$Object$init (var13) on */ RET_LABEL14:(void)0; } } { -core___core__List___core__abstract_collection__Sequence__unshift(var10, var13); /* Direct call list#List#unshift on */ +core___core__List___core__abstract_collection__Sequence__unshift(var10, var13); /* Direct call list$List$unshift on */ } { -{ /* Inline parser_nodes#AForExpr#n_groups (self) on */ +{ /* Inline parser_nodes$AForExpr$n_groups (self) on */ var17 = self->attrs[COLOR_nitc__parser_nodes__AForExpr___n_groups].val; /* _n_groups on */ if (unlikely(var17 == 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); } var15 = var17; @@ -2507,21 +2925,24 @@ var23 = ((val*(*)(val* self))((((long)var_20&3)?class_info[((long)var_20&3)]:var var_g24 = var23; var25 = NEW_core__Array(&type_core__Array__nitc__Variable); { -core___core__Array___core__kernel__Object__init(var25); /* Direct call array#Array#init on */ +core___core__Array___core__kernel__Object__init(var25); /* Direct call array$Array$init on */ } var_variables = var25; { -{ /* Inline scope#AForGroup#variables= (var_g24,var_variables) on */ +{ /* Inline scope$AForGroup$variables= (var_g24,var_variables) on */ var_g24->attrs[COLOR_nitc__scope__AForGroup___variables].val = var_variables; /* _variables on */ RET_LABEL26:(void)0; } } { -{ /* Inline parser_nodes#AForGroup#n_ids (var_g24) on */ +{ /* Inline parser_nodes$AForGroup$n_ids (var_g24) on */ var29 = var_g24->attrs[COLOR_nitc__parser_nodes__AForGroup___n_ids].val; /* _n_ids on */ if (unlikely(var29 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_ids"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1937); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2018); fatal_exit(1); } var27 = var29; @@ -2560,7 +2981,7 @@ var_va = var36; var38 = nitc__scope___nitc__scope__ScopeVisitor___register_variable(var_v, var_nid, var_va); } { -core___core__Array___core__abstract_collection__SimpleCollection__add(var_variables, var_va); /* Direct call array#Array#add on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var_variables, var_va); /* Direct call array$Array$add on */ } { ((void(*)(val* self))((((long)var_32&3)?class_info[((long)var_32&3)]:var_32->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_32); /* next on */ @@ -2579,7 +3000,7 @@ BREAK_label22: (void)0; ((void(*)(val* self))((((long)var_20&3)?class_info[((long)var_20&3)]:var_20->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_20); /* finish on */ } { -{ /* Inline parser_nodes#ALabelable#n_label (self) on */ +{ /* Inline parser_nodes$ALabelable$n_label (self) on */ var41 = self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val; /* _n_label on */ var39 = var41; RET_LABEL40:(void)0; @@ -2590,40 +3011,40 @@ var42 = nitc__scope___nitc__scope__ScopeVisitor___make_escape_mark(var_v, var39, } var_escapemark = var42; { -{ /* Inline scope#AForExpr#break_mark= (self,var_escapemark) on */ +{ /* Inline scope$AForExpr$break_mark= (self,var_escapemark) on */ self->attrs[COLOR_nitc__scope__AForExpr___break_mark].val = var_escapemark; /* _break_mark on */ RET_LABEL43:(void)0; } } { -{ /* Inline scope#EscapeMark#continue_mark (var_escapemark) on */ +{ /* Inline scope$EscapeMark$continue_mark (var_escapemark) on */ var46 = var_escapemark->attrs[COLOR_nitc__scope__EscapeMark___continue_mark].val; /* _continue_mark on */ var44 = var46; RET_LABEL45:(void)0; } } { -{ /* Inline scope#AForExpr#continue_mark= (self,var44) on */ +{ /* Inline scope$AForExpr$continue_mark= (self,var44) on */ self->attrs[COLOR_nitc__scope__AForExpr___continue_mark].val = var44; /* _continue_mark on */ RET_LABEL47:(void)0; } } { -{ /* Inline parser_nodes#AForExpr#n_block (self) on */ +{ /* Inline parser_nodes$AForExpr$n_block (self) on */ var50 = self->attrs[COLOR_nitc__parser_nodes__AForExpr___n_block].val; /* _n_block on */ var48 = var50; RET_LABEL49:(void)0; } } { -nitc__scope___nitc__scope__ScopeVisitor___enter_visit_block(var_v, var48, var_escapemark); /* Direct call scope#ScopeVisitor#enter_visit_block on */ +nitc__scope___nitc__scope__ScopeVisitor___enter_visit_block(var_v, var48, var_escapemark); /* Direct call scope$ScopeVisitor$enter_visit_block on */ } { -nitc__scope___nitc__scope__ScopeVisitor___shift_scope(var_v); /* Direct call scope#ScopeVisitor#shift_scope on */ +nitc__scope___nitc__scope__ScopeVisitor___shift_scope(var_v); /* Direct call scope$ScopeVisitor$shift_scope on */ } RET_LABEL:; } -/* method scope#AForGroup#variables for (self: AForGroup): nullable Array[Variable] */ +/* method scope$AForGroup$variables for (self: AForGroup): nullable Array[Variable] */ val* nitc__scope___AForGroup___variables(val* self) { val* var /* : nullable Array[Variable] */; val* var1 /* : nullable Array[Variable] */; @@ -2632,12 +3053,12 @@ var = var1; RET_LABEL:; return var; } -/* method scope#AForGroup#variables= for (self: AForGroup, nullable Array[Variable]) */ +/* method scope$AForGroup$variables= for (self: AForGroup, nullable Array[Variable]) */ void nitc__scope___AForGroup___variables_61d(val* self, val* p0) { self->attrs[COLOR_nitc__scope__AForGroup___variables].val = p0; /* _variables on */ RET_LABEL:; } -/* method scope#AWithExpr#break_mark for (self: AWithExpr): nullable EscapeMark */ +/* method scope$AWithExpr$break_mark for (self: AWithExpr): nullable EscapeMark */ val* nitc__scope___AWithExpr___break_mark(val* self) { val* var /* : nullable EscapeMark */; val* var1 /* : nullable EscapeMark */; @@ -2646,12 +3067,12 @@ var = var1; RET_LABEL:; return var; } -/* method scope#AWithExpr#break_mark= for (self: AWithExpr, nullable EscapeMark) */ +/* method scope$AWithExpr$break_mark= for (self: AWithExpr, nullable EscapeMark) */ void nitc__scope___AWithExpr___break_mark_61d(val* self, val* p0) { self->attrs[COLOR_nitc__scope__AWithExpr___break_mark].val = p0; /* _break_mark on */ RET_LABEL:; } -/* method scope#AWithExpr#accept_scope_visitor for (self: AWithExpr, ScopeVisitor) */ +/* method scope$AWithExpr$accept_scope_visitor for (self: AWithExpr, ScopeVisitor) */ void nitc__scope___AWithExpr___ANode__accept_scope_visitor(val* self, val* p0) { val* var_v /* var v: ScopeVisitor */; val* var /* : List[Scope] */; @@ -2667,11 +3088,14 @@ val* var13 /* : nullable AExpr */; val* var15 /* : nullable AExpr */; var_v = p0; { -{ /* Inline scope#ScopeVisitor#scopes (var_v) on */ +{ /* Inline scope$ScopeVisitor$scopes (var_v) on */ var2 = var_v->attrs[COLOR_nitc__scope__ScopeVisitor___scopes].val; /* _scopes on */ if (unlikely(var2 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 81); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 84); fatal_exit(1); } var = var2; @@ -2680,15 +3104,15 @@ RET_LABEL1:(void)0; } var3 = NEW_nitc__scope__Scope(&type_nitc__scope__Scope); { -{ /* Inline kernel#Object#init (var3) on */ +{ /* Inline kernel$Object$init (var3) on */ RET_LABEL4:(void)0; } } { -core___core__List___core__abstract_collection__Sequence__unshift(var, var3); /* Direct call list#List#unshift on */ +core___core__List___core__abstract_collection__Sequence__unshift(var, var3); /* Direct call list$List$unshift on */ } { -{ /* Inline parser_nodes#ALabelable#n_label (self) on */ +{ /* Inline parser_nodes$ALabelable$n_label (self) on */ var7 = self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val; /* _n_label on */ var5 = var7; RET_LABEL6:(void)0; @@ -2699,17 +3123,20 @@ var8 = nitc__scope___nitc__scope__ScopeVisitor___make_escape_mark(var_v, var5, 1 } var_escapemark = var8; { -{ /* Inline scope#AWithExpr#break_mark= (self,var_escapemark) on */ +{ /* Inline scope$AWithExpr$break_mark= (self,var_escapemark) on */ self->attrs[COLOR_nitc__scope__AWithExpr___break_mark].val = var_escapemark; /* _break_mark on */ RET_LABEL9:(void)0; } } { -{ /* Inline parser_nodes#AWithExpr#n_expr (self) on */ +{ /* Inline parser_nodes$AWithExpr$n_expr (self) on */ var12 = self->attrs[COLOR_nitc__parser_nodes__AWithExpr___n_expr].val; /* _n_expr on */ if (unlikely(var12 == 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, 1955); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2036); fatal_exit(1); } var10 = var12; @@ -2717,24 +3144,24 @@ RET_LABEL11:(void)0; } } { -nitc___nitc__Visitor___enter_visit(var_v, var10); /* Direct call parser_nodes#Visitor#enter_visit on */ +nitc___nitc__Visitor___enter_visit(var_v, var10); /* Direct call parser_nodes$Visitor$enter_visit on */ } { -{ /* Inline parser_nodes#AWithExpr#n_block (self) on */ +{ /* Inline parser_nodes$AWithExpr$n_block (self) on */ var15 = self->attrs[COLOR_nitc__parser_nodes__AWithExpr___n_block].val; /* _n_block on */ var13 = var15; RET_LABEL14:(void)0; } } { -nitc__scope___nitc__scope__ScopeVisitor___enter_visit_block(var_v, var13, var_escapemark); /* Direct call scope#ScopeVisitor#enter_visit_block on */ +nitc__scope___nitc__scope__ScopeVisitor___enter_visit_block(var_v, var13, var_escapemark); /* Direct call scope$ScopeVisitor$enter_visit_block on */ } { -nitc__scope___nitc__scope__ScopeVisitor___shift_scope(var_v); /* Direct call scope#ScopeVisitor#shift_scope on */ +nitc__scope___nitc__scope__ScopeVisitor___shift_scope(var_v); /* Direct call scope$ScopeVisitor$shift_scope on */ } RET_LABEL:; } -/* method scope#AAssertExpr#accept_scope_visitor for (self: AAssertExpr, ScopeVisitor) */ +/* method scope$AAssertExpr$accept_scope_visitor for (self: AAssertExpr, ScopeVisitor) */ void nitc__scope___AAssertExpr___ANode__accept_scope_visitor(val* self, val* p0) { val* var_v /* var v: ScopeVisitor */; val* var /* : AExpr */; @@ -2743,11 +3170,14 @@ val* var3 /* : nullable AExpr */; val* var5 /* : nullable AExpr */; 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; @@ -2755,21 +3185,21 @@ RET_LABEL1:(void)0; } } { -nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ +nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes$Visitor$enter_visit on */ } { -{ /* Inline parser_nodes#AAssertExpr#n_else (self) on */ +{ /* Inline parser_nodes$AAssertExpr$n_else (self) on */ var5 = self->attrs[COLOR_nitc__parser_nodes__AAssertExpr___n_else].val; /* _n_else on */ var3 = var5; RET_LABEL4:(void)0; } } { -nitc__scope___nitc__scope__ScopeVisitor___enter_visit_block(var_v, var3, ((val*)NULL)); /* Direct call scope#ScopeVisitor#enter_visit_block on */ +nitc__scope___nitc__scope__ScopeVisitor___enter_visit_block(var_v, var3, ((val*)NULL)); /* Direct call scope$ScopeVisitor$enter_visit_block on */ } RET_LABEL:; } -/* method scope#AVarFormExpr#variable for (self: AVarFormExpr): nullable Variable */ +/* method scope$AVarFormExpr$variable for (self: AVarFormExpr): nullable Variable */ val* nitc__scope___AVarFormExpr___variable(val* self) { val* var /* : nullable Variable */; val* var1 /* : nullable Variable */; @@ -2778,12 +3208,12 @@ var = var1; RET_LABEL:; return var; } -/* method scope#AVarFormExpr#variable= for (self: AVarFormExpr, nullable Variable) */ +/* method scope$AVarFormExpr$variable= for (self: AVarFormExpr, nullable Variable) */ void nitc__scope___AVarFormExpr___variable_61d(val* self, val* p0) { self->attrs[COLOR_nitc__scope__AVarFormExpr___variable].val = p0; /* _variable on */ RET_LABEL:; } -/* method scope#ACallFormExpr#accept_scope_visitor for (self: ACallFormExpr, ScopeVisitor) */ +/* method scope$ACallFormExpr$accept_scope_visitor for (self: ACallFormExpr, ScopeVisitor) */ void nitc__scope___ACallFormExpr___ANode__accept_scope_visitor(val* self, val* p0) { val* var_v /* var v: ScopeVisitor */; val* var /* : AExpr */; @@ -2821,22 +3251,33 @@ val* var32 /* : NativeArray[String] */; static val* varonce; static val* varonce33; val* var34 /* : String */; -char* var35 /* : NativeString */; +char* var35 /* : CString */; val* var36 /* : String */; -static val* varonce37; -val* var38 /* : String */; -char* var39 /* : NativeString */; -val* var40 /* : String */; -val* var41 /* : String */; -val* var42 /* : AVarFormExpr */; +val* var37 /* : nullable Int */; +val* var38 /* : nullable Int */; +val* var39 /* : nullable Bool */; +val* var40 /* : nullable Bool */; +static val* varonce41; +val* var42 /* : String */; +char* var43 /* : CString */; +val* var44 /* : String */; +val* var45 /* : nullable Int */; +val* var46 /* : nullable Int */; +val* var47 /* : nullable Bool */; +val* var48 /* : nullable Bool */; +val* var49 /* : String */; +val* var50 /* : AVarFormExpr */; val* var_n /* var n: AExpr */; var_v = p0; { -{ /* Inline parser_nodes#ASendExpr#n_expr (self) on */ +{ /* Inline parser_nodes$ASendExpr$n_expr (self) on */ var2 = self->attrs[COLOR_nitc__parser_nodes__ASendExpr___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, 2022); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2103); fatal_exit(1); } var = var2; @@ -2853,11 +3294,14 @@ var3 = var->type->type_table[cltype] == idtype; } if (var3){ { -{ /* Inline parser_nodes#ACallFormExpr#n_qid (self) on */ +{ /* Inline parser_nodes$ACallFormExpr$n_qid (self) on */ var6 = self->attrs[COLOR_nitc__parser_nodes__ACallFormExpr___n_qid].val; /* _n_qid on */ if (unlikely(var6 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_qid"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2296); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2377); fatal_exit(1); } var4 = var6; @@ -2865,11 +3309,14 @@ RET_LABEL5:(void)0; } } { -{ /* Inline parser_nodes#AQid#n_id (var4) on */ +{ /* Inline parser_nodes$AQid$n_id (var4) on */ var9 = var4->attrs[COLOR_nitc__parser_nodes__AQid___n_id].val; /* _n_id on */ if (unlikely(var9 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1658); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1721); fatal_exit(1); } var7 = var9; @@ -2890,7 +3337,7 @@ var12 = 0; /* is null */ var12 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_variable,((val*)NULL)) on */ +{ /* Inline kernel$Object$!= (var_variable,((val*)NULL)) on */ var_other = ((val*)NULL); { var15 = ((short int(*)(val* self, val* p0))(var_variable->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_variable, var_other); /* == on */ @@ -2904,11 +3351,14 @@ var12 = var13; } if (var12){ { -{ /* Inline parser_nodes#ACallFormExpr#n_args (self) on */ +{ /* Inline parser_nodes$ACallFormExpr$n_args (self) on */ var20 = self->attrs[COLOR_nitc__parser_nodes__ACallFormExpr___n_args].val; /* _n_args on */ if (unlikely(var20 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2299); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2380); fatal_exit(1); } var18 = var20; @@ -2916,11 +3366,14 @@ RET_LABEL19:(void)0; } } { -{ /* Inline parser_nodes#AExprs#n_exprs (var18) on */ +{ /* Inline parser_nodes$AExprs$n_exprs (var18) on */ var23 = var18->attrs[COLOR_nitc__parser_nodes__AExprs___n_exprs].val; /* _n_exprs on */ if (unlikely(var23 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2709); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2790); fatal_exit(1); } var21 = var23; @@ -2936,11 +3389,14 @@ if (var25){ var17 = var_; } else { { -{ /* Inline parser_nodes#ACallFormExpr#n_args (self) on */ +{ /* Inline parser_nodes$ACallFormExpr$n_args (self) on */ var28 = self->attrs[COLOR_nitc__parser_nodes__ACallFormExpr___n_args].val; /* _n_args on */ if (unlikely(var28 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2299); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2380); fatal_exit(1); } var26 = var28; @@ -2959,55 +3415,63 @@ var17 = var29; } if (var17){ if (unlikely(varonce==NULL)) { -var32 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String); +var32 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String); if (likely(varonce33!=NULL)) { var34 = varonce33; } else { var35 = "Error: `"; -var36 = core__flat___NativeString___to_s_full(var35, 8l, 8l); +var37 = (val*)(8l<<2|1); +var38 = (val*)(8l<<2|1); +var39 = (val*)((long)(0)<<2|3); +var40 = (val*)((long)(0)<<2|3); +var36 = core__flat___CString___to_s_unsafe(var35, var37, var38, var39, var40); var34 = var36; varonce33 = var34; } ((struct instance_core__NativeArray*)var32)->values[0]=var34; -if (likely(varonce37!=NULL)) { -var38 = varonce37; +if (likely(varonce41!=NULL)) { +var42 = varonce41; } else { -var39 = "` is a variable, not a method."; -var40 = core__flat___NativeString___to_s_full(var39, 30l, 30l); -var38 = var40; -varonce37 = var38; +var43 = "` is a variable, not a method."; +var45 = (val*)(30l<<2|1); +var46 = (val*)(30l<<2|1); +var47 = (val*)((long)(0)<<2|3); +var48 = (val*)((long)(0)<<2|3); +var44 = core__flat___CString___to_s_unsafe(var43, var45, var46, var47, var48); +var42 = var44; +varonce41 = var42; } -((struct instance_core__NativeArray*)var32)->values[2]=var38; +((struct instance_core__NativeArray*)var32)->values[2]=var42; } else { var32 = varonce; varonce = NULL; } ((struct instance_core__NativeArray*)var32)->values[1]=var_name; { -var41 = ((val*(*)(val* self))(var32->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var32); /* native_to_s on */ +var49 = ((val*(*)(val* self))(var32->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var32); /* native_to_s on */ } varonce = var32; { -nitc__scope___nitc__scope__ScopeVisitor___error(var_v, self, var41); /* Direct call scope#ScopeVisitor#error on */ +nitc__scope___nitc__scope__ScopeVisitor___error(var_v, self, var49); /* Direct call scope$ScopeVisitor$error on */ } goto RET_LABEL; } else { } { -var42 = ((val*(*)(val* self, val* p0))(self->class->vft[COLOR_nitc__scope__ACallFormExpr__variable_create]))(self, var_variable); /* variable_create on */ +var50 = ((val*(*)(val* self, val* p0))(self->class->vft[COLOR_nitc__scope__ACallFormExpr__variable_create]))(self, var_variable); /* variable_create on */ } -var_n = var42; +var_n = var50; { -{ /* Inline scope#AVarFormExpr#variable= (var_n,var_variable) on */ +{ /* Inline scope$AVarFormExpr$variable= (var_n,var_variable) on */ var_n->attrs[COLOR_nitc__scope__AVarFormExpr___variable].val = var_variable; /* _variable on */ -RET_LABEL43:(void)0; +RET_LABEL51:(void)0; } } { -nitc__transform___AExpr___nitc__parser_nodes__ANode__replace_with(self, var_n); /* Direct call transform#AExpr#replace_with on */ +nitc__transform___AExpr___nitc__parser_nodes__ANode__replace_with(self, var_n); /* Direct call transform$AExpr$replace_with on */ } { -nitc__scope___ANode___accept_scope_visitor(var_n, var_v); /* Direct call scope#ANode#accept_scope_visitor on */ +nitc__scope___ANode___accept_scope_visitor(var_n, var_v); /* Direct call scope$ANode$accept_scope_visitor on */ } goto RET_LABEL; } else { @@ -3019,7 +3483,7 @@ goto RET_LABEL; } RET_LABEL:; } -/* method scope#ACallExpr#variable_create for (self: ACallExpr, Variable): AVarFormExpr */ +/* method scope$ACallExpr$variable_create for (self: ACallExpr, Variable): AVarFormExpr */ val* nitc__scope___ACallExpr___ACallFormExpr__variable_create(val* self, val* p0) { val* var /* : AVarFormExpr */; val* var_variable /* var variable: Variable */; @@ -3030,18 +3494,21 @@ val* var6 /* : TId */; val* var8 /* : TId */; var_variable = p0; { -{ /* Inline scope#Variable#warn_unread= (var_variable,0) on */ +{ /* Inline scope$Variable$warn_unread= (var_variable,0) on */ var_variable->attrs[COLOR_nitc__scope__Variable___warn_unread].s = 0; /* _warn_unread on */ RET_LABEL1:(void)0; } } var2 = NEW_nitc__AVarExpr(&type_nitc__AVarExpr); { -{ /* Inline parser_nodes#ACallFormExpr#n_qid (self) on */ +{ /* Inline parser_nodes$ACallFormExpr$n_qid (self) on */ var5 = self->attrs[COLOR_nitc__parser_nodes__ACallFormExpr___n_qid].val; /* _n_qid on */ if (unlikely(var5 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_qid"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2296); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2377); fatal_exit(1); } var3 = var5; @@ -3049,11 +3516,14 @@ RET_LABEL4:(void)0; } } { -{ /* Inline parser_nodes#AQid#n_id (var3) on */ +{ /* Inline parser_nodes$AQid$n_id (var3) on */ var8 = var3->attrs[COLOR_nitc__parser_nodes__AQid___n_id].val; /* _n_id on */ if (unlikely(var8 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1658); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1721); fatal_exit(1); } var6 = var8; @@ -3061,14 +3531,14 @@ RET_LABEL7:(void)0; } } { -nitc__parser_prod___AVarExpr___init_avarexpr(var2, var6); /* Direct call parser_prod#AVarExpr#init_avarexpr on */ +nitc__parser_prod___AVarExpr___init_avarexpr(var2, var6); /* Direct call parser_prod$AVarExpr$init_avarexpr on */ } var = var2; goto RET_LABEL; RET_LABEL:; return var; } -/* method scope#ACallAssignExpr#variable_create for (self: ACallAssignExpr, Variable): AVarFormExpr */ +/* method scope$ACallAssignExpr$variable_create for (self: ACallAssignExpr, Variable): AVarFormExpr */ val* nitc__scope___ACallAssignExpr___ACallFormExpr__variable_create(val* self, val* p0) { val* var /* : AVarFormExpr */; val* var_variable /* var variable: Variable */; @@ -3084,11 +3554,14 @@ val* var13 /* : AExpr */; var_variable = p0; var1 = NEW_nitc__AVarAssignExpr(&type_nitc__AVarAssignExpr); { -{ /* Inline parser_nodes#ACallFormExpr#n_qid (self) on */ +{ /* Inline parser_nodes$ACallFormExpr$n_qid (self) on */ var4 = self->attrs[COLOR_nitc__parser_nodes__ACallFormExpr___n_qid].val; /* _n_qid on */ if (unlikely(var4 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_qid"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2296); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2377); fatal_exit(1); } var2 = var4; @@ -3096,11 +3569,14 @@ RET_LABEL3:(void)0; } } { -{ /* Inline parser_nodes#AQid#n_id (var2) on */ +{ /* Inline parser_nodes$AQid$n_id (var2) on */ var7 = var2->attrs[COLOR_nitc__parser_nodes__AQid___n_id].val; /* _n_id on */ if (unlikely(var7 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1658); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1721); fatal_exit(1); } var5 = var7; @@ -3108,11 +3584,14 @@ RET_LABEL6:(void)0; } } { -{ /* Inline parser_nodes#AAssignFormExpr#n_assign (self) on */ +{ /* Inline parser_nodes$AAssignFormExpr$n_assign (self) on */ var10 = self->attrs[COLOR_nitc__parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on */ if (unlikely(var10 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1989); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2070); fatal_exit(1); } var8 = var10; @@ -3120,11 +3599,14 @@ RET_LABEL9:(void)0; } } { -{ /* Inline parser_nodes#AAssignFormExpr#n_value (self) on */ +{ /* Inline parser_nodes$AAssignFormExpr$n_value (self) on */ var13 = self->attrs[COLOR_nitc__parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on */ if (unlikely(var13 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1992); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2073); fatal_exit(1); } var11 = var13; @@ -3132,14 +3614,14 @@ RET_LABEL12:(void)0; } } { -nitc__parser_prod___AVarAssignExpr___init_avarassignexpr(var1, var5, var8, var11); /* Direct call parser_prod#AVarAssignExpr#init_avarassignexpr on */ +nitc__parser_prod___AVarAssignExpr___init_avarassignexpr(var1, var5, var8, var11); /* Direct call parser_prod$AVarAssignExpr$init_avarassignexpr on */ } var = var1; goto RET_LABEL; RET_LABEL:; return var; } -/* method scope#ACallReassignExpr#variable_create for (self: ACallReassignExpr, Variable): AVarFormExpr */ +/* method scope$ACallReassignExpr$variable_create for (self: ACallReassignExpr, Variable): AVarFormExpr */ val* nitc__scope___ACallReassignExpr___ACallFormExpr__variable_create(val* self, val* p0) { val* var /* : AVarFormExpr */; val* var_variable /* var variable: Variable */; @@ -3154,18 +3636,21 @@ val* var12 /* : AExpr */; val* var14 /* : AExpr */; var_variable = p0; { -{ /* Inline scope#Variable#warn_unread= (var_variable,0) on */ +{ /* Inline scope$Variable$warn_unread= (var_variable,0) on */ var_variable->attrs[COLOR_nitc__scope__Variable___warn_unread].s = 0; /* _warn_unread on */ RET_LABEL1:(void)0; } } var2 = NEW_nitc__AVarReassignExpr(&type_nitc__AVarReassignExpr); { -{ /* Inline parser_nodes#ACallFormExpr#n_qid (self) on */ +{ /* Inline parser_nodes$ACallFormExpr$n_qid (self) on */ var5 = self->attrs[COLOR_nitc__parser_nodes__ACallFormExpr___n_qid].val; /* _n_qid on */ if (unlikely(var5 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_qid"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2296); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2377); fatal_exit(1); } var3 = var5; @@ -3173,11 +3658,14 @@ RET_LABEL4:(void)0; } } { -{ /* Inline parser_nodes#AQid#n_id (var3) on */ +{ /* Inline parser_nodes$AQid$n_id (var3) on */ var8 = var3->attrs[COLOR_nitc__parser_nodes__AQid___n_id].val; /* _n_id on */ if (unlikely(var8 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1658); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1721); fatal_exit(1); } var6 = var8; @@ -3185,11 +3673,14 @@ RET_LABEL7:(void)0; } } { -{ /* Inline parser_nodes#AReassignFormExpr#n_assign_op (self) on */ +{ /* Inline parser_nodes$AReassignFormExpr$n_assign_op (self) on */ var11 = self->attrs[COLOR_nitc__parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on */ if (unlikely(var11 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign_op"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2000); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2081); fatal_exit(1); } var9 = var11; @@ -3197,11 +3688,14 @@ RET_LABEL10:(void)0; } } { -{ /* Inline parser_nodes#AReassignFormExpr#n_value (self) on */ +{ /* Inline parser_nodes$AReassignFormExpr$n_value (self) on */ var14 = self->attrs[COLOR_nitc__parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on */ if (unlikely(var14 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2003); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2084); fatal_exit(1); } var12 = var14; @@ -3209,7 +3703,7 @@ RET_LABEL13:(void)0; } } { -nitc__parser_prod___AVarReassignExpr___init_avarreassignexpr(var2, var6, var9, var12); /* Direct call parser_prod#AVarReassignExpr#init_avarreassignexpr on */ +nitc__parser_prod___AVarReassignExpr___init_avarreassignexpr(var2, var6, var9, var12); /* Direct call parser_prod$AVarReassignExpr$init_avarreassignexpr on */ } var = var2; goto RET_LABEL;