X-Git-Url: http://nitlanguage.org diff --git a/c_src/nitc__phase.sep.1.c b/c_src/nitc__phase.sep.1.c index 0ea1263..fc0e043 100644 --- a/c_src/nitc__phase.sep.1.c +++ b/c_src/nitc__phase.sep.1.c @@ -1,10 +1,13 @@ #include "nitc__phase.sep.0.h" -/* method phase#ToolContext#phases for (self: ToolContext): POSet[Phase] */ +/* method phase$ToolContext$phases for (self: ToolContext): POSet[Phase] */ val* nitc__phase___ToolContext___phases(val* self) { val* var /* : POSet[Phase] */; val* var1 /* : POSet[Phase] */; var1 = self->attrs[COLOR_nitc__phase__ToolContext___phases].val; /* _phases on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _phases"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 23); fatal_exit(1); @@ -13,12 +16,15 @@ var = var1; RET_LABEL:; return var; } -/* method phase#ToolContext#opt_disable_phase for (self: ToolContext): OptionArray */ +/* method phase$ToolContext$opt_disable_phase for (self: ToolContext): OptionArray */ val* nitc__phase___ToolContext___opt_disable_phase(val* self) { val* var /* : OptionArray */; val* var1 /* : OptionArray */; var1 = self->attrs[COLOR_nitc__phase__ToolContext___opt_disable_phase].val; /* _opt_disable_phase on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_disable_phase"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 30); fatal_exit(1); @@ -27,12 +33,15 @@ var = var1; RET_LABEL:; return var; } -/* method phase#ToolContext#opt_sloppy for (self: ToolContext): OptionBool */ +/* method phase$ToolContext$opt_sloppy for (self: ToolContext): OptionBool */ val* nitc__phase___ToolContext___opt_sloppy(val* self) { val* var /* : OptionBool */; val* var1 /* : OptionBool */; var1 = self->attrs[COLOR_nitc__phase__ToolContext___opt_sloppy].val; /* _opt_sloppy on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_sloppy"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 33); fatal_exit(1); @@ -41,7 +50,7 @@ var = var1; RET_LABEL:; return var; } -/* method phase#ToolContext#init for (self: ToolContext) */ +/* method phase$ToolContext$init for (self: ToolContext) */ void nitc__phase___ToolContext___core__kernel__Object__init(val* self) { val* var /* : OptionContext */; val* var2 /* : OptionContext */; @@ -55,11 +64,14 @@ val* var10 /* : NativeArray[Option] */; ((void(*)(val* self))(self->class->vft[COLOR_nitc__phase___ToolContext___core__kernel__Object__init]))(self); /* init on */ } { -{ /* Inline toolcontext#ToolContext#option_context (self) on */ +{ /* Inline toolcontext$ToolContext$option_context (self) on */ var2 = self->attrs[COLOR_nitc__toolcontext__ToolContext___option_context].val; /* _option_context on */ if (unlikely(var2 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 342); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 357); fatal_exit(1); } var = var2; @@ -67,9 +79,12 @@ RET_LABEL1:(void)0; } } { -{ /* Inline phase#ToolContext#opt_disable_phase (self) on */ +{ /* Inline phase$ToolContext$opt_disable_phase (self) on */ var5 = self->attrs[COLOR_nitc__phase__ToolContext___opt_disable_phase].val; /* _opt_disable_phase on */ if (unlikely(var5 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_disable_phase"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 30); fatal_exit(1); @@ -79,9 +94,12 @@ RET_LABEL4:(void)0; } } { -{ /* Inline phase#ToolContext#opt_sloppy (self) on */ +{ /* Inline phase$ToolContext$opt_sloppy (self) on */ var8 = self->attrs[COLOR_nitc__phase__ToolContext___opt_sloppy].val; /* _opt_sloppy on */ if (unlikely(var8 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_sloppy"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 33); fatal_exit(1); @@ -92,7 +110,7 @@ RET_LABEL7:(void)0; } var9 = NEW_core__Array(&type_core__Array__opts__Option); { /* var9 = array_instance Array[Option] */ -var10 = NEW_core__NativeArray(2l, &type_core__NativeArray__opts__Option); +var10 = NEW_core__NativeArray((int)2l, &type_core__NativeArray__opts__Option); ((struct instance_core__NativeArray*)var10)->values[0] = (val*) var3; ((struct instance_core__NativeArray*)var10)->values[1] = (val*) var6; { @@ -100,11 +118,11 @@ var10 = NEW_core__NativeArray(2l, &type_core__NativeArray__opts__Option); } } { -opts___opts__OptionContext___add_option(var, var9); /* Direct call opts#OptionContext#add_option on */ +opts___opts__OptionContext___add_option(var, var9); /* Direct call opts$OptionContext$add_option on */ } RET_LABEL:; } -/* method phase#ToolContext#process_options for (self: ToolContext, Sequence[String]) */ +/* method phase$ToolContext$process_options for (self: ToolContext, Sequence[String]) */ void nitc__phase___ToolContext___process_options(val* self, val* p0) { val* var_args /* var args: Sequence[String] */; val* var /* : OptionArray */; @@ -119,80 +137,107 @@ val* var9 /* : nullable Object */; val* var_v /* var v: String */; static val* varonce; val* var10 /* : String */; -char* var11 /* : NativeString */; +char* var11 /* : CString */; val* var12 /* : String */; -short int var13 /* : Bool */; -val* var14 /* : Sequence[Phase] */; -val* var_15 /* var : Sequence[Phase] */; -val* var16 /* : Iterator[nullable Object] */; -val* var_17 /* var : IndexedIterator[Phase] */; -short int var18 /* : Bool */; -val* var20 /* : nullable Object */; +val* var13 /* : nullable Int */; +val* var14 /* : nullable Int */; +val* var15 /* : nullable Bool */; +val* var16 /* : nullable Bool */; +short int var17 /* : Bool */; +val* var18 /* : Sequence[Phase] */; +val* var_19 /* var : Sequence[Phase] */; +val* var20 /* : Iterator[nullable Object] */; +val* var_21 /* var : IndexedIterator[Phase] */; +short int var22 /* : Bool */; +val* var24 /* : nullable Object */; val* var_p /* var p: Phase */; -val* var21 /* : POSetElement[Phase] */; -val* var23 /* : POSetElement[Phase] */; -val* var24 /* : Collection[nullable Object] */; +val* var25 /* : POSetElement[Phase] */; +val* var27 /* : POSetElement[Phase] */; +val* var28 /* : Collection[nullable Object] */; val* var_deps /* var deps: Collection[Phase] */; -short int var25 /* : Bool */; -val* var26 /* : Sys */; -val* var27 /* : Sys */; -val* var29 /* : NativeArray[String] */; -static val* varonce28; -static val* varonce30; -val* var31 /* : String */; -char* var32 /* : NativeString */; -val* var33 /* : String */; +short int var29 /* : Bool */; +val* var30 /* : Sys */; +val* var31 /* : Sys */; +val* var33 /* : NativeArray[String] */; +static val* varonce32; static val* varonce34; val* var35 /* : String */; -char* var36 /* : NativeString */; +char* var36 /* : CString */; val* var37 /* : String */; -val* var38 /* : String */; -static val* varonce39; -val* var40 /* : String */; -char* var41 /* : NativeString */; -val* var42 /* : String */; +val* var38 /* : nullable Int */; +val* var39 /* : nullable Int */; +val* var40 /* : nullable Bool */; +val* var41 /* : nullable Bool */; +static val* varonce42; val* var43 /* : String */; -val* var44 /* : String */; -val* var45 /* : Sys */; +char* var44 /* : CString */; +val* var45 /* : String */; +val* var46 /* : nullable Int */; +val* var47 /* : nullable Int */; +val* var48 /* : nullable Bool */; +val* var49 /* : nullable Bool */; +val* var50 /* : String */; +static val* varonce51; +val* var52 /* : String */; +char* var53 /* : CString */; +val* var54 /* : String */; +val* var55 /* : nullable Int */; +val* var56 /* : nullable Int */; +val* var57 /* : nullable Bool */; +val* var58 /* : nullable Bool */; +val* var59 /* : String */; +val* var60 /* : String */; +val* var61 /* : Sys */; short int var_found /* var found: Bool */; -val* var47 /* : POSet[Phase] */; -val* var49 /* : POSet[Phase] */; -val* var_50 /* var : POSet[Phase] */; -val* var51 /* : Iterator[nullable Object] */; -val* var_52 /* var : Iterator[Phase] */; -short int var53 /* : Bool */; -val* var55 /* : nullable Object */; -val* var_p56 /* var p: Phase */; -val* var57 /* : String */; -short int var58 /* : Bool */; +val* var63 /* : POSet[Phase] */; +val* var65 /* : POSet[Phase] */; +val* var_66 /* var : POSet[Phase] */; +val* var67 /* : Iterator[nullable Object] */; +val* var_68 /* var : Iterator[Phase] */; +short int var69 /* : Bool */; +val* var71 /* : nullable Object */; +val* var_p72 /* var p: Phase */; +val* var73 /* : String */; +short int var74 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var60 /* : Bool */; -short int var61 /* : Bool */; -short int var64 /* : Bool */; -val* var66 /* : NativeArray[String] */; -static val* varonce65; -static val* varonce67; -val* var68 /* : String */; -char* var69 /* : NativeString */; -val* var70 /* : String */; -static val* varonce71; -val* var72 /* : String */; -char* var73 /* : NativeString */; -val* var74 /* : String */; -val* var75 /* : String */; -val* var76 /* : OptionBool */; -val* var78 /* : OptionBool */; -val* var79 /* : nullable Object */; -val* var81 /* : nullable Object */; -short int var82 /* : Bool */; +short int var76 /* : Bool */; +short int var77 /* : Bool */; +short int var80 /* : Bool */; +val* var82 /* : NativeArray[String] */; +static val* varonce81; +static val* varonce83; +val* var84 /* : String */; +char* var85 /* : CString */; +val* var86 /* : String */; +val* var87 /* : nullable Int */; +val* var88 /* : nullable Int */; +val* var89 /* : nullable Bool */; +val* var90 /* : nullable Bool */; +static val* varonce91; +val* var92 /* : String */; +char* var93 /* : CString */; +val* var94 /* : String */; +val* var95 /* : nullable Int */; +val* var96 /* : nullable Int */; +val* var97 /* : nullable Bool */; +val* var98 /* : nullable Bool */; +val* var99 /* : String */; +val* var100 /* : OptionBool */; +val* var102 /* : OptionBool */; +val* var103 /* : nullable Object */; +val* var105 /* : nullable Object */; +short int var106 /* : Bool */; var_args = p0; { ((void(*)(val* self, val* p0))(self->class->vft[COLOR_nitc__phase___ToolContext___process_options]))(self, p0); /* process_options on */ } { -{ /* Inline phase#ToolContext#opt_disable_phase (self) on */ +{ /* Inline phase$ToolContext$opt_disable_phase (self) on */ var2 = self->attrs[COLOR_nitc__phase__ToolContext___opt_disable_phase].val; /* _opt_disable_phase on */ if (unlikely(var2 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_disable_phase"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 30); fatal_exit(1); @@ -202,7 +247,7 @@ RET_LABEL1:(void)0; } } { -{ /* Inline opts#Option#value (var) on */ +{ /* Inline opts$Option$value (var) on */ var5 = var->attrs[COLOR_opts__Option___value].val; /* _value on */ var3 = var5; RET_LABEL4:(void)0; @@ -229,223 +274,253 @@ if (likely(varonce!=NULL)) { var10 = varonce; } else { var11 = "list"; -var12 = core__flat___NativeString___to_s_full(var11, 4l, 4l); +var13 = (val*)(4l<<2|1); +var14 = (val*)(4l<<2|1); +var15 = (val*)((long)(0)<<2|3); +var16 = (val*)((long)(0)<<2|3); +var12 = core__flat___CString___to_s_unsafe(var11, var13, var14, var15, var16); var10 = var12; varonce = var10; } { -var13 = ((short int(*)(val* self, val* p0))(var_v->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_v, var10); /* == on */ +var17 = ((short int(*)(val* self, val* p0))(var_v->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_v, var10); /* == on */ } -if (var13){ +if (var17){ { -var14 = nitc__phase___ToolContext___phases_list(self); +var18 = nitc__phase___ToolContext___phases_list(self); } -var_15 = var14; +var_19 = var18; { -var16 = ((val*(*)(val* self))((((long)var_15&3)?class_info[((long)var_15&3)]:var_15->class)->vft[COLOR_core__abstract_collection__Collection__iterator]))(var_15); /* iterator on */ +var20 = ((val*(*)(val* self))((((long)var_19&3)?class_info[((long)var_19&3)]:var_19->class)->vft[COLOR_core__abstract_collection__Collection__iterator]))(var_19); /* iterator on */ } -var_17 = var16; +var_21 = var20; for(;;) { { -var18 = ((short int(*)(val* self))((((long)var_17&3)?class_info[((long)var_17&3)]:var_17->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_17); /* is_ok on */ +var22 = ((short int(*)(val* self))((((long)var_21&3)?class_info[((long)var_21&3)]:var_21->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_21); /* is_ok on */ } -if (var18){ +if (var22){ } else { -goto BREAK_label19; +goto BREAK_label23; } { -var20 = ((val*(*)(val* self))((((long)var_17&3)?class_info[((long)var_17&3)]:var_17->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_17); /* item on */ +var24 = ((val*(*)(val* self))((((long)var_21&3)?class_info[((long)var_21&3)]:var_21->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_21); /* item on */ } -var_p = var20; +var_p = var24; { -{ /* Inline phase#Phase#in_hierarchy (var_p) on */ -var23 = var_p->attrs[COLOR_nitc__phase__Phase___in_hierarchy].val; /* _in_hierarchy on */ -if (unlikely(var23 == NULL)) { +{ /* Inline phase$Phase$in_hierarchy (var_p) on */ +var27 = var_p->attrs[COLOR_nitc__phase__Phase___in_hierarchy].val; /* _in_hierarchy on */ +if (unlikely(var27 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_hierarchy"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 203); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 213); fatal_exit(1); } -var21 = var23; -RET_LABEL22:(void)0; +var25 = var27; +RET_LABEL26:(void)0; } } { -var24 = poset___poset__POSetElement___direct_greaters(var21); +var28 = poset___poset__POSetElement___direct_greaters(var25); } -var_deps = var24; +var_deps = var28; { -var25 = ((short int(*)(val* self))((((long)var_deps&3)?class_info[((long)var_deps&3)]:var_deps->class)->vft[COLOR_core__abstract_collection__Collection__is_empty]))(var_deps); /* is_empty on */ +var29 = ((short int(*)(val* self))((((long)var_deps&3)?class_info[((long)var_deps&3)]:var_deps->class)->vft[COLOR_core__abstract_collection__Collection__is_empty]))(var_deps); /* is_empty on */ } -if (var25){ -var26 = glob_sys; +if (var29){ +var30 = glob_sys; { -core__file___Sys___print(var26, var_p); /* Direct call file#Sys#print on */ +core__file___Sys___print(var30, var_p); /* Direct call file$Sys$print on */ } } else { -var27 = glob_sys; -if (unlikely(varonce28==NULL)) { -var29 = NEW_core__NativeArray(4l, &type_core__NativeArray__core__String); -if (likely(varonce30!=NULL)) { -var31 = varonce30; -} else { -var32 = " (dep: "; -var33 = core__flat___NativeString___to_s_full(var32, 7l, 7l); -var31 = var33; -varonce30 = var31; -} -((struct instance_core__NativeArray*)var29)->values[1]=var31; +var31 = glob_sys; +if (unlikely(varonce32==NULL)) { +var33 = NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String); if (likely(varonce34!=NULL)) { var35 = varonce34; } else { -var36 = ")"; -var37 = core__flat___NativeString___to_s_full(var36, 1l, 1l); +var36 = " (dep: "; +var38 = (val*)(7l<<2|1); +var39 = (val*)(7l<<2|1); +var40 = (val*)((long)(0)<<2|3); +var41 = (val*)((long)(0)<<2|3); +var37 = core__flat___CString___to_s_unsafe(var36, var38, var39, var40, var41); var35 = var37; varonce34 = var35; } -((struct instance_core__NativeArray*)var29)->values[3]=var35; +((struct instance_core__NativeArray*)var33)->values[1]=var35; +if (likely(varonce42!=NULL)) { +var43 = varonce42; +} else { +var44 = ")"; +var46 = (val*)(1l<<2|1); +var47 = (val*)(1l<<2|1); +var48 = (val*)((long)(0)<<2|3); +var49 = (val*)((long)(0)<<2|3); +var45 = core__flat___CString___to_s_unsafe(var44, var46, var47, var48, var49); +var43 = var45; +varonce42 = var43; +} +((struct instance_core__NativeArray*)var33)->values[3]=var43; } else { -var29 = varonce28; -varonce28 = NULL; +var33 = varonce32; +varonce32 = NULL; } { -var38 = ((val*(*)(val* self))(var_p->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_p); /* to_s on */ +var50 = ((val*(*)(val* self))(var_p->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_p); /* to_s on */ } -((struct instance_core__NativeArray*)var29)->values[0]=var38; -if (likely(varonce39!=NULL)) { -var40 = varonce39; +((struct instance_core__NativeArray*)var33)->values[0]=var50; +if (likely(varonce51!=NULL)) { +var52 = varonce51; } else { -var41 = ", "; -var42 = core__flat___NativeString___to_s_full(var41, 2l, 2l); -var40 = var42; -varonce39 = var40; +var53 = ", "; +var55 = (val*)(2l<<2|1); +var56 = (val*)(2l<<2|1); +var57 = (val*)((long)(0)<<2|3); +var58 = (val*)((long)(0)<<2|3); +var54 = core__flat___CString___to_s_unsafe(var53, var55, var56, var57, var58); +var52 = var54; +varonce51 = var52; } { -var43 = core__abstract_text___Collection___join(var_deps, var40); +var59 = core__abstract_text___Collection___join(var_deps, var52, ((val*)NULL)); } -((struct instance_core__NativeArray*)var29)->values[2]=var43; +((struct instance_core__NativeArray*)var33)->values[2]=var59; { -var44 = ((val*(*)(val* self))(var29->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var29); /* native_to_s on */ +var60 = ((val*(*)(val* self))(var33->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var33); /* native_to_s on */ } -varonce28 = var29; +varonce32 = var33; { -core__file___Sys___print(var27, var44); /* Direct call file#Sys#print on */ +core__file___Sys___print(var31, var60); /* Direct call file$Sys$print on */ } } { -((void(*)(val* self))((((long)var_17&3)?class_info[((long)var_17&3)]:var_17->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_17); /* next on */ +((void(*)(val* self))((((long)var_21&3)?class_info[((long)var_21&3)]:var_21->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_21); /* next on */ } } -BREAK_label19: (void)0; +BREAK_label23: (void)0; { -((void(*)(val* self))((((long)var_17&3)?class_info[((long)var_17&3)]:var_17->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_17); /* finish on */ +((void(*)(val* self))((((long)var_21&3)?class_info[((long)var_21&3)]:var_21->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_21); /* finish on */ } -var45 = glob_sys; +var61 = glob_sys; { -{ /* Inline kernel#Sys#exit (var45,0l) on */ -exit(0l); -RET_LABEL46:(void)0; +{ /* Inline kernel$Sys$exit (var61,0l) on */ +exit((int)0l); +RET_LABEL62:(void)0; } } } else { } var_found = 0; { -{ /* Inline phase#ToolContext#phases (self) on */ -var49 = self->attrs[COLOR_nitc__phase__ToolContext___phases].val; /* _phases on */ -if (unlikely(var49 == NULL)) { +{ /* Inline phase$ToolContext$phases (self) on */ +var65 = self->attrs[COLOR_nitc__phase__ToolContext___phases].val; /* _phases on */ +if (unlikely(var65 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _phases"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 23); fatal_exit(1); } -var47 = var49; -RET_LABEL48:(void)0; +var63 = var65; +RET_LABEL64:(void)0; } } -var_50 = var47; +var_66 = var63; { -var51 = poset___poset__POSet___core__abstract_collection__Collection__iterator(var_50); +var67 = poset___poset__POSet___core__abstract_collection__Collection__iterator(var_66); } -var_52 = var51; +var_68 = var67; for(;;) { { -var53 = ((short int(*)(val* self))((((long)var_52&3)?class_info[((long)var_52&3)]:var_52->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_52); /* is_ok on */ +var69 = ((short int(*)(val* self))((((long)var_68&3)?class_info[((long)var_68&3)]:var_68->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_68); /* is_ok on */ } -if (var53){ +if (var69){ } else { -goto BREAK_label54; +goto BREAK_label70; } { -var55 = ((val*(*)(val* self))((((long)var_52&3)?class_info[((long)var_52&3)]:var_52->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_52); /* item on */ +var71 = ((val*(*)(val* self))((((long)var_68&3)?class_info[((long)var_68&3)]:var_68->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_68); /* item on */ } -var_p56 = var55; +var_p72 = var71; { -var57 = nitc___nitc__Phase___core__abstract_text__Object__to_s(var_p56); +var73 = nitc___nitc__Phase___core__abstract_text__Object__to_s(var_p72); } { -{ /* Inline kernel#Object#!= (var_v,var57) on */ -var_other = var57; +{ /* Inline kernel$Object$!= (var_v,var73) on */ +var_other = var73; { -var60 = ((short int(*)(val* self, val* p0))(var_v->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_v, var_other); /* == on */ +var76 = ((short int(*)(val* self, val* p0))(var_v->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_v, var_other); /* == on */ } -var61 = !var60; -var58 = var61; -goto RET_LABEL59; -RET_LABEL59:(void)0; +var77 = !var76; +var74 = var77; +goto RET_LABEL75; +RET_LABEL75:(void)0; } } -if (var58){ -goto BREAK_label62; +if (var74){ +goto BREAK_label78; } else { } var_found = 1; { -{ /* Inline phase#Phase#disabled= (var_p56,1) on */ -var_p56->attrs[COLOR_nitc__phase__Phase___disabled].s = 1; /* _disabled on */ -RET_LABEL63:(void)0; +{ /* Inline phase$Phase$disabled= (var_p72,1) on */ +var_p72->attrs[COLOR_nitc__phase__Phase___disabled].s = 1; /* _disabled on */ +RET_LABEL79:(void)0; } } -BREAK_label62: (void)0; +BREAK_label78: (void)0; { -((void(*)(val* self))((((long)var_52&3)?class_info[((long)var_52&3)]:var_52->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_52); /* next on */ +((void(*)(val* self))((((long)var_68&3)?class_info[((long)var_68&3)]:var_68->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_68); /* next on */ } } -BREAK_label54: (void)0; +BREAK_label70: (void)0; { -((void(*)(val* self))((((long)var_52&3)?class_info[((long)var_52&3)]:var_52->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_52); /* finish on */ +((void(*)(val* self))((((long)var_68&3)?class_info[((long)var_68&3)]:var_68->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_68); /* finish on */ } -var64 = !var_found; -if (var64){ -if (unlikely(varonce65==NULL)) { -var66 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String); -if (likely(varonce67!=NULL)) { -var68 = varonce67; +var80 = !var_found; +if (var80){ +if (unlikely(varonce81==NULL)) { +var82 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String); +if (likely(varonce83!=NULL)) { +var84 = varonce83; } else { -var69 = "Error: no phase named `"; -var70 = core__flat___NativeString___to_s_full(var69, 23l, 23l); -var68 = var70; -varonce67 = var68; -} -((struct instance_core__NativeArray*)var66)->values[0]=var68; -if (likely(varonce71!=NULL)) { -var72 = varonce71; +var85 = "Error: no phase named `"; +var87 = (val*)(23l<<2|1); +var88 = (val*)(23l<<2|1); +var89 = (val*)((long)(0)<<2|3); +var90 = (val*)((long)(0)<<2|3); +var86 = core__flat___CString___to_s_unsafe(var85, var87, var88, var89, var90); +var84 = var86; +varonce83 = var84; +} +((struct instance_core__NativeArray*)var82)->values[0]=var84; +if (likely(varonce91!=NULL)) { +var92 = varonce91; } else { -var73 = "`. Use `list` to list all phases."; -var74 = core__flat___NativeString___to_s_full(var73, 33l, 33l); -var72 = var74; -varonce71 = var72; -} -((struct instance_core__NativeArray*)var66)->values[2]=var72; +var93 = "`. Use `list` to list all phases."; +var95 = (val*)(33l<<2|1); +var96 = (val*)(33l<<2|1); +var97 = (val*)((long)(0)<<2|3); +var98 = (val*)((long)(0)<<2|3); +var94 = core__flat___CString___to_s_unsafe(var93, var95, var96, var97, var98); +var92 = var94; +varonce91 = var92; +} +((struct instance_core__NativeArray*)var82)->values[2]=var92; } else { -var66 = varonce65; -varonce65 = NULL; +var82 = varonce81; +varonce81 = NULL; } -((struct instance_core__NativeArray*)var66)->values[1]=var_v; +((struct instance_core__NativeArray*)var82)->values[1]=var_v; { -var75 = ((val*(*)(val* self))(var66->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var66); /* native_to_s on */ +var99 = ((val*(*)(val* self))(var82->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var82); /* native_to_s on */ } -varonce65 = var66; +varonce81 = var82; { -nitc___nitc__ToolContext___fatal_error(self, ((val*)NULL), var75); /* Direct call toolcontext#ToolContext#fatal_error on */ +nitc___nitc__ToolContext___fatal_error(self, ((val*)NULL), var99); /* Direct call toolcontext$ToolContext$fatal_error on */ } } else { } @@ -458,37 +533,40 @@ BREAK_label: (void)0; ((void(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_7); /* finish on */ } { -{ /* Inline phase#ToolContext#opt_sloppy (self) on */ -var78 = self->attrs[COLOR_nitc__phase__ToolContext___opt_sloppy].val; /* _opt_sloppy on */ -if (unlikely(var78 == NULL)) { +{ /* Inline phase$ToolContext$opt_sloppy (self) on */ +var102 = self->attrs[COLOR_nitc__phase__ToolContext___opt_sloppy].val; /* _opt_sloppy on */ +if (unlikely(var102 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_sloppy"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 33); fatal_exit(1); } -var76 = var78; -RET_LABEL77:(void)0; +var100 = var102; +RET_LABEL101:(void)0; } } { -{ /* Inline opts#Option#value (var76) on */ -var81 = var76->attrs[COLOR_opts__Option___value].val; /* _value on */ -var79 = var81; -RET_LABEL80:(void)0; +{ /* Inline opts$Option$value (var100) on */ +var105 = var100->attrs[COLOR_opts__Option___value].val; /* _value on */ +var103 = var105; +RET_LABEL104:(void)0; } } -var82 = (short int)((long)(var79)>>2); -if (var82){ +var106 = (short int)((long)(var103)>>2); +if (var106){ { -{ /* Inline phase#ToolContext#semantize_is_lazy= (self,1) on */ +{ /* Inline phase$ToolContext$semantize_is_lazy= (self,1) on */ self->attrs[COLOR_nitc__phase__ToolContext___semantize_is_lazy].s = 1; /* _semantize_is_lazy on */ -RET_LABEL83:(void)0; +RET_LABEL107:(void)0; } } } else { } RET_LABEL:; } -/* method phase#ToolContext#phases_list for (self: ToolContext): Sequence[Phase] */ +/* method phase$ToolContext$phases_list for (self: ToolContext): Sequence[Phase] */ val* nitc__phase___ToolContext___phases_list(val* self) { val* var /* : Sequence[Phase] */; short int var1 /* : Bool */; @@ -504,6 +582,9 @@ var1 = self->attrs[COLOR_nitc__phase__ToolContext___phases_list].val != NULL; /* if(likely(var1)) { var2 = self->attrs[COLOR_nitc__phase__ToolContext___phases_list].val; /* _phases_list on */ if (unlikely(var2 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _phases_list"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 72); fatal_exit(1); @@ -511,9 +592,12 @@ fatal_exit(1); } else { { { -{ /* Inline phase#ToolContext#phases (self) on */ +{ /* Inline phase$ToolContext$phases (self) on */ var7 = self->attrs[COLOR_nitc__phase__ToolContext___phases].val; /* _phases on */ if (unlikely(var7 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _phases"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 23); fatal_exit(1); @@ -527,9 +611,12 @@ var8 = core__array___Collection___to_a(var5); } var_phases = var8; { -{ /* Inline phase#ToolContext#phases (self) on */ +{ /* Inline phase$ToolContext$phases (self) on */ var11 = self->attrs[COLOR_nitc__phase__ToolContext___phases].val; /* _phases on */ if (unlikely(var11 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _phases"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 23); fatal_exit(1); @@ -539,7 +626,7 @@ RET_LABEL10:(void)0; } } { -core___core__Comparator___sort(var9, var_phases); /* Direct call sorter#Comparator#sort on */ +core___core__Comparator___sort(var9, var_phases); /* Direct call sorter$Comparator$sort on */ } var3 = var_phases; goto RET_LABEL4; @@ -552,7 +639,7 @@ var = var2; RET_LABEL:; return var; } -/* method phase#ToolContext#semantize_is_lazy for (self: ToolContext): Bool */ +/* method phase$ToolContext$semantize_is_lazy for (self: ToolContext): Bool */ short int nitc__phase___ToolContext___semantize_is_lazy(val* self) { short int var /* : Bool */; short int var1 /* : Bool */; @@ -561,17 +648,20 @@ var = var1; RET_LABEL:; return var; } -/* method phase#ToolContext#semantize_is_lazy= for (self: ToolContext, Bool) */ +/* method phase$ToolContext$semantize_is_lazy= for (self: ToolContext, Bool) */ void nitc__phase___ToolContext___semantize_is_lazy_61d(val* self, short int p0) { self->attrs[COLOR_nitc__phase__ToolContext___semantize_is_lazy].s = p0; /* _semantize_is_lazy on */ RET_LABEL:; } -/* method phase#ToolContext#phased_modules for (self: ToolContext): HashSet[AModule] */ +/* method phase$ToolContext$phased_modules for (self: ToolContext): HashSet[AModule] */ val* nitc__phase___ToolContext___phased_modules(val* self) { val* var /* : HashSet[AModule] */; val* var1 /* : HashSet[AModule] */; var1 = self->attrs[COLOR_nitc__phase__ToolContext___phased_modules].val; /* _phased_modules on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _phased_modules"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 86); fatal_exit(1); @@ -580,7 +670,12 @@ var = var1; RET_LABEL:; return var; } -/* method phase#ToolContext#run_phases for (self: ToolContext, Collection[AModule]) */ +/* method phase$ToolContext$todo_nmodules= for (self: ToolContext, Sequence[AModule]) */ +void nitc__phase___ToolContext___todo_nmodules_61d(val* self, val* p0) { +self->attrs[COLOR_nitc__phase__ToolContext___todo_nmodules].val = p0; /* _todo_nmodules on */ +RET_LABEL:; +} +/* method phase$ToolContext$run_phases for (self: ToolContext, Collection[AModule]) */ void nitc__phase___ToolContext___run_phases(val* self, val* p0) { val* var_nmodules /* var nmodules: Collection[AModule] */; val* var /* : Sys */; @@ -589,169 +684,190 @@ long var3 /* : Int */; long var_time0 /* var time0: Int */; static val* varonce; val* var4 /* : String */; -char* var5 /* : NativeString */; +char* var5 /* : CString */; val* var6 /* : String */; -val* var7 /* : Sequence[Phase] */; +val* var7 /* : nullable Int */; +val* var8 /* : nullable Int */; +val* var9 /* : nullable Bool */; +val* var10 /* : nullable Bool */; +val* var11 /* : Sequence[Phase] */; val* var_phases /* var phases: Sequence[Phase] */; val* var_ /* var : Sequence[Phase] */; -val* var8 /* : Iterator[nullable Object] */; -val* var_9 /* var : IndexedIterator[Phase] */; -short int var10 /* : Bool */; -val* var11 /* : nullable Object */; +val* var12 /* : Iterator[nullable Object] */; +val* var_13 /* var : IndexedIterator[Phase] */; +short int var14 /* : Bool */; +val* var15 /* : nullable Object */; val* var_phase /* var phase: Phase */; -val* var13 /* : NativeArray[String] */; -static val* varonce12; -static val* varonce14; -val* var15 /* : String */; -char* var16 /* : NativeString */; -val* var17 /* : String */; -val* var18 /* : String */; +val* var17 /* : NativeArray[String] */; +static val* varonce16; +static val* varonce18; val* var19 /* : String */; -val* var_20 /* var : Collection[AModule] */; -val* var21 /* : Iterator[nullable Object] */; -val* var_22 /* var : Iterator[AModule] */; -short int var23 /* : Bool */; -val* var25 /* : nullable Object */; +char* var20 /* : CString */; +val* var21 /* : String */; +val* var22 /* : nullable Int */; +val* var23 /* : nullable Int */; +val* var24 /* : nullable Bool */; +val* var25 /* : nullable Bool */; +val* var26 /* : String */; +val* var27 /* : String */; +val* var28 /* : Array[nullable Object] */; +val* var_todo_nmodules /* var todo_nmodules: Array[AModule] */; +short int var30 /* : Bool */; +short int var31 /* : Bool */; +val* var32 /* : nullable Object */; val* var_nmodule /* var nmodule: AModule */; -val* var26 /* : HashSet[AModule] */; -val* var28 /* : HashSet[AModule] */; -short int var29 /* : Bool */; -val* var31 /* : HashSet[AModule] */; val* var33 /* : HashSet[AModule] */; -val* var35 /* : NativeArray[String] */; -static val* varonce34; -static val* varonce36; -val* var37 /* : String */; -char* var38 /* : NativeString */; -val* var39 /* : String */; -val* var40 /* : Location */; -val* var42 /* : Location */; -val* var43 /* : nullable SourceFile */; -val* var45 /* : nullable SourceFile */; +val* var35 /* : HashSet[AModule] */; +short int var36 /* : Bool */; +val* var38 /* : HashSet[AModule] */; +val* var40 /* : HashSet[AModule] */; +val* var42 /* : NativeArray[String] */; +static val* varonce41; +static val* varonce43; +val* var44 /* : String */; +char* var45 /* : CString */; val* var46 /* : String */; -val* var48 /* : String */; -val* var49 /* : String */; -val* var50 /* : AnnotationPhaseVisitor */; +val* var47 /* : nullable Int */; +val* var48 /* : nullable Int */; +val* var49 /* : nullable Bool */; +val* var50 /* : nullable Bool */; +val* var51 /* : Location */; +val* var53 /* : Location */; +val* var54 /* : nullable SourceFile */; +val* var56 /* : nullable SourceFile */; +val* var57 /* : String */; +val* var59 /* : String */; +val* var60 /* : String */; +val* var61 /* : AnnotationPhaseVisitor */; val* var_vannot /* var vannot: AnnotationPhaseVisitor */; -val* var_52 /* var : Sequence[Phase] */; -val* var53 /* : Iterator[nullable Object] */; -val* var_54 /* var : IndexedIterator[Phase] */; -short int var55 /* : Bool */; -val* var57 /* : nullable Object */; -val* var_phase58 /* var phase: Phase */; -short int var59 /* : Bool */; -short int var61 /* : Bool */; -val* var63 /* : ToolContext */; -val* var65 /* : ToolContext */; +val* var_63 /* var : Sequence[Phase] */; +val* var64 /* : Iterator[nullable Object] */; +val* var_65 /* var : IndexedIterator[Phase] */; short int var66 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var68 /* : Bool */; +val* var68 /* : nullable Object */; +val* var_phase69 /* var phase: Phase */; short int var70 /* : Bool */; -long var71 /* : Int */; -long var73 /* : Int */; -long var_errcount /* var errcount: Int */; -long var74 /* : Int */; -long var76 /* : Int */; +short int var72 /* : Bool */; +val* var74 /* : ToolContext */; +val* var76 /* : ToolContext */; short int var77 /* : Bool */; +val* var_other /* var other: nullable Object */; short int var79 /* : Bool */; -short int var80 /* : Bool */; short int var81 /* : Bool */; long var82 /* : Int */; long var84 /* : Int */; -val* var85 /* : ANodes[AClassdef] */; -val* var87 /* : ANodes[AClassdef] */; -val* var_88 /* var : ANodes[AClassdef] */; -val* var89 /* : Iterator[ANode] */; -val* var_90 /* var : Iterator[AClassdef] */; +long var_errcount /* var errcount: Int */; +long var85 /* : Int */; +long var87 /* : Int */; +short int var88 /* : Bool */; +short int var90 /* : Bool */; short int var91 /* : Bool */; -val* var93 /* : nullable Object */; -val* var_nclassdef /* var nclassdef: AClassdef */; -val* var94 /* : ToolContext */; -val* var96 /* : ToolContext */; -short int var97 /* : Bool */; -short int var99 /* : Bool */; -short int var101 /* : Bool */; +short int var92 /* : Bool */; +long var93 /* : Int */; +long var95 /* : Int */; +val* var96 /* : ANodes[AClassdef] */; +val* var98 /* : ANodes[AClassdef] */; +val* var_99 /* var : ANodes[AClassdef] */; +val* var100 /* : Iterator[ANode] */; +val* var_101 /* var : Iterator[AClassdef] */; short int var102 /* : Bool */; -short int var104 /* : Bool */; -short int var105 /* : Bool */; -val* var106 /* : ANodes[APropdef] */; -val* var108 /* : ANodes[APropdef] */; -val* var_109 /* var : ANodes[APropdef] */; -val* var110 /* : Iterator[ANode] */; -val* var_111 /* var : Iterator[APropdef] */; +val* var104 /* : nullable Object */; +val* var_nclassdef /* var nclassdef: AClassdef */; +val* var105 /* : ToolContext */; +val* var107 /* : ToolContext */; +short int var108 /* : Bool */; +short int var110 /* : Bool */; short int var112 /* : Bool */; -val* var114 /* : nullable Object */; +short int var113 /* : Bool */; +short int var115 /* : Bool */; +short int var116 /* : Bool */; +val* var117 /* : ANodes[APropdef] */; +val* var119 /* : ANodes[APropdef] */; +val* var_120 /* var : ANodes[APropdef] */; +val* var121 /* : Iterator[ANode] */; +val* var_122 /* var : Iterator[APropdef] */; +short int var123 /* : Bool */; +val* var125 /* : nullable Object */; val* var_npropdef /* var npropdef: APropdef */; -val* var115 /* : ToolContext */; -val* var117 /* : ToolContext */; -short int var118 /* : Bool */; -short int var120 /* : Bool */; -short int var122 /* : Bool */; -long var123 /* : Int */; -long var125 /* : Int */; -short int var126 /* : Bool */; -short int var128 /* : Bool */; +val* var126 /* : ToolContext */; +val* var128 /* : ToolContext */; short int var129 /* : Bool */; -short int var130 /* : Bool */; -val* var131 /* : Array[AAnnotation] */; -val* var133 /* : Array[AAnnotation] */; -val* var_134 /* var : Array[AAnnotation] */; -val* var135 /* : IndexedIterator[nullable Object] */; -val* var_136 /* var : IndexedIterator[AAnnotation] */; +short int var131 /* : Bool */; +short int var133 /* : Bool */; +long var134 /* : Int */; +long var136 /* : Int */; short int var137 /* : Bool */; -val* var139 /* : nullable Object */; +short int var139 /* : Bool */; +short int var140 /* : Bool */; +short int var141 /* : Bool */; +val* var142 /* : Array[AAnnotation] */; +val* var144 /* : Array[AAnnotation] */; +val* var_145 /* var : Array[AAnnotation] */; +val* var146 /* : IndexedIterator[nullable Object] */; +val* var_147 /* var : IndexedIterator[AAnnotation] */; +short int var148 /* : Bool */; +val* var150 /* : nullable Object */; val* var_na /* var na: AAnnotation */; -val* var140 /* : nullable ANode */; -val* var142 /* : nullable ANode */; +val* var151 /* : nullable ANode */; +val* var153 /* : nullable ANode */; val* var_p /* var p: nullable ANode */; -short int var143 /* : Bool */; +short int var154 /* : Bool */; int cltype; int idtype; -val* var144 /* : nullable ANode */; -val* var146 /* : nullable ANode */; -short int var147 /* : Bool */; -short int var148 /* : Bool */; -val* var_other150 /* var other: nullable Object */; -short int var151 /* : Bool */; -short int var152 /* : Bool */; -long var153 /* : Int */; -long var155 /* : Int */; -short int var156 /* : Bool */; +val* var155 /* : nullable ANode */; +val* var157 /* : nullable ANode */; short int var158 /* : Bool */; short int var159 /* : Bool */; -short int var160 /* : Bool */; -short int var161 /* : Bool */; -val* var162 /* : Sys */; -long var163 /* : Int */; -long var165 /* : Int */; +val* var_other161 /* var other: nullable Object */; +short int var162 /* : Bool */; +short int var163 /* : Bool */; +long var164 /* : Int */; +long var166 /* : Int */; +short int var167 /* : Bool */; +short int var169 /* : Bool */; +short int var170 /* : Bool */; +short int var171 /* : Bool */; +val* var_nmodule173 /* var nmodule: AModule */; +short int var174 /* : Bool */; +val* var176 /* : Sys */; +long var177 /* : Int */; +long var179 /* : Int */; long var_time1 /* var time1: Int */; -val* var167 /* : NativeArray[String] */; -static val* varonce166; -static val* varonce168; -val* var169 /* : String */; -char* var170 /* : NativeString */; -val* var171 /* : String */; -static val* varonce172; -val* var173 /* : String */; -char* var174 /* : NativeString */; -val* var175 /* : String */; -long var176 /* : Int */; -short int var178 /* : Bool */; -int cltype179; -int idtype180; -const char* var_class_name; -long var181 /* : Int */; -val* var182 /* : String */; +val* var181 /* : NativeArray[String] */; +static val* varonce180; +static val* varonce182; val* var183 /* : String */; -short int var184 /* : Bool */; +char* var184 /* : CString */; +val* var185 /* : String */; +val* var186 /* : nullable Int */; +val* var187 /* : nullable Int */; +val* var188 /* : nullable Bool */; +val* var189 /* : nullable Bool */; +static val* varonce190; +val* var191 /* : String */; +char* var192 /* : CString */; +val* var193 /* : String */; +val* var194 /* : nullable Int */; +val* var195 /* : nullable Int */; +val* var196 /* : nullable Bool */; +val* var197 /* : nullable Bool */; +long var198 /* : Int */; +short int var200 /* : Bool */; +int cltype201; +int idtype202; +const char* var_class_name; +long var203 /* : Int */; +val* var204 /* : String */; +val* var205 /* : String */; +short int var206 /* : Bool */; var_nmodules = p0; var = glob_sys; { -{ /* Inline time#Sys#get_time (var) on */ +{ /* Inline time$Sys$get_time (var) on */ struct nitni_instance* var_for_c_0; var_for_c_0 = nit_alloc(sizeof(struct nitni_instance)); var_for_c_0->value = var; -var3 = time___Sys_get_time___impl(var_for_c_0); +var3 = core__time___Sys_get_time___impl(var_for_c_0); var1 = var3; goto RET_LABEL2; RET_LABEL2:(void)0; @@ -762,679 +878,753 @@ if (likely(varonce!=NULL)) { var4 = varonce; } else { var5 = "*** SEMANTIC ANALYSIS ***"; -var6 = core__flat___NativeString___to_s_full(var5, 25l, 25l); +var7 = (val*)(25l<<2|1); +var8 = (val*)(25l<<2|1); +var9 = (val*)((long)(0)<<2|3); +var10 = (val*)((long)(0)<<2|3); +var6 = core__flat___CString___to_s_unsafe(var5, var7, var8, var9, var10); var4 = var6; varonce = var4; } { -nitc___nitc__ToolContext___info(self, var4, 1l); /* Direct call toolcontext#ToolContext#info on */ +nitc___nitc__ToolContext___info(self, var4, 1l); /* Direct call toolcontext$ToolContext$info on */ } { -var7 = nitc__phase___ToolContext___phases_list(self); +var11 = nitc__phase___ToolContext___phases_list(self); } -var_phases = var7; +var_phases = var11; var_ = var_phases; { -var8 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_core__abstract_collection__Collection__iterator]))(var_); /* iterator on */ +var12 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_core__abstract_collection__Collection__iterator]))(var_); /* iterator on */ } -var_9 = var8; +var_13 = var12; for(;;) { { -var10 = ((short int(*)(val* self))((((long)var_9&3)?class_info[((long)var_9&3)]:var_9->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_9); /* is_ok on */ +var14 = ((short int(*)(val* self))((((long)var_13&3)?class_info[((long)var_13&3)]:var_13->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_13); /* is_ok on */ } -if (var10){ +if (var14){ } else { goto BREAK_label; } { -var11 = ((val*(*)(val* self))((((long)var_9&3)?class_info[((long)var_9&3)]:var_9->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_9); /* item on */ +var15 = ((val*(*)(val* self))((((long)var_13&3)?class_info[((long)var_13&3)]:var_13->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_13); /* item on */ } -var_phase = var11; -if (unlikely(varonce12==NULL)) { -var13 = NEW_core__NativeArray(2l, &type_core__NativeArray__core__String); -if (likely(varonce14!=NULL)) { -var15 = varonce14; +var_phase = var15; +if (unlikely(varonce16==NULL)) { +var17 = NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String); +if (likely(varonce18!=NULL)) { +var19 = varonce18; } else { -var16 = " registered phases: "; -var17 = core__flat___NativeString___to_s_full(var16, 20l, 20l); -var15 = var17; -varonce14 = var15; -} -((struct instance_core__NativeArray*)var13)->values[0]=var15; +var20 = " registered phases: "; +var22 = (val*)(20l<<2|1); +var23 = (val*)(20l<<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; +varonce18 = var19; +} +((struct instance_core__NativeArray*)var17)->values[0]=var19; } else { -var13 = varonce12; -varonce12 = NULL; +var17 = varonce16; +varonce16 = NULL; } { -var18 = ((val*(*)(val* self))(var_phase->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_phase); /* to_s on */ +var26 = ((val*(*)(val* self))(var_phase->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_phase); /* to_s on */ } -((struct instance_core__NativeArray*)var13)->values[1]=var18; +((struct instance_core__NativeArray*)var17)->values[1]=var26; { -var19 = ((val*(*)(val* self))(var13->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var13); /* native_to_s on */ +var27 = ((val*(*)(val* self))(var17->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var17); /* native_to_s on */ } -varonce12 = var13; +varonce16 = var17; { -nitc___nitc__ToolContext___info(self, var19, 2l); /* Direct call toolcontext#ToolContext#info on */ +nitc___nitc__ToolContext___info(self, var27, 2l); /* Direct call toolcontext$ToolContext$info on */ } { -((void(*)(val* self))((((long)var_9&3)?class_info[((long)var_9&3)]:var_9->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_9); /* next on */ +((void(*)(val* self))((((long)var_13&3)?class_info[((long)var_13&3)]:var_13->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_13); /* next on */ } } BREAK_label: (void)0; { -((void(*)(val* self))((((long)var_9&3)?class_info[((long)var_9&3)]:var_9->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_9); /* finish on */ +((void(*)(val* self))((((long)var_13&3)?class_info[((long)var_13&3)]:var_13->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_13); /* finish on */ } -var_20 = var_nmodules; { -var21 = ((val*(*)(val* self))((((long)var_20&3)?class_info[((long)var_20&3)]:var_20->class)->vft[COLOR_core__abstract_collection__Collection__iterator]))(var_20); /* iterator on */ +var28 = ((val*(*)(val* self))((((long)var_nmodules&3)?class_info[((long)var_nmodules&3)]:var_nmodules->class)->vft[COLOR_core__array__Collection__to_a]))(var_nmodules); /* to_a on */ } -var_22 = var21; -for(;;) { +var_todo_nmodules = var28; { -var23 = ((short int(*)(val* self))((((long)var_22&3)?class_info[((long)var_22&3)]:var_22->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_22); /* is_ok on */ +{ /* Inline phase$ToolContext$todo_nmodules= (self,var_todo_nmodules) on */ +self->attrs[COLOR_nitc__phase__ToolContext___todo_nmodules].val = var_todo_nmodules; /* _todo_nmodules on */ +RET_LABEL29:(void)0; } -if (var23){ -} else { -goto BREAK_label24; } +for(;;) { +{ +var30 = core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_todo_nmodules); +} +var31 = !var30; +if (var31){ { -var25 = ((val*(*)(val* self))((((long)var_22&3)?class_info[((long)var_22&3)]:var_22->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_22); /* item on */ +var32 = core___core__AbstractArray___core__abstract_collection__Sequence__shift(var_todo_nmodules); } -var_nmodule = var25; +var_nmodule = var32; { -{ /* Inline phase#ToolContext#phased_modules (self) on */ -var28 = self->attrs[COLOR_nitc__phase__ToolContext___phased_modules].val; /* _phased_modules on */ -if (unlikely(var28 == NULL)) { +{ /* Inline phase$ToolContext$phased_modules (self) on */ +var35 = self->attrs[COLOR_nitc__phase__ToolContext___phased_modules].val; /* _phased_modules on */ +if (unlikely(var35 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _phased_modules"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 86); fatal_exit(1); } -var26 = var28; -RET_LABEL27:(void)0; +var33 = var35; +RET_LABEL34:(void)0; } } { -var29 = core___core__HashSet___core__abstract_collection__Collection__has(var26, var_nmodule); +var36 = core___core__HashSet___core__abstract_collection__Collection__has(var33, var_nmodule); } -if (var29){ -goto BREAK_label30; +if (var36){ +goto BREAK_label37; } else { } { -{ /* Inline phase#ToolContext#phased_modules (self) on */ -var33 = self->attrs[COLOR_nitc__phase__ToolContext___phased_modules].val; /* _phased_modules on */ -if (unlikely(var33 == NULL)) { +{ /* Inline phase$ToolContext$phased_modules (self) on */ +var40 = self->attrs[COLOR_nitc__phase__ToolContext___phased_modules].val; /* _phased_modules on */ +if (unlikely(var40 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _phased_modules"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 86); fatal_exit(1); } -var31 = var33; -RET_LABEL32:(void)0; +var38 = var40; +RET_LABEL39:(void)0; } } { -core___core__HashSet___core__abstract_collection__SimpleCollection__add(var31, var_nmodule); /* Direct call hash_collection#HashSet#add on */ +core___core__HashSet___core__abstract_collection__SimpleCollection__add(var38, var_nmodule); /* Direct call hash_collection$HashSet$add on */ } -if (unlikely(varonce34==NULL)) { -var35 = NEW_core__NativeArray(2l, &type_core__NativeArray__core__String); -if (likely(varonce36!=NULL)) { -var37 = varonce36; +if (unlikely(varonce41==NULL)) { +var42 = NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String); +if (likely(varonce43!=NULL)) { +var44 = varonce43; } else { -var38 = "Semantic analysis module "; -var39 = core__flat___NativeString___to_s_full(var38, 25l, 25l); -var37 = var39; -varonce36 = var37; -} -((struct instance_core__NativeArray*)var35)->values[0]=var37; +var45 = "Semantic analysis module "; +var47 = (val*)(25l<<2|1); +var48 = (val*)(25l<<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*)var42)->values[0]=var44; } else { -var35 = varonce34; -varonce34 = NULL; +var42 = varonce41; +varonce41 = NULL; } { -{ /* Inline parser_nodes#ANode#location (var_nmodule) on */ -var42 = var_nmodule->attrs[COLOR_nitc__parser_nodes__ANode___location].val; /* _location on */ -if (unlikely(var42 == NULL)) { +{ /* Inline parser_nodes$ANode$location (var_nmodule) on */ +var53 = var_nmodule->attrs[COLOR_nitc__parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var53 == 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); } -var40 = var42; -RET_LABEL41:(void)0; +var51 = var53; +RET_LABEL52:(void)0; } } { -{ /* Inline location#Location#file (var40) on */ -var45 = var40->attrs[COLOR_nitc__location__Location___file].val; /* _file on */ -var43 = var45; -RET_LABEL44:(void)0; +{ /* Inline location$Location$file (var51) on */ +var56 = var51->attrs[COLOR_nitc__location__Location___file].val; /* _file on */ +var54 = var56; +RET_LABEL55:(void)0; } } -if (var43 == NULL) { +if (var54 == NULL) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 106); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 115); fatal_exit(1); } else { -{ /* Inline location#SourceFile#filename (var43) on */ -if (unlikely(var43 == NULL)) { +{ /* Inline location$SourceFile$filename (var54) on */ +if (unlikely(var54 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Receiver is null"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__location, 22); fatal_exit(1); } -var48 = var43->attrs[COLOR_nitc__location__SourceFile___filename].val; /* _filename on */ -if (unlikely(var48 == NULL)) { +var59 = var54->attrs[COLOR_nitc__location__SourceFile___filename].val; /* _filename on */ +if (unlikely(var59 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__location, 22); fatal_exit(1); } -var46 = var48; -RET_LABEL47:(void)0; +var57 = var59; +RET_LABEL58:(void)0; } } -((struct instance_core__NativeArray*)var35)->values[1]=var46; +((struct instance_core__NativeArray*)var42)->values[1]=var57; { -var49 = ((val*(*)(val* self))(var35->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var35); /* native_to_s on */ +var60 = ((val*(*)(val* self))(var42->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var42); /* native_to_s on */ } -varonce34 = var35; +varonce41 = var42; { -nitc___nitc__ToolContext___info(self, var49, 2l); /* Direct call toolcontext#ToolContext#info on */ +nitc___nitc__ToolContext___info(self, var60, 2l); /* Direct call toolcontext$ToolContext$info on */ } -var50 = NEW_nitc__phase__AnnotationPhaseVisitor(&type_nitc__phase__AnnotationPhaseVisitor); +var61 = NEW_nitc__phase__AnnotationPhaseVisitor(&type_nitc__phase__AnnotationPhaseVisitor); { -{ /* Inline kernel#Object#init (var50) on */ -RET_LABEL51:(void)0; +{ /* Inline kernel$Object$init (var61) on */ +RET_LABEL62:(void)0; } } -var_vannot = var50; +var_vannot = var61; { -nitc___nitc__Visitor___enter_visit(var_vannot, var_nmodule); /* Direct call parser_nodes#Visitor#enter_visit on */ +nitc___nitc__Visitor___enter_visit(var_vannot, var_nmodule); /* Direct call parser_nodes$Visitor$enter_visit on */ } -var_52 = var_phases; +var_63 = var_phases; { -var53 = ((val*(*)(val* self))((((long)var_52&3)?class_info[((long)var_52&3)]:var_52->class)->vft[COLOR_core__abstract_collection__Collection__iterator]))(var_52); /* iterator on */ +var64 = ((val*(*)(val* self))((((long)var_63&3)?class_info[((long)var_63&3)]:var_63->class)->vft[COLOR_core__abstract_collection__Collection__iterator]))(var_63); /* iterator on */ } -var_54 = var53; +var_65 = var64; for(;;) { { -var55 = ((short int(*)(val* self))((((long)var_54&3)?class_info[((long)var_54&3)]:var_54->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_54); /* is_ok on */ +var66 = ((short int(*)(val* self))((((long)var_65&3)?class_info[((long)var_65&3)]:var_65->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_65); /* is_ok on */ } -if (var55){ +if (var66){ } else { -goto BREAK_label56; +goto BREAK_label67; } { -var57 = ((val*(*)(val* self))((((long)var_54&3)?class_info[((long)var_54&3)]:var_54->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_54); /* item on */ +var68 = ((val*(*)(val* self))((((long)var_65&3)?class_info[((long)var_65&3)]:var_65->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_65); /* item on */ } -var_phase58 = var57; +var_phase69 = var68; { -{ /* Inline phase#Phase#disabled (var_phase58) on */ -var61 = var_phase58->attrs[COLOR_nitc__phase__Phase___disabled].s; /* _disabled on */ -var59 = var61; -RET_LABEL60:(void)0; +{ /* Inline phase$Phase$disabled (var_phase69) on */ +var72 = var_phase69->attrs[COLOR_nitc__phase__Phase___disabled].s; /* _disabled on */ +var70 = var72; +RET_LABEL71:(void)0; } } -if (var59){ -goto BREAK_label62; +if (var70){ +goto BREAK_label73; } else { } { -{ /* Inline phase#Phase#toolcontext (var_phase58) on */ -var65 = var_phase58->attrs[COLOR_nitc__phase__Phase___toolcontext].val; /* _toolcontext on */ -if (unlikely(var65 == NULL)) { +{ /* Inline phase$Phase$toolcontext (var_phase69) on */ +var76 = var_phase69->attrs[COLOR_nitc__phase__Phase___toolcontext].val; /* _toolcontext on */ +if (unlikely(var76 == 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); } -var63 = var65; -RET_LABEL64:(void)0; +var74 = var76; +RET_LABEL75:(void)0; } } { -{ /* Inline kernel#Object#== (var63,self) on */ +{ /* Inline kernel$Object$== (var74,self) on */ var_other = self; { -{ /* Inline kernel#Object#is_same_instance (var63,var_other) on */ -var70 = var63 == var_other; -var68 = var70; -goto RET_LABEL69; -RET_LABEL69:(void)0; +{ /* Inline kernel$Object$is_same_instance (var74,var_other) on */ +var81 = var74 == var_other; +var79 = var81; +goto RET_LABEL80; +RET_LABEL80:(void)0; +} } +var77 = var79; +goto RET_LABEL78; +RET_LABEL78:(void)0; } -var66 = var68; -goto RET_LABEL67; -RET_LABEL67:(void)0; } +if (unlikely(!var77)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); } -if (unlikely(!var66)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 113); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 122); fatal_exit(1); } { -{ /* Inline toolcontext#ToolContext#error_count (self) on */ -var73 = self->attrs[COLOR_nitc__toolcontext__ToolContext___error_count].l; /* _error_count on */ -var71 = var73; -RET_LABEL72:(void)0; +{ /* Inline toolcontext$ToolContext$error_count (self) on */ +var84 = self->attrs[COLOR_nitc__toolcontext__ToolContext___error_count].l; /* _error_count on */ +var82 = var84; +RET_LABEL83:(void)0; } } -var_errcount = var71; +var_errcount = var82; { -((void(*)(val* self, val* p0))(var_phase58->class->vft[COLOR_nitc__phase__Phase__process_nmodule]))(var_phase58, var_nmodule); /* process_nmodule on */ +((void(*)(val* self, val* p0))(var_phase69->class->vft[COLOR_nitc__phase__Phase__process_nmodule]))(var_phase69, var_nmodule); /* process_nmodule on */ } { -{ /* Inline toolcontext#ToolContext#error_count (self) on */ -var76 = self->attrs[COLOR_nitc__toolcontext__ToolContext___error_count].l; /* _error_count on */ -var74 = var76; -RET_LABEL75:(void)0; +{ /* Inline toolcontext$ToolContext$error_count (self) on */ +var87 = self->attrs[COLOR_nitc__toolcontext__ToolContext___error_count].l; /* _error_count on */ +var85 = var87; +RET_LABEL86:(void)0; } } { -{ /* Inline kernel#Int#!= (var_errcount,var74) on */ -var79 = var_errcount == var74; -var80 = !var79; -var77 = var80; -goto RET_LABEL78; -RET_LABEL78:(void)0; +{ /* Inline kernel$Int$!= (var_errcount,var85) on */ +var90 = var_errcount == var85; +var91 = !var90; +var88 = var91; +goto RET_LABEL89; +RET_LABEL89:(void)0; } } -if (var77){ +if (var88){ { -var81 = nitc___nitc__ToolContext___check_errors(self); +var92 = nitc___nitc__ToolContext___check_errors(self); } } else { } { -{ /* Inline toolcontext#ToolContext#error_count (self) on */ -var84 = self->attrs[COLOR_nitc__toolcontext__ToolContext___error_count].l; /* _error_count on */ -var82 = var84; -RET_LABEL83:(void)0; +{ /* Inline toolcontext$ToolContext$error_count (self) on */ +var95 = self->attrs[COLOR_nitc__toolcontext__ToolContext___error_count].l; /* _error_count on */ +var93 = var95; +RET_LABEL94:(void)0; } } -var_errcount = var82; +var_errcount = var93; { -{ /* Inline parser_nodes#AModule#n_classdefs (var_nmodule) on */ -var87 = var_nmodule->attrs[COLOR_nitc__parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on */ -if (unlikely(var87 == NULL)) { +{ /* Inline parser_nodes$AModule$n_classdefs (var_nmodule) on */ +var98 = var_nmodule->attrs[COLOR_nitc__parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on */ +if (unlikely(var98 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1062); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1125); fatal_exit(1); } -var85 = var87; -RET_LABEL86:(void)0; +var96 = var98; +RET_LABEL97:(void)0; } } -var_88 = var85; +var_99 = var96; { -var89 = nitc___nitc__ANodes___core__abstract_collection__Collection__iterator(var_88); +var100 = nitc___nitc__ANodes___core__abstract_collection__Collection__iterator(var_99); } -var_90 = var89; +var_101 = var100; for(;;) { { -var91 = ((short int(*)(val* self))((((long)var_90&3)?class_info[((long)var_90&3)]:var_90->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_90); /* is_ok on */ +var102 = ((short int(*)(val* self))((((long)var_101&3)?class_info[((long)var_101&3)]:var_101->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_101); /* is_ok on */ } -if (var91){ +if (var102){ } else { -goto BREAK_label92; +goto BREAK_label103; } { -var93 = ((val*(*)(val* self))((((long)var_90&3)?class_info[((long)var_90&3)]:var_90->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_90); /* item on */ +var104 = ((val*(*)(val* self))((((long)var_101&3)?class_info[((long)var_101&3)]:var_101->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_101); /* item on */ } -var_nclassdef = var93; +var_nclassdef = var104; { -{ /* Inline phase#Phase#toolcontext (var_phase58) on */ -var96 = var_phase58->attrs[COLOR_nitc__phase__Phase___toolcontext].val; /* _toolcontext on */ -if (unlikely(var96 == NULL)) { +{ /* Inline phase$Phase$toolcontext (var_phase69) on */ +var107 = var_phase69->attrs[COLOR_nitc__phase__Phase___toolcontext].val; /* _toolcontext on */ +if (unlikely(var107 == 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); } -var94 = var96; -RET_LABEL95:(void)0; +var105 = var107; +RET_LABEL106:(void)0; } } { -{ /* Inline kernel#Object#== (var94,self) on */ +{ /* Inline kernel$Object$== (var105,self) on */ var_other = self; { -{ /* Inline kernel#Object#is_same_instance (var94,var_other) on */ -var101 = var94 == var_other; -var99 = var101; -goto RET_LABEL100; -RET_LABEL100:(void)0; +{ /* Inline kernel$Object$is_same_instance (var105,var_other) on */ +var112 = var105 == var_other; +var110 = var112; +goto RET_LABEL111; +RET_LABEL111:(void)0; } } -var97 = var99; -goto RET_LABEL98; -RET_LABEL98:(void)0; +var108 = var110; +goto RET_LABEL109; +RET_LABEL109:(void)0; } } -if (unlikely(!var97)) { +if (unlikely(!var108)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 121); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 130); fatal_exit(1); } { -((void(*)(val* self, val* p0))(var_phase58->class->vft[COLOR_nitc__phase__Phase__process_nclassdef]))(var_phase58, var_nclassdef); /* process_nclassdef on */ +((void(*)(val* self, val* p0))(var_phase69->class->vft[COLOR_nitc__phase__Phase__process_nclassdef]))(var_phase69, var_nclassdef); /* process_nclassdef on */ } { -{ /* Inline phase#ToolContext#semantize_is_lazy (self) on */ -var104 = self->attrs[COLOR_nitc__phase__ToolContext___semantize_is_lazy].s; /* _semantize_is_lazy on */ -var102 = var104; -RET_LABEL103:(void)0; +{ /* Inline phase$ToolContext$semantize_is_lazy (self) on */ +var115 = self->attrs[COLOR_nitc__phase__ToolContext___semantize_is_lazy].s; /* _semantize_is_lazy on */ +var113 = var115; +RET_LABEL114:(void)0; } } -var105 = !var102; -if (var105){ +var116 = !var113; +if (var116){ { -{ /* Inline parser_nodes#AClassdef#n_propdefs (var_nclassdef) on */ -var108 = var_nclassdef->attrs[COLOR_nitc__parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ -if (unlikely(var108 == NULL)) { +{ /* Inline parser_nodes$AClassdef$n_propdefs (var_nclassdef) on */ +var119 = var_nclassdef->attrs[COLOR_nitc__parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ +if (unlikely(var119 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1155); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1218); fatal_exit(1); } -var106 = var108; -RET_LABEL107:(void)0; +var117 = var119; +RET_LABEL118:(void)0; } } -var_109 = var106; +var_120 = var117; { -var110 = nitc___nitc__ANodes___core__abstract_collection__Collection__iterator(var_109); +var121 = nitc___nitc__ANodes___core__abstract_collection__Collection__iterator(var_120); } -var_111 = var110; +var_122 = var121; for(;;) { { -var112 = ((short int(*)(val* self))((((long)var_111&3)?class_info[((long)var_111&3)]:var_111->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_111); /* is_ok on */ +var123 = ((short int(*)(val* self))((((long)var_122&3)?class_info[((long)var_122&3)]:var_122->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_122); /* is_ok on */ } -if (var112){ +if (var123){ } else { -goto BREAK_label113; +goto BREAK_label124; } { -var114 = ((val*(*)(val* self))((((long)var_111&3)?class_info[((long)var_111&3)]:var_111->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_111); /* item on */ +var125 = ((val*(*)(val* self))((((long)var_122&3)?class_info[((long)var_122&3)]:var_122->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_122); /* item on */ } -var_npropdef = var114; +var_npropdef = var125; { -{ /* Inline phase#Phase#toolcontext (var_phase58) on */ -var117 = var_phase58->attrs[COLOR_nitc__phase__Phase___toolcontext].val; /* _toolcontext on */ -if (unlikely(var117 == NULL)) { +{ /* Inline phase$Phase$toolcontext (var_phase69) on */ +var128 = var_phase69->attrs[COLOR_nitc__phase__Phase___toolcontext].val; /* _toolcontext on */ +if (unlikely(var128 == 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); } -var115 = var117; -RET_LABEL116:(void)0; +var126 = var128; +RET_LABEL127:(void)0; } } { -{ /* Inline kernel#Object#== (var115,self) on */ +{ /* Inline kernel$Object$== (var126,self) on */ var_other = self; { -{ /* Inline kernel#Object#is_same_instance (var115,var_other) on */ -var122 = var115 == var_other; -var120 = var122; -goto RET_LABEL121; -RET_LABEL121:(void)0; +{ /* Inline kernel$Object$is_same_instance (var126,var_other) on */ +var133 = var126 == var_other; +var131 = var133; +goto RET_LABEL132; +RET_LABEL132:(void)0; } } -var118 = var120; -goto RET_LABEL119; -RET_LABEL119:(void)0; +var129 = var131; +goto RET_LABEL130; +RET_LABEL130:(void)0; } } -if (unlikely(!var118)) { +if (unlikely(!var129)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 124); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 133); fatal_exit(1); } { -nitc__phase___ToolContext___phase_process_npropdef(self, var_phase58, var_npropdef); /* Direct call phase#ToolContext#phase_process_npropdef on */ +nitc__phase___ToolContext___phase_process_npropdef(self, var_phase69, var_npropdef); /* Direct call phase$ToolContext$phase_process_npropdef on */ } { -((void(*)(val* self))((((long)var_111&3)?class_info[((long)var_111&3)]:var_111->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_111); /* next on */ +((void(*)(val* self))((((long)var_122&3)?class_info[((long)var_122&3)]:var_122->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_122); /* next on */ } } -BREAK_label113: (void)0; +BREAK_label124: (void)0; { -((void(*)(val* self))((((long)var_111&3)?class_info[((long)var_111&3)]:var_111->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_111); /* finish on */ +((void(*)(val* self))((((long)var_122&3)?class_info[((long)var_122&3)]:var_122->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_122); /* finish on */ } } else { } { -((void(*)(val* self))((((long)var_90&3)?class_info[((long)var_90&3)]:var_90->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_90); /* next on */ +((void(*)(val* self))((((long)var_101&3)?class_info[((long)var_101&3)]:var_101->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_101); /* next on */ } } -BREAK_label92: (void)0; +BREAK_label103: (void)0; { -((void(*)(val* self))((((long)var_90&3)?class_info[((long)var_90&3)]:var_90->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_90); /* finish on */ +((void(*)(val* self))((((long)var_101&3)?class_info[((long)var_101&3)]:var_101->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_101); /* finish on */ } { -{ /* Inline toolcontext#ToolContext#error_count (self) on */ -var125 = self->attrs[COLOR_nitc__toolcontext__ToolContext___error_count].l; /* _error_count on */ -var123 = var125; -RET_LABEL124:(void)0; +{ /* Inline toolcontext$ToolContext$error_count (self) on */ +var136 = self->attrs[COLOR_nitc__toolcontext__ToolContext___error_count].l; /* _error_count on */ +var134 = var136; +RET_LABEL135:(void)0; } } { -{ /* Inline kernel#Int#!= (var_errcount,var123) on */ -var128 = var_errcount == var123; -var129 = !var128; -var126 = var129; -goto RET_LABEL127; -RET_LABEL127:(void)0; +{ /* Inline kernel$Int$!= (var_errcount,var134) on */ +var139 = var_errcount == var134; +var140 = !var139; +var137 = var140; +goto RET_LABEL138; +RET_LABEL138:(void)0; } } -if (var126){ +if (var137){ { -var130 = nitc___nitc__ToolContext___check_errors(self); +var141 = nitc___nitc__ToolContext___check_errors(self); } } else { } { -{ /* Inline phase#AnnotationPhaseVisitor#annotations (var_vannot) on */ -var133 = var_vannot->attrs[COLOR_nitc__phase__AnnotationPhaseVisitor___annotations].val; /* _annotations on */ -if (unlikely(var133 == NULL)) { +{ /* Inline phase$AnnotationPhaseVisitor$annotations (var_vannot) on */ +var144 = var_vannot->attrs[COLOR_nitc__phase__AnnotationPhaseVisitor___annotations].val; /* _annotations on */ +if (unlikely(var144 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _annotations"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 187); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 197); fatal_exit(1); } -var131 = var133; -RET_LABEL132:(void)0; +var142 = var144; +RET_LABEL143:(void)0; } } -var_134 = var131; +var_145 = var142; { -var135 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_134); +var146 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_145); } -var_136 = var135; +var_147 = var146; for(;;) { { -var137 = ((short int(*)(val* self))((((long)var_136&3)?class_info[((long)var_136&3)]:var_136->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_136); /* is_ok on */ +var148 = ((short int(*)(val* self))((((long)var_147&3)?class_info[((long)var_147&3)]:var_147->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_147); /* is_ok on */ } -if (var137){ +if (var148){ } else { -goto BREAK_label138; +goto BREAK_label149; } { -var139 = ((val*(*)(val* self))((((long)var_136&3)?class_info[((long)var_136&3)]:var_136->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_136); /* item on */ +var150 = ((val*(*)(val* self))((((long)var_147&3)?class_info[((long)var_147&3)]:var_147->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_147); /* item on */ } -var_na = var139; +var_na = var150; { -{ /* Inline parser_nodes#ANode#parent (var_na) on */ -var142 = var_na->attrs[COLOR_nitc__parser_nodes__ANode___parent].val; /* _parent on */ -var140 = var142; -RET_LABEL141:(void)0; +{ /* Inline parser_nodes$ANode$parent (var_na) on */ +var153 = var_na->attrs[COLOR_nitc__parser_nodes__ANode___parent].val; /* _parent on */ +var151 = var153; +RET_LABEL152:(void)0; } } -var_p = var140; +var_p = var151; /* isa AAnnotations */ cltype = type_nitc__AAnnotations.color; idtype = type_nitc__AAnnotations.id; if(var_p == NULL) { -var143 = 0; +var154 = 0; } else { if(cltype >= var_p->type->table_size) { -var143 = 0; +var154 = 0; } else { -var143 = var_p->type->type_table[cltype] == idtype; +var154 = var_p->type->type_table[cltype] == idtype; } } -if (var143){ +if (var154){ { -{ /* Inline parser_nodes#ANode#parent (var_p) on */ -var146 = var_p->attrs[COLOR_nitc__parser_nodes__ANode___parent].val; /* _parent on */ -var144 = var146; -RET_LABEL145:(void)0; +{ /* Inline parser_nodes$ANode$parent (var_p) on */ +var157 = var_p->attrs[COLOR_nitc__parser_nodes__ANode___parent].val; /* _parent on */ +var155 = var157; +RET_LABEL156:(void)0; } } -var_p = var144; +var_p = var155; } else { } if (var_p == NULL) { -var147 = 0; /* is null */ +var158 = 0; /* is null */ } else { -var147 = 1; /* arg is null and recv is not */ +var158 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_p,((val*)NULL)) on */ -var_other150 = ((val*)NULL); +{ /* Inline kernel$Object$!= (var_p,((val*)NULL)) on */ +var_other161 = ((val*)NULL); { -var151 = ((short int(*)(val* self, val* p0))(var_p->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_p, var_other150); /* == on */ +var162 = ((short int(*)(val* self, val* p0))(var_p->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_p, var_other161); /* == on */ } -var152 = !var151; -var148 = var152; -goto RET_LABEL149; -RET_LABEL149:(void)0; +var163 = !var162; +var159 = var163; +goto RET_LABEL160; +RET_LABEL160:(void)0; } -var147 = var148; +var158 = var159; +} +if (unlikely(!var158)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); } -if (unlikely(!var147)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 134); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 143); fatal_exit(1); } { -((void(*)(val* self, val* p0, val* p1))(var_phase58->class->vft[COLOR_nitc__phase__Phase__process_annotated_node]))(var_phase58, var_p, var_na); /* process_annotated_node on */ +((void(*)(val* self, val* p0, val* p1))(var_phase69->class->vft[COLOR_nitc__phase__Phase__process_annotated_node]))(var_phase69, var_p, var_na); /* process_annotated_node on */ } { -((void(*)(val* self))((((long)var_136&3)?class_info[((long)var_136&3)]:var_136->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_136); /* next on */ +((void(*)(val* self))((((long)var_147&3)?class_info[((long)var_147&3)]:var_147->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_147); /* next on */ } } -BREAK_label138: (void)0; +BREAK_label149: (void)0; { -((void(*)(val* self))((((long)var_136&3)?class_info[((long)var_136&3)]:var_136->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_136); /* finish on */ +((void(*)(val* self))((((long)var_147&3)?class_info[((long)var_147&3)]:var_147->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_147); /* finish on */ } { -{ /* Inline toolcontext#ToolContext#error_count (self) on */ -var155 = self->attrs[COLOR_nitc__toolcontext__ToolContext___error_count].l; /* _error_count on */ -var153 = var155; -RET_LABEL154:(void)0; +{ /* Inline toolcontext$ToolContext$error_count (self) on */ +var166 = self->attrs[COLOR_nitc__toolcontext__ToolContext___error_count].l; /* _error_count on */ +var164 = var166; +RET_LABEL165:(void)0; } } { -{ /* Inline kernel#Int#!= (var_errcount,var153) on */ -var158 = var_errcount == var153; -var159 = !var158; -var156 = var159; -goto RET_LABEL157; -RET_LABEL157:(void)0; +{ /* Inline kernel$Int$!= (var_errcount,var164) on */ +var169 = var_errcount == var164; +var170 = !var169; +var167 = var170; +goto RET_LABEL168; +RET_LABEL168:(void)0; } } -if (var156){ +if (var167){ { -var160 = nitc___nitc__ToolContext___check_errors(self); +var171 = nitc___nitc__ToolContext___check_errors(self); } } else { } -BREAK_label62: (void)0; { -((void(*)(val* self))((((long)var_54&3)?class_info[((long)var_54&3)]:var_54->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_54); /* next on */ +{ /* Inline phase$Phase$process_nmodule_after (var_phase69,var_nmodule) on */ +var_nmodule173 = var_nmodule; +RET_LABEL172:(void)0; } } -BREAK_label56: (void)0; +BREAK_label73: (void)0; { -((void(*)(val* self))((((long)var_54&3)?class_info[((long)var_54&3)]:var_54->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_54); /* finish on */ +((void(*)(val* self))((((long)var_65&3)?class_info[((long)var_65&3)]:var_65->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_65); /* next on */ +} } +BREAK_label67: (void)0; { -var161 = nitc___nitc__ToolContext___check_errors(self); +((void(*)(val* self))((((long)var_65&3)?class_info[((long)var_65&3)]:var_65->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_65); /* finish on */ } -BREAK_label30: (void)0; { -((void(*)(val* self))((((long)var_22&3)?class_info[((long)var_22&3)]:var_22->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_22); /* next on */ +var174 = nitc___nitc__ToolContext___check_errors(self); } +} else { +goto BREAK_label175; } -BREAK_label24: (void)0; -{ -((void(*)(val* self))((((long)var_22&3)?class_info[((long)var_22&3)]:var_22->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_22); /* finish on */ +BREAK_label37: (void)0; } -var162 = glob_sys; +BREAK_label175: (void)0; +var176 = glob_sys; { -{ /* Inline time#Sys#get_time (var162) on */ +{ /* Inline time$Sys$get_time (var176) on */ struct nitni_instance* var_for_c_0; var_for_c_0 = nit_alloc(sizeof(struct nitni_instance)); -var_for_c_0->value = var162; -var165 = time___Sys_get_time___impl(var_for_c_0); -var163 = var165; -goto RET_LABEL164; -RET_LABEL164:(void)0; -} -} -var_time1 = var163; -if (unlikely(varonce166==NULL)) { -var167 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String); -if (likely(varonce168!=NULL)) { -var169 = varonce168; +var_for_c_0->value = var176; +var179 = core__time___Sys_get_time___impl(var_for_c_0); +var177 = var179; +goto RET_LABEL178; +RET_LABEL178:(void)0; +} +} +var_time1 = var177; +if (unlikely(varonce180==NULL)) { +var181 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String); +if (likely(varonce182!=NULL)) { +var183 = varonce182; } else { -var170 = "*** END SEMANTIC ANALYSIS: "; -var171 = core__flat___NativeString___to_s_full(var170, 27l, 27l); -var169 = var171; -varonce168 = var169; -} -((struct instance_core__NativeArray*)var167)->values[0]=var169; -if (likely(varonce172!=NULL)) { -var173 = varonce172; +var184 = "*** END SEMANTIC ANALYSIS: "; +var186 = (val*)(27l<<2|1); +var187 = (val*)(27l<<2|1); +var188 = (val*)((long)(0)<<2|3); +var189 = (val*)((long)(0)<<2|3); +var185 = core__flat___CString___to_s_unsafe(var184, var186, var187, var188, var189); +var183 = var185; +varonce182 = var183; +} +((struct instance_core__NativeArray*)var181)->values[0]=var183; +if (likely(varonce190!=NULL)) { +var191 = varonce190; } else { -var174 = " ***"; -var175 = core__flat___NativeString___to_s_full(var174, 4l, 4l); -var173 = var175; -varonce172 = var173; -} -((struct instance_core__NativeArray*)var167)->values[2]=var173; +var192 = " ***"; +var194 = (val*)(4l<<2|1); +var195 = (val*)(4l<<2|1); +var196 = (val*)((long)(0)<<2|3); +var197 = (val*)((long)(0)<<2|3); +var193 = core__flat___CString___to_s_unsafe(var192, var194, var195, var196, var197); +var191 = var193; +varonce190 = var191; +} +((struct instance_core__NativeArray*)var181)->values[2]=var191; } else { -var167 = varonce166; -varonce166 = NULL; +var181 = varonce180; +varonce180 = NULL; } { -{ /* Inline kernel#Int#- (var_time1,var_time0) on */ +{ /* Inline kernel$Int$- (var_time1,var_time0) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var178 = 1; /* easy isa OTHER*/ -if (unlikely(!var178)) { +var200 = 1; /* easy isa OTHER*/ +if (unlikely(!var200)) { var_class_name = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); fatal_exit(1); } -var181 = var_time1 - var_time0; -var176 = var181; -goto RET_LABEL177; -RET_LABEL177:(void)0; +var203 = var_time1 - var_time0; +var198 = var203; +goto RET_LABEL199; +RET_LABEL199:(void)0; } } -var182 = core__flat___Int___core__abstract_text__Object__to_s(var176); -((struct instance_core__NativeArray*)var167)->values[1]=var182; +var204 = core__flat___Int___core__abstract_text__Object__to_s(var198); +((struct instance_core__NativeArray*)var181)->values[1]=var204; { -var183 = ((val*(*)(val* self))(var167->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var167); /* native_to_s on */ +var205 = ((val*(*)(val* self))(var181->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var181); /* native_to_s on */ } -varonce166 = var167; +varonce180 = var181; { -nitc___nitc__ToolContext___info(self, var183, 2l); /* Direct call toolcontext#ToolContext#info on */ +nitc___nitc__ToolContext___info(self, var205, 2l); /* Direct call toolcontext$ToolContext$info on */ } { -var184 = nitc___nitc__ToolContext___check_errors(self); +var206 = nitc___nitc__ToolContext___check_errors(self); } RET_LABEL:; } -/* method phase#ToolContext#phase_process_npropdef for (self: ToolContext, Phase, APropdef) */ +/* method phase$ToolContext$phase_process_npropdef for (self: ToolContext, Phase, APropdef) */ void nitc__phase___ToolContext___phase_process_npropdef(val* self, val* p0, val* p1) { val* var_phase /* var phase: Phase */; val* var_npropdef /* var npropdef: APropdef */; @@ -1445,7 +1635,7 @@ var_npropdef = p1; } RET_LABEL:; } -/* method phase#ToolContext#run_phases_on_npropdef for (self: ToolContext, APropdef) */ +/* method phase$ToolContext$run_phases_on_npropdef for (self: ToolContext, APropdef) */ void nitc__phase___ToolContext___run_phases_on_npropdef(val* self, val* p0) { val* var_npropdef /* var npropdef: APropdef */; short int var /* : Bool */; @@ -1472,7 +1662,7 @@ short int var24 /* : Bool */; short int var25 /* : Bool */; var_npropdef = p0; { -{ /* Inline phase#ToolContext#semantize_is_lazy (self) on */ +{ /* Inline phase$ToolContext$semantize_is_lazy (self) on */ var2 = self->attrs[COLOR_nitc__phase__ToolContext___semantize_is_lazy].s; /* _semantize_is_lazy on */ var = var2; RET_LABEL1:(void)0; @@ -1484,7 +1674,7 @@ goto RET_LABEL; } else { } { -{ /* Inline phase#APropdef#is_phased (var_npropdef) on */ +{ /* Inline phase$APropdef$is_phased (var_npropdef) on */ var6 = var_npropdef->attrs[COLOR_nitc__phase__APropdef___is_phased].s; /* _is_phased on */ var4 = var6; RET_LABEL5:(void)0; @@ -1495,7 +1685,7 @@ goto RET_LABEL; } else { } { -{ /* Inline phase#APropdef#is_phased= (var_npropdef,1) on */ +{ /* Inline phase$APropdef$is_phased= (var_npropdef,1) on */ var_npropdef->attrs[COLOR_nitc__phase__APropdef___is_phased].s = 1; /* _is_phased on */ RET_LABEL7:(void)0; } @@ -1522,7 +1712,7 @@ var12 = ((val*(*)(val* self))((((long)var_10&3)?class_info[((long)var_10&3)]:var } var_phase = var12; { -{ /* Inline phase#Phase#disabled (var_phase) on */ +{ /* Inline phase$Phase$disabled (var_phase) on */ var15 = var_phase->attrs[COLOR_nitc__phase__Phase___disabled].s; /* _disabled on */ var13 = var15; RET_LABEL14:(void)0; @@ -1533,11 +1723,14 @@ goto BREAK_label16; } else { } { -{ /* Inline phase#Phase#toolcontext (var_phase) on */ +{ /* Inline phase$Phase$toolcontext (var_phase) on */ var19 = var_phase->attrs[COLOR_nitc__phase__Phase___toolcontext].val; /* _toolcontext on */ if (unlikely(var19 == 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); } var17 = var19; @@ -1545,10 +1738,10 @@ RET_LABEL18:(void)0; } } { -{ /* Inline kernel#Object#== (var17,self) on */ +{ /* Inline kernel$Object$== (var17,self) on */ var_other = self; { -{ /* Inline kernel#Object#is_same_instance (var17,var_other) on */ +{ /* Inline kernel$Object$is_same_instance (var17,var_other) on */ var24 = var17 == var_other; var22 = var24; goto RET_LABEL23; @@ -1561,12 +1754,15 @@ RET_LABEL21:(void)0; } } if (unlikely(!var20)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 170); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 180); fatal_exit(1); } { -nitc__phase___ToolContext___phase_process_npropdef(self, var_phase, var_npropdef); /* Direct call phase#ToolContext#phase_process_npropdef on */ +nitc__phase___ToolContext___phase_process_npropdef(self, var_phase, var_npropdef); /* Direct call phase$ToolContext$phase_process_npropdef on */ } { var25 = nitc___nitc__ToolContext___check_errors(self); @@ -1582,7 +1778,7 @@ BREAK_label: (void)0; } RET_LABEL:; } -/* method phase#APropdef#is_phased for (self: APropdef): Bool */ +/* method phase$APropdef$is_phased for (self: APropdef): Bool */ short int nitc__phase___APropdef___is_phased(val* self) { short int var /* : Bool */; short int var1 /* : Bool */; @@ -1591,26 +1787,29 @@ var = var1; RET_LABEL:; return var; } -/* method phase#APropdef#is_phased= for (self: APropdef, Bool) */ +/* method phase$APropdef$is_phased= for (self: APropdef, Bool) */ void nitc__phase___APropdef___is_phased_61d(val* self, short int p0) { self->attrs[COLOR_nitc__phase__APropdef___is_phased].s = p0; /* _is_phased on */ RET_LABEL:; } -/* method phase#AnnotationPhaseVisitor#annotations for (self: AnnotationPhaseVisitor): Array[AAnnotation] */ +/* method phase$AnnotationPhaseVisitor$annotations for (self: AnnotationPhaseVisitor): Array[AAnnotation] */ val* nitc__phase___nitc__phase__AnnotationPhaseVisitor___annotations(val* self) { val* var /* : Array[AAnnotation] */; val* var1 /* : Array[AAnnotation] */; var1 = self->attrs[COLOR_nitc__phase__AnnotationPhaseVisitor___annotations].val; /* _annotations on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _annotations"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 187); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 197); fatal_exit(1); } var = var1; RET_LABEL:; return var; } -/* method phase#AnnotationPhaseVisitor#visit for (self: AnnotationPhaseVisitor, ANode) */ +/* method phase$AnnotationPhaseVisitor$visit for (self: AnnotationPhaseVisitor, ANode) */ void nitc__phase___nitc__phase__AnnotationPhaseVisitor___nitc__parser_nodes__Visitor__visit(val* self, val* p0) { val* var_n /* var n: ANode */; short int var /* : Bool */; @@ -1632,11 +1831,14 @@ var = var_n->type->type_table[cltype] == idtype; } if (var){ { -{ /* Inline phase#AnnotationPhaseVisitor#annotations (self) on */ +{ /* Inline phase$AnnotationPhaseVisitor$annotations (self) on */ var3 = self->attrs[COLOR_nitc__phase__AnnotationPhaseVisitor___annotations].val; /* _annotations on */ if (unlikely(var3 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _annotations"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 187); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 197); fatal_exit(1); } var1 = var3; @@ -1644,51 +1846,57 @@ RET_LABEL2:(void)0; } } { -core___core__Array___core__abstract_collection__SimpleCollection__add(var1, var_n); /* Direct call array#Array#add on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var1, var_n); /* Direct call array$Array$add on */ } } else { } RET_LABEL:; } -/* method phase#Phase#toolcontext for (self: Phase): ToolContext */ +/* method phase$Phase$toolcontext for (self: Phase): ToolContext */ val* nitc___nitc__Phase___toolcontext(val* self) { val* var /* : ToolContext */; val* var1 /* : ToolContext */; var1 = self->attrs[COLOR_nitc__phase__Phase___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__phase, 200); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 210); fatal_exit(1); } var = var1; RET_LABEL:; return var; } -/* method phase#Phase#toolcontext= for (self: Phase, ToolContext) */ +/* method phase$Phase$toolcontext= for (self: Phase, ToolContext) */ void nitc___nitc__Phase___toolcontext_61d(val* self, val* p0) { self->attrs[COLOR_nitc__phase__Phase___toolcontext].val = p0; /* _toolcontext on */ RET_LABEL:; } -/* method phase#Phase#in_hierarchy for (self: Phase): POSetElement[Phase] */ +/* method phase$Phase$in_hierarchy for (self: Phase): POSetElement[Phase] */ val* nitc___nitc__Phase___in_hierarchy(val* self) { val* var /* : POSetElement[Phase] */; val* var1 /* : POSetElement[Phase] */; var1 = self->attrs[COLOR_nitc__phase__Phase___in_hierarchy].val; /* _in_hierarchy on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_hierarchy"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 203); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 213); fatal_exit(1); } var = var1; RET_LABEL:; return var; } -/* method phase#Phase#in_hierarchy= for (self: Phase, POSetElement[Phase]) */ +/* method phase$Phase$in_hierarchy= for (self: Phase, POSetElement[Phase]) */ void nitc___nitc__Phase___in_hierarchy_61d(val* self, val* p0) { self->attrs[COLOR_nitc__phase__Phase___in_hierarchy].val = p0; /* _in_hierarchy on */ RET_LABEL:; } -/* method phase#Phase#depends for (self: Phase): nullable Collection[Phase] */ +/* method phase$Phase$depends for (self: Phase): nullable Collection[Phase] */ val* nitc___nitc__Phase___depends(val* self) { val* var /* : nullable Collection[Phase] */; val* var1 /* : nullable Collection[Phase] */; @@ -1697,12 +1905,12 @@ var = var1; RET_LABEL:; return var; } -/* method phase#Phase#depends= for (self: Phase, nullable Collection[Phase]) */ +/* method phase$Phase$depends= for (self: Phase, nullable Collection[Phase]) */ void nitc___nitc__Phase___depends_61d(val* self, val* p0) { self->attrs[COLOR_nitc__phase__Phase___depends].val = p0; /* _depends on */ RET_LABEL:; } -/* method phase#Phase#init for (self: Phase) */ +/* method phase$Phase$init for (self: Phase) */ void nitc___nitc__Phase___core__kernel__Object__init(val* self) { val* var /* : ToolContext */; val* var2 /* : ToolContext */; @@ -1731,11 +1939,14 @@ val* var25 /* : POSet[Phase] */; ((void(*)(val* self))(self->class->vft[COLOR_nitc___nitc__Phase___core__kernel__Object__init]))(self); /* init on */ } { -{ /* 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; @@ -1743,9 +1954,12 @@ RET_LABEL1:(void)0; } } { -{ /* Inline phase#ToolContext#phases (var) on */ +{ /* Inline phase$ToolContext$phases (var) on */ var5 = var->attrs[COLOR_nitc__phase__ToolContext___phases].val; /* _phases on */ if (unlikely(var5 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _phases"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 23); fatal_exit(1); @@ -1758,13 +1972,13 @@ RET_LABEL4:(void)0; var6 = poset___poset__POSet___add_node(var3, self); } { -{ /* Inline phase#Phase#in_hierarchy= (self,var6) on */ +{ /* Inline phase$Phase$in_hierarchy= (self,var6) on */ self->attrs[COLOR_nitc__phase__Phase___in_hierarchy].val = var6; /* _in_hierarchy on */ RET_LABEL7:(void)0; } } { -{ /* Inline phase#Phase#depends (self) on */ +{ /* Inline phase$Phase$depends (self) on */ var10 = self->attrs[COLOR_nitc__phase__Phase___depends].val; /* _depends on */ var8 = var10; RET_LABEL9:(void)0; @@ -1777,7 +1991,7 @@ var11 = 0; /* is null */ var11 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_depends,((val*)NULL)) on */ +{ /* Inline kernel$Object$!= (var_depends,((val*)NULL)) on */ var_other = ((val*)NULL); { var14 = ((short int(*)(val* self, val* p0))((((long)var_depends&3)?class_info[((long)var_depends&3)]:var_depends->class)->vft[COLOR_core__kernel__Object___61d_61d]))(var_depends, var_other); /* == on */ @@ -1808,11 +2022,14 @@ var19 = ((val*(*)(val* self))((((long)var_17&3)?class_info[((long)var_17&3)]:var } var_d = var19; { -{ /* Inline phase#Phase#toolcontext (self) on */ +{ /* Inline phase$Phase$toolcontext (self) on */ var22 = self->attrs[COLOR_nitc__phase__Phase___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__phase, 200); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 210); fatal_exit(1); } var20 = var22; @@ -1820,9 +2037,12 @@ RET_LABEL21:(void)0; } } { -{ /* Inline phase#ToolContext#phases (var20) on */ +{ /* Inline phase$ToolContext$phases (var20) on */ var25 = var20->attrs[COLOR_nitc__phase__ToolContext___phases].val; /* _phases on */ if (unlikely(var25 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _phases"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 23); fatal_exit(1); @@ -1832,7 +2052,7 @@ RET_LABEL24:(void)0; } } { -poset___poset__POSet___add_edge(var23, self, var_d); /* Direct call poset#POSet#add_edge on */ +poset___poset__POSet___add_edge(var23, self, var_d); /* Direct call poset$POSet$add_edge on */ } { ((void(*)(val* self))((((long)var_17&3)?class_info[((long)var_17&3)]:var_17->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_17); /* next on */ @@ -1846,16 +2066,20 @@ BREAK_label: (void)0; } RET_LABEL:; } -/* method phase#Phase#to_s for (self: Phase): String */ +/* method phase$Phase$to_s for (self: Phase): String */ val* nitc___nitc__Phase___core__abstract_text__Object__to_s(val* self) { val* var /* : String */; val* var1 /* : String */; static val* varonce; val* var2 /* : String */; -char* var3 /* : NativeString */; +char* var3 /* : CString */; val* var4 /* : String */; -val* var5 /* : String */; -val* var6 /* : String */; +val* var5 /* : nullable Int */; +val* var6 /* : nullable Int */; +val* var7 /* : nullable Bool */; +val* var8 /* : nullable Bool */; +val* var9 /* : String */; +val* var10 /* : String */; { var1 = core__abstract_text___Object___class_name(self); } @@ -1863,22 +2087,26 @@ if (likely(varonce!=NULL)) { var2 = varonce; } else { var3 = "Phase"; -var4 = core__flat___NativeString___to_s_full(var3, 5l, 5l); +var5 = (val*)(5l<<2|1); +var6 = (val*)(5l<<2|1); +var7 = (val*)((long)(0)<<2|3); +var8 = (val*)((long)(0)<<2|3); +var4 = core__flat___CString___to_s_unsafe(var3, var5, var6, var7, var8); var2 = var4; varonce = var2; } { -var5 = core__file___String___strip_extension(var1, var2); +var9 = core__file___String___strip_extension(var1, var2); } { -var6 = core___core__String___to_snake_case(var5); +var10 = core___core__String___Text__to_snake_case(var9); } -var = var6; +var = var10; goto RET_LABEL; RET_LABEL:; return var; } -/* method phase#Phase#disabled for (self: Phase): Bool */ +/* method phase$Phase$disabled for (self: Phase): Bool */ short int nitc___nitc__Phase___disabled(val* self) { short int var /* : Bool */; short int var1 /* : Bool */; @@ -1887,30 +2115,30 @@ var = var1; RET_LABEL:; return var; } -/* method phase#Phase#disabled= for (self: Phase, Bool) */ +/* method phase$Phase$disabled= for (self: Phase, Bool) */ void nitc___nitc__Phase___disabled_61d(val* self, short int p0) { self->attrs[COLOR_nitc__phase__Phase___disabled].s = p0; /* _disabled on */ RET_LABEL:; } -/* method phase#Phase#process_nmodule for (self: Phase, AModule) */ +/* method phase$Phase$process_nmodule for (self: Phase, AModule) */ void nitc___nitc__Phase___process_nmodule(val* self, val* p0) { val* var_nmodule /* var nmodule: AModule */; var_nmodule = p0; RET_LABEL:; } -/* method phase#Phase#process_nclassdef for (self: Phase, AClassdef) */ +/* method phase$Phase$process_nclassdef for (self: Phase, AClassdef) */ void nitc___nitc__Phase___process_nclassdef(val* self, val* p0) { val* var_nclassdef /* var nclassdef: AClassdef */; var_nclassdef = p0; RET_LABEL:; } -/* method phase#Phase#process_npropdef for (self: Phase, APropdef) */ +/* method phase$Phase$process_npropdef for (self: Phase, APropdef) */ void nitc___nitc__Phase___process_npropdef(val* self, val* p0) { val* var_npropdef /* var npropdef: APropdef */; var_npropdef = p0; RET_LABEL:; } -/* method phase#Phase#process_annotated_node for (self: Phase, ANode, AAnnotation) */ +/* method phase$Phase$process_annotated_node for (self: Phase, ANode, AAnnotation) */ void nitc___nitc__Phase___process_annotated_node(val* self, val* p0, val* p1) { val* var_node /* var node: ANode */; val* var_nat /* var nat: AAnnotation */; @@ -1918,3 +2146,9 @@ var_node = p0; var_nat = p1; RET_LABEL:; } +/* method phase$Phase$process_nmodule_after for (self: Phase, AModule) */ +void nitc___nitc__Phase___process_nmodule_after(val* self, val* p0) { +val* var_nmodule /* var nmodule: AModule */; +var_nmodule = p0; +RET_LABEL:; +}