X-Git-Url: http://nitlanguage.org diff --git a/c_src/nit__phase.sep.1.c b/c_src/nit__phase.sep.1.c index 6f39c7c..e9f823c 100644 --- a/c_src/nit__phase.sep.1.c +++ b/c_src/nit__phase.sep.1.c @@ -7,7 +7,7 @@ var1 = self->attrs[COLOR_nit__phase__ToolContext___phases].val; /* _phases on attrs[COLOR_nit__phase__ToolContext___opt_disable_phase].val; /* _o if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_disable_phase"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 30); -show_backtrace(1); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -35,7 +35,7 @@ var1 = self->attrs[COLOR_nit__phase__ToolContext___opt_sloppy].val; /* _opt_slop if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_sloppy"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 33); -show_backtrace(1); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -50,18 +50,17 @@ val* var5 /* : OptionArray */; val* var6 /* : OptionBool */; val* var8 /* : OptionBool */; val* var9 /* : Array[Option] */; -long var10 /* : Int */; -val* var11 /* : NativeArray[Option] */; +val* var10 /* : NativeArray[Option] */; { -((void (*)(val* self))(self->class->vft[COLOR_nit__phase___ToolContext___standard__kernel__Object__init]))(self) /* init on */; +((void(*)(val* self))(self->class->vft[COLOR_nit__phase___ToolContext___standard__kernel__Object__init]))(self); /* init on */ } { { /* Inline toolcontext#ToolContext#option_context (self) on */ var2 = self->attrs[COLOR_nit__toolcontext__ToolContext___option_context].val; /* _option_context on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 270); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 332); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -73,7 +72,7 @@ var5 = self->attrs[COLOR_nit__phase__ToolContext___opt_disable_phase].val; /* _o if (unlikely(var5 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_disable_phase"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 30); -show_backtrace(1); +fatal_exit(1); } var3 = var5; RET_LABEL4:(void)0; @@ -85,7 +84,7 @@ var8 = self->attrs[COLOR_nit__phase__ToolContext___opt_sloppy].val; /* _opt_slop if (unlikely(var8 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_sloppy"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 33); -show_backtrace(1); +fatal_exit(1); } var6 = var8; RET_LABEL7:(void)0; @@ -93,12 +92,11 @@ RET_LABEL7:(void)0; } var9 = NEW_standard__Array(&type_standard__Array__opts__Option); { /* var9 = array_instance Array[Option] */ -var10 = 2; -var11 = NEW_standard__NativeArray(var10, &type_standard__NativeArray__opts__Option); -((struct instance_standard__NativeArray*)var11)->values[0] = (val*) var3; -((struct instance_standard__NativeArray*)var11)->values[1] = (val*) var6; +var10 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__opts__Option); +((struct instance_standard__NativeArray*)var10)->values[0] = (val*) var3; +((struct instance_standard__NativeArray*)var10)->values[1] = (val*) var6; { -((void (*)(val* self, val* p0, long p1))(var9->class->vft[COLOR_standard__array__Array__with_native]))(var9, var11, var10) /* with_native on */; +((void(*)(val* self, val* p0, long p1))(var9->class->vft[COLOR_standard__array__Array__with_native]))(var9, var10, 2l); /* with_native on */ } } { @@ -122,84 +120,74 @@ val* var_v /* var v: String */; static val* varonce; val* var10 /* : String */; char* var11 /* : NativeString */; -long var12 /* : Int */; -val* var13 /* : FlatString */; -short int var14 /* : Bool */; -val* var15 /* : Sequence[Phase] */; -val* var_16 /* var : Sequence[Phase] */; -val* var17 /* : Iterator[nullable Object] */; -val* var_18 /* var : IndexedIterator[Phase] */; -short int var19 /* : Bool */; -val* var20 /* : nullable Object */; +val* var12 /* : FlatString */; +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* var19 /* : nullable Object */; val* var_p /* var p: Phase */; -val* var21 /* : POSetElement[Phase] */; -val* var23 /* : POSetElement[Phase] */; -val* var24 /* : Collection[nullable Object] */; +val* var20 /* : POSetElement[Phase] */; +val* var22 /* : POSetElement[Phase] */; +val* var23 /* : Collection[nullable Object] */; val* var_deps /* var deps: Collection[Phase] */; -short int var25 /* : Bool */; -static val* varonce26; -val* var27 /* : String */; -char* var28 /* : NativeString */; -long var29 /* : Int */; -val* var30 /* : FlatString */; -static val* varonce31; -val* var32 /* : String */; -char* var33 /* : NativeString */; -long var34 /* : Int */; -val* var35 /* : FlatString */; -val* var36 /* : String */; -static val* varonce37; -val* var38 /* : String */; -char* var39 /* : NativeString */; -long var40 /* : Int */; +short int var24 /* : Bool */; +val* var25 /* : Sys */; +val* var26 /* : Sys */; +val* var28 /* : NativeArray[String] */; +static val* varonce27; +static val* varonce29; +val* var30 /* : String */; +char* var31 /* : NativeString */; +val* var32 /* : FlatString */; +static val* varonce33; +val* var34 /* : String */; +char* var35 /* : NativeString */; +val* var36 /* : FlatString */; +val* var37 /* : String */; +static val* varonce38; +val* var39 /* : String */; +char* var40 /* : NativeString */; val* var41 /* : FlatString */; -val* var42 /* : Array[Object] */; -long var43 /* : Int */; -val* var44 /* : NativeArray[Object] */; -val* var45 /* : String */; -long var47 /* : Int */; -short int var49 /* : Bool */; +val* var42 /* : String */; +val* var43 /* : String */; +val* var44 /* : Sys */; short int var_found /* var found: Bool */; -val* var50 /* : POSet[Phase] */; -val* var52 /* : POSet[Phase] */; -val* var_53 /* var : POSet[Phase] */; -val* var54 /* : Iterator[nullable Object] */; -val* var_55 /* var : Iterator[Phase] */; +val* var46 /* : POSet[Phase] */; +val* var48 /* : POSet[Phase] */; +val* var_49 /* var : POSet[Phase] */; +val* var50 /* : Iterator[nullable Object] */; +val* var_51 /* var : Iterator[Phase] */; +short int var52 /* : Bool */; +val* var53 /* : nullable Object */; +val* var_p54 /* var p: Phase */; +val* var55 /* : String */; short int var56 /* : Bool */; -val* var57 /* : nullable Object */; -val* var_p58 /* var p: Phase */; -val* var59 /* : String */; -short int var60 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var62 /* : Bool */; +short int var58 /* : Bool */; +short int var59 /* : Bool */; short int var63 /* : Bool */; -short int var65 /* : Bool */; -short int var66 /* : Bool */; -short int var70 /* : Bool */; -val* var71 /* : null */; -static val* varonce72; -val* var73 /* : String */; -char* var74 /* : NativeString */; -long var75 /* : Int */; -val* var76 /* : FlatString */; -static val* varonce77; -val* var78 /* : String */; -char* var79 /* : NativeString */; -long var80 /* : Int */; -val* var81 /* : FlatString */; -val* var82 /* : Array[Object] */; -long var83 /* : Int */; -val* var84 /* : NativeArray[Object] */; -val* var85 /* : String */; -val* var88 /* : OptionBool */; -val* var90 /* : OptionBool */; -val* var91 /* : nullable Object */; -val* var93 /* : nullable Object */; -short int var94 /* : Bool */; -short int var95 /* : Bool */; +val* var65 /* : NativeArray[String] */; +static val* varonce64; +static val* varonce66; +val* var67 /* : String */; +char* var68 /* : NativeString */; +val* var69 /* : FlatString */; +static val* varonce70; +val* var71 /* : String */; +char* var72 /* : NativeString */; +val* var73 /* : FlatString */; +val* var74 /* : String */; +val* var76 /* : OptionBool */; +val* var78 /* : OptionBool */; +val* var79 /* : nullable Object */; +val* var81 /* : nullable Object */; +short int var82 /* : Bool */; var_args = p0; { -((void (*)(val* self, val* p0))(self->class->vft[COLOR_nit__phase___ToolContext___process_options]))(self, p0) /* process_options on */; +((void(*)(val* self, val* p0))(self->class->vft[COLOR_nit__phase___ToolContext___process_options]))(self, p0); /* process_options on */ } { { /* Inline phase#ToolContext#opt_disable_phase (self) on */ @@ -207,7 +195,7 @@ var2 = self->attrs[COLOR_nit__phase__ToolContext___opt_disable_phase].val; /* _o if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_disable_phase"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 30); -show_backtrace(1); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -234,111 +222,111 @@ if (var8){ var9 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_7); } var_v = var9; -if (varonce) { +if (likely(varonce!=NULL)) { var10 = varonce; } else { var11 = "list"; -var12 = 4; -var13 = standard___standard__NativeString___to_s_with_length(var11, var12); -var10 = var13; +var12 = standard___standard__NativeString___to_s_with_length(var11, 4l); +var10 = var12; varonce = var10; } { -var14 = ((short int (*)(val* self, val* p0))(var_v->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_v, var10) /* == on */; +var13 = ((short int(*)(val* self, val* p0))(var_v->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_v, var10); /* == on */ } -if (var14){ +if (var13){ { -var15 = nit__phase___ToolContext___phases_list(self); +var14 = nit__phase___ToolContext___phases_list(self); } -var_16 = var15; +var_15 = var14; { -var17 = ((val* (*)(val* self))(var_16->class->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_16) /* iterator on */; +var16 = ((val*(*)(val* self))((((long)var_15&3)?class_info[((long)var_15&3)]:var_15->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_15); /* iterator on */ } -var_18 = var17; +var_17 = var16; for(;;) { { -var19 = ((short int (*)(val* self))(var_18->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_18) /* is_ok on */; +var18 = ((short int(*)(val* self))((((long)var_17&3)?class_info[((long)var_17&3)]:var_17->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_17); /* is_ok on */ } -if (var19){ +if (var18){ { -var20 = ((val* (*)(val* self))(var_18->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_18) /* item on */; +var19 = ((val*(*)(val* self))((((long)var_17&3)?class_info[((long)var_17&3)]:var_17->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_17); /* item on */ } -var_p = var20; +var_p = var19; { { /* Inline phase#Phase#in_hierarchy (var_p) on */ -var23 = var_p->attrs[COLOR_nit__phase__Phase___in_hierarchy].val; /* _in_hierarchy on */ -if (unlikely(var23 == NULL)) { +var22 = var_p->attrs[COLOR_nit__phase__Phase___in_hierarchy].val; /* _in_hierarchy on */ +if (unlikely(var22 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_hierarchy"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 204); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 203); +fatal_exit(1); } -var21 = var23; -RET_LABEL22:(void)0; +var20 = var22; +RET_LABEL21:(void)0; } } { -var24 = poset___poset__POSetElement___direct_greaters(var21); +var23 = poset___poset__POSetElement___direct_greaters(var20); } -var_deps = var24; +var_deps = var23; { -var25 = ((short int (*)(val* self))(var_deps->class->vft[COLOR_standard__abstract_collection__Collection__is_empty]))(var_deps) /* is_empty on */; +var24 = ((short int(*)(val* self))((((long)var_deps&3)?class_info[((long)var_deps&3)]:var_deps->class)->vft[COLOR_standard__abstract_collection__Collection__is_empty]))(var_deps); /* is_empty on */ } -if (var25){ +if (var24){ +var25 = glob_sys; { -standard__file___Object___print(self, var_p); /* Direct call file#Object#print on */ +standard__file___Sys___print(var25, var_p); /* Direct call file#Sys#print on */ } } else { -if (varonce26) { -var27 = varonce26; +var26 = glob_sys; +if (unlikely(varonce27==NULL)) { +var28 = NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String); +if (likely(varonce29!=NULL)) { +var30 = varonce29; } else { -var28 = " (dep: "; -var29 = 7; -var30 = standard___standard__NativeString___to_s_with_length(var28, var29); -var27 = var30; -varonce26 = var27; -} -if (varonce31) { -var32 = varonce31; +var31 = " (dep: "; +var32 = standard___standard__NativeString___to_s_with_length(var31, 7l); +var30 = var32; +varonce29 = var30; +} +((struct instance_standard__NativeArray*)var28)->values[1]=var30; +if (likely(varonce33!=NULL)) { +var34 = varonce33; } else { -var33 = ", "; -var34 = 2; -var35 = standard___standard__NativeString___to_s_with_length(var33, var34); -var32 = var35; -varonce31 = var32; +var35 = ")"; +var36 = standard___standard__NativeString___to_s_with_length(var35, 1l); +var34 = var36; +varonce33 = var34; +} +((struct instance_standard__NativeArray*)var28)->values[3]=var34; +} else { +var28 = varonce27; +varonce27 = NULL; } { -var36 = standard__string___Collection___join(var_deps, var32); +var37 = ((val*(*)(val* self))(var_p->class->vft[COLOR_standard__string__Object__to_s]))(var_p); /* to_s on */ } -if (varonce37) { -var38 = varonce37; +((struct instance_standard__NativeArray*)var28)->values[0]=var37; +if (likely(varonce38!=NULL)) { +var39 = varonce38; } else { -var39 = ")"; -var40 = 1; -var41 = standard___standard__NativeString___to_s_with_length(var39, var40); -var38 = var41; -varonce37 = var38; +var40 = ", "; +var41 = standard___standard__NativeString___to_s_with_length(var40, 2l); +var39 = var41; +varonce38 = var39; } -var42 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var42 = array_instance Array[Object] */ -var43 = 4; -var44 = NEW_standard__NativeArray(var43, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var44)->values[0] = (val*) var_p; -((struct instance_standard__NativeArray*)var44)->values[1] = (val*) var27; -((struct instance_standard__NativeArray*)var44)->values[2] = (val*) var36; -((struct instance_standard__NativeArray*)var44)->values[3] = (val*) var38; { -((void (*)(val* self, val* p0, long p1))(var42->class->vft[COLOR_standard__array__Array__with_native]))(var42, var44, var43) /* with_native on */; -} +var42 = standard__string___Collection___join(var_deps, var39); } +((struct instance_standard__NativeArray*)var28)->values[2]=var42; { -var45 = ((val* (*)(val* self))(var42->class->vft[COLOR_standard__string__Object__to_s]))(var42) /* to_s on */; +var43 = ((val*(*)(val* self))(var28->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var28); /* native_to_s on */ } +varonce27 = var28; { -standard__file___Object___print(self, var45); /* Direct call file#Object#print on */ +standard__file___Sys___print(var26, var43); /* Direct call file#Sys#print on */ } } { -((void (*)(val* self))(var_18->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_18) /* next on */; +((void(*)(val* self))((((long)var_17&3)?class_info[((long)var_17&3)]:var_17->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_17); /* next on */ } } else { goto BREAK_label; @@ -346,126 +334,115 @@ goto BREAK_label; } BREAK_label: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_18) on */ -RET_LABEL46:(void)0; -} +((void(*)(val* self))((((long)var_17&3)?class_info[((long)var_17&3)]:var_17->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_17); /* finish on */ } -var47 = 0; +var44 = glob_sys; { -{ /* Inline kernel#Object#exit (self,var47) on */ -exit(var47); -RET_LABEL48:(void)0; +{ /* Inline kernel#Sys#exit (var44,0l) on */ +exit(0l); +RET_LABEL45:(void)0; } } } else { } -var49 = 0; -var_found = var49; +var_found = 0; { { /* Inline phase#ToolContext#phases (self) on */ -var52 = self->attrs[COLOR_nit__phase__ToolContext___phases].val; /* _phases on */ -if (unlikely(var52 == NULL)) { +var48 = self->attrs[COLOR_nit__phase__ToolContext___phases].val; /* _phases on */ +if (unlikely(var48 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _phases"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 23); -show_backtrace(1); +fatal_exit(1); } -var50 = var52; -RET_LABEL51:(void)0; +var46 = var48; +RET_LABEL47:(void)0; } } -var_53 = var50; +var_49 = var46; { -var54 = poset___poset__POSet___standard__abstract_collection__Collection__iterator(var_53); +var50 = poset___poset__POSet___standard__abstract_collection__Collection__iterator(var_49); } -var_55 = var54; +var_51 = var50; for(;;) { { -var56 = ((short int (*)(val* self))(var_55->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_55) /* is_ok on */; +var52 = ((short int(*)(val* self))((((long)var_51&3)?class_info[((long)var_51&3)]:var_51->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_51); /* is_ok on */ } -if (var56){ +if (var52){ { -var57 = ((val* (*)(val* self))(var_55->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_55) /* item on */; +var53 = ((val*(*)(val* self))((((long)var_51&3)?class_info[((long)var_51&3)]:var_51->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_51); /* item on */ } -var_p58 = var57; +var_p54 = var53; { -var59 = nit___nit__Phase___standard__string__Object__to_s(var_p58); +var55 = nit___nit__Phase___standard__string__Object__to_s(var_p54); } { -{ /* Inline kernel#Object#!= (var_v,var59) on */ -var_other = var59; +{ /* Inline kernel#Object#!= (var_v,var55) on */ +var_other = var55; { -var62 = ((short int (*)(val* self, val* p0))(var_v->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_v, var_other) /* == on */; +var58 = ((short int(*)(val* self, val* p0))(var_v->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_v, var_other); /* == on */ } -var63 = !var62; -var60 = var63; -goto RET_LABEL61; -RET_LABEL61:(void)0; +var59 = !var58; +var56 = var59; +goto RET_LABEL57; +RET_LABEL57:(void)0; } } -if (var60){ -goto BREAK_label64; +if (var56){ +goto BREAK_label60; } else { } -var65 = 1; -var_found = var65; -var66 = 1; +var_found = 1; { -{ /* Inline phase#Phase#disabled= (var_p58,var66) on */ -var_p58->attrs[COLOR_nit__phase__Phase___disabled].s = var66; /* _disabled on */ -RET_LABEL67:(void)0; +{ /* Inline phase#Phase#disabled= (var_p54,1) on */ +var_p54->attrs[COLOR_nit__phase__Phase___disabled].s = 1; /* _disabled on */ +RET_LABEL61:(void)0; } } -BREAK_label64: (void)0; +BREAK_label60: (void)0; { -((void (*)(val* self))(var_55->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_55) /* next on */; +((void(*)(val* self))((((long)var_51&3)?class_info[((long)var_51&3)]:var_51->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_51); /* next on */ } } else { -goto BREAK_label68; +goto BREAK_label62; } } -BREAK_label68: (void)0; +BREAK_label62: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_55) on */ -RET_LABEL69:(void)0; +((void(*)(val* self))((((long)var_51&3)?class_info[((long)var_51&3)]:var_51->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_51); /* finish on */ } -} -var70 = !var_found; -if (var70){ -var71 = NULL; -if (varonce72) { -var73 = varonce72; +var63 = !var_found; +if (var63){ +if (unlikely(varonce64==NULL)) { +var65 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce66!=NULL)) { +var67 = varonce66; } else { -var74 = "Error: no phase named `"; -var75 = 23; -var76 = standard___standard__NativeString___to_s_with_length(var74, var75); -var73 = var76; -varonce72 = var73; -} -if (varonce77) { -var78 = varonce77; +var68 = "Error: no phase named `"; +var69 = standard___standard__NativeString___to_s_with_length(var68, 23l); +var67 = var69; +varonce66 = var67; +} +((struct instance_standard__NativeArray*)var65)->values[0]=var67; +if (likely(varonce70!=NULL)) { +var71 = varonce70; } else { -var79 = "`. Use `list` to list all phases."; -var80 = 33; -var81 = standard___standard__NativeString___to_s_with_length(var79, var80); -var78 = var81; -varonce77 = var78; -} -var82 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var82 = array_instance Array[Object] */ -var83 = 3; -var84 = NEW_standard__NativeArray(var83, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var84)->values[0] = (val*) var73; -((struct instance_standard__NativeArray*)var84)->values[1] = (val*) var_v; -((struct instance_standard__NativeArray*)var84)->values[2] = (val*) var78; -{ -((void (*)(val* self, val* p0, long p1))(var82->class->vft[COLOR_standard__array__Array__with_native]))(var82, var84, var83) /* with_native on */; +var72 = "`. Use `list` to list all phases."; +var73 = standard___standard__NativeString___to_s_with_length(var72, 33l); +var71 = var73; +varonce70 = var71; } +((struct instance_standard__NativeArray*)var65)->values[2]=var71; +} else { +var65 = varonce64; +varonce64 = NULL; } +((struct instance_standard__NativeArray*)var65)->values[1]=var_v; { -var85 = ((val* (*)(val* self))(var82->class->vft[COLOR_standard__string__Object__to_s]))(var82) /* to_s on */; +var74 = ((val*(*)(val* self))(var65->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var65); /* native_to_s on */ } +varonce64 = var65; { -nit___nit__ToolContext___fatal_error(self, var71, var85); /* Direct call toolcontext#ToolContext#fatal_error on */ +nit___nit__ToolContext___fatal_error(self, ((val*)NULL), var74); /* Direct call toolcontext#ToolContext#fatal_error on */ } } else { } @@ -473,41 +450,38 @@ nit___nit__ToolContext___fatal_error(self, var71, var85); /* Direct call toolcon standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_7); /* Direct call array#ArrayIterator#next on */ } } else { -goto BREAK_label86; +goto BREAK_label75; } } -BREAK_label86: (void)0; +BREAK_label75: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_7) on */ -RET_LABEL87:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_7); /* Direct call array#ArrayIterator#finish on */ } { { /* Inline phase#ToolContext#opt_sloppy (self) on */ -var90 = self->attrs[COLOR_nit__phase__ToolContext___opt_sloppy].val; /* _opt_sloppy on */ -if (unlikely(var90 == NULL)) { +var78 = self->attrs[COLOR_nit__phase__ToolContext___opt_sloppy].val; /* _opt_sloppy on */ +if (unlikely(var78 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_sloppy"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 33); -show_backtrace(1); +fatal_exit(1); } -var88 = var90; -RET_LABEL89:(void)0; +var76 = var78; +RET_LABEL77:(void)0; } } { -{ /* Inline opts#Option#value (var88) on */ -var93 = var88->attrs[COLOR_opts__Option___value].val; /* _value on */ -var91 = var93; -RET_LABEL92:(void)0; +{ /* Inline opts#Option#value (var76) on */ +var81 = var76->attrs[COLOR_opts__Option___value].val; /* _value on */ +var79 = var81; +RET_LABEL80:(void)0; } } -var94 = ((struct instance_standard__Bool*)var91)->value; /* autounbox from nullable Object to Bool */; -if (var94){ -var95 = 1; +var82 = (short int)((long)(var79)>>2); +if (var82){ { -{ /* Inline phase#ToolContext#semantize_is_lazy= (self,var95) on */ -self->attrs[COLOR_nit__phase__ToolContext___semantize_is_lazy].s = var95; /* _semantize_is_lazy on */ -RET_LABEL96:(void)0; +{ /* Inline phase#ToolContext#semantize_is_lazy= (self,1) on */ +self->attrs[COLOR_nit__phase__ToolContext___semantize_is_lazy].s = 1; /* _semantize_is_lazy on */ +RET_LABEL83:(void)0; } } } else { @@ -532,7 +506,7 @@ var2 = self->attrs[COLOR_nit__phase__ToolContext___phases_list].val; /* _phases_ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _phases_list"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 72); -show_backtrace(1); +fatal_exit(1); } } else { { @@ -542,7 +516,7 @@ var7 = self->attrs[COLOR_nit__phase__ToolContext___phases].val; /* _phases on attrs[COLOR_nit__phase__ToolContext___phases].val; /* _phases on < if (unlikely(var11 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _phases"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 23); -show_backtrace(1); +fatal_exit(1); } var9 = var11; RET_LABEL10:(void)0; @@ -600,7 +574,7 @@ var1 = self->attrs[COLOR_nit__phase__ToolContext___phased_modules].val; /* _phas if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _phased_modules"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 86); -show_backtrace(1); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -615,171 +589,159 @@ long var_time0 /* var time0: Int */; static val* varonce; val* var3 /* : String */; char* var4 /* : NativeString */; -long var5 /* : Int */; -val* var6 /* : FlatString */; -long var7 /* : Int */; -val* var8 /* : Sequence[Phase] */; +val* var5 /* : FlatString */; +val* var6 /* : Sequence[Phase] */; val* var_phases /* var phases: Sequence[Phase] */; val* var_ /* var : Sequence[Phase] */; -val* var9 /* : Iterator[nullable Object] */; -val* var_10 /* var : IndexedIterator[Phase] */; -short int var11 /* : Bool */; -val* var12 /* : nullable Object */; +val* var7 /* : Iterator[nullable Object] */; +val* var_8 /* var : IndexedIterator[Phase] */; +short int var9 /* : Bool */; +val* var10 /* : nullable Object */; val* var_phase /* var phase: Phase */; +val* var12 /* : NativeArray[String] */; +static val* varonce11; static val* varonce13; val* var14 /* : String */; char* var15 /* : NativeString */; -long var16 /* : Int */; -val* var17 /* : FlatString */; -val* var18 /* : Array[Object] */; -long var19 /* : Int */; -val* var20 /* : NativeArray[Object] */; -val* var21 /* : String */; -long var22 /* : Int */; -val* var_24 /* var : Collection[AModule] */; -val* var25 /* : Iterator[nullable Object] */; -val* var_26 /* var : Iterator[AModule] */; -short int var27 /* : Bool */; -val* var28 /* : nullable Object */; +val* var16 /* : FlatString */; +val* var17 /* : String */; +val* var18 /* : String */; +val* var_19 /* var : Collection[AModule] */; +val* var20 /* : Iterator[nullable Object] */; +val* var_21 /* var : Iterator[AModule] */; +short int var22 /* : Bool */; +val* var23 /* : nullable Object */; val* var_nmodule /* var nmodule: AModule */; +val* var24 /* : HashSet[AModule] */; +val* var26 /* : HashSet[AModule] */; +short int var27 /* : Bool */; val* var29 /* : HashSet[AModule] */; val* var31 /* : HashSet[AModule] */; -short int var32 /* : Bool */; -val* var34 /* : HashSet[AModule] */; -val* var36 /* : HashSet[AModule] */; -static val* varonce37; -val* var38 /* : String */; -char* var39 /* : NativeString */; -long var40 /* : Int */; -val* var41 /* : FlatString */; -val* var42 /* : Location */; -val* var44 /* : Location */; -val* var45 /* : nullable SourceFile */; -val* var47 /* : nullable SourceFile */; -val* var48 /* : String */; -val* var50 /* : String */; -val* var51 /* : Array[Object] */; -long var52 /* : Int */; -val* var53 /* : NativeArray[Object] */; -val* var54 /* : String */; -long var55 /* : Int */; -val* var56 /* : AnnotationPhaseVisitor */; +val* var33 /* : NativeArray[String] */; +static val* varonce32; +static val* varonce34; +val* var35 /* : String */; +char* var36 /* : NativeString */; +val* var37 /* : FlatString */; +val* var38 /* : Location */; +val* var40 /* : Location */; +val* var41 /* : nullable SourceFile */; +val* var43 /* : nullable SourceFile */; +val* var44 /* : String */; +val* var46 /* : String */; +val* var47 /* : String */; +val* var48 /* : AnnotationPhaseVisitor */; val* var_vannot /* var vannot: AnnotationPhaseVisitor */; -val* var_58 /* var : Sequence[Phase] */; -val* var59 /* : Iterator[nullable Object] */; -val* var_60 /* var : IndexedIterator[Phase] */; -short int var61 /* : Bool */; -val* var62 /* : nullable Object */; -val* var_phase63 /* var phase: Phase */; -short int var64 /* : Bool */; -short int var66 /* : Bool */; -static val* varonce68; -val* var69 /* : String */; -char* var70 /* : NativeString */; -long var71 /* : Int */; -val* var72 /* : FlatString */; -val* var73 /* : Array[Object] */; -long var74 /* : Int */; -val* var75 /* : NativeArray[Object] */; -val* var76 /* : String */; -long var77 /* : Int */; -val* var78 /* : ToolContext */; -val* var80 /* : ToolContext */; -short int var81 /* : Bool */; +val* var_50 /* var : Sequence[Phase] */; +val* var51 /* : Iterator[nullable Object] */; +val* var_52 /* var : IndexedIterator[Phase] */; +short int var53 /* : Bool */; +val* var54 /* : nullable Object */; +val* var_phase55 /* var phase: Phase */; +short int var56 /* : Bool */; +short int var58 /* : Bool */; +val* var60 /* : ToolContext */; +val* var62 /* : ToolContext */; +short int var63 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var83 /* : Bool */; -short int var85 /* : Bool */; -long var86 /* : Int */; -long var88 /* : Int */; +short int var65 /* : Bool */; +short int var67 /* : Bool */; +long var68 /* : Int */; +long var70 /* : Int */; long var_errcount /* var errcount: Int */; -long var89 /* : Int */; -long var91 /* : Int */; -short int var92 /* : Bool */; -short int var94 /* : Bool */; -short int var95 /* : Bool */; -short int var96 /* : Bool */; -long var98 /* : Int */; -long var100 /* : Int */; -val* var101 /* : ANodes[AClassdef] */; -val* var103 /* : ANodes[AClassdef] */; -val* var_104 /* var : ANodes[AClassdef] */; -val* var105 /* : Iterator[ANode] */; -val* var_106 /* var : Iterator[AClassdef] */; -short int var107 /* : Bool */; -val* var108 /* : nullable Object */; +long var71 /* : Int */; +long var73 /* : Int */; +short int var74 /* : Bool */; +short int var76 /* : Bool */; +short int var77 /* : Bool */; +short int var78 /* : Bool */; +long var79 /* : Int */; +long var81 /* : Int */; +val* var82 /* : ANodes[AClassdef] */; +val* var84 /* : ANodes[AClassdef] */; +val* var_85 /* var : ANodes[AClassdef] */; +val* var86 /* : Iterator[ANode] */; +val* var_87 /* var : Iterator[AClassdef] */; +short int var88 /* : Bool */; +val* var89 /* : nullable Object */; val* var_nclassdef /* var nclassdef: AClassdef */; -val* var109 /* : ToolContext */; -val* var111 /* : ToolContext */; -short int var112 /* : Bool */; -short int var114 /* : Bool */; -short int var116 /* : Bool */; -val* var_nclassdef118 /* var nclassdef: AClassdef */; -short int var119 /* : Bool */; -short int var121 /* : Bool */; -short int var122 /* : Bool */; -val* var123 /* : ANodes[APropdef] */; -val* var125 /* : ANodes[APropdef] */; -val* var_126 /* var : ANodes[APropdef] */; -val* var127 /* : Iterator[ANode] */; -val* var_128 /* var : Iterator[APropdef] */; -short int var129 /* : Bool */; -val* var130 /* : nullable Object */; +val* var90 /* : ToolContext */; +val* var92 /* : ToolContext */; +short int var93 /* : Bool */; +short int var95 /* : Bool */; +short int var97 /* : Bool */; +short int var98 /* : Bool */; +short int var100 /* : Bool */; +short int var101 /* : Bool */; +val* var102 /* : ANodes[APropdef] */; +val* var104 /* : ANodes[APropdef] */; +val* var_105 /* var : ANodes[APropdef] */; +val* var106 /* : Iterator[ANode] */; +val* var_107 /* var : Iterator[APropdef] */; +short int var108 /* : Bool */; +val* var109 /* : nullable Object */; val* var_npropdef /* var npropdef: APropdef */; -val* var131 /* : ToolContext */; -val* var133 /* : ToolContext */; +val* var110 /* : ToolContext */; +val* var112 /* : ToolContext */; +short int var113 /* : Bool */; +short int var115 /* : Bool */; +short int var117 /* : Bool */; +long var120 /* : Int */; +long var122 /* : Int */; +short int var123 /* : Bool */; +short int var125 /* : Bool */; +short int var126 /* : Bool */; +short int var127 /* : Bool */; +val* var128 /* : Array[AAnnotation] */; +val* var130 /* : Array[AAnnotation] */; +val* var_131 /* var : Array[AAnnotation] */; +val* var132 /* : ArrayIterator[nullable Object] */; +val* var_133 /* var : ArrayIterator[AAnnotation] */; short int var134 /* : Bool */; -short int var136 /* : Bool */; -short int var138 /* : Bool */; -long var143 /* : Int */; -long var145 /* : Int */; -short int var146 /* : Bool */; -short int var148 /* : Bool */; -short int var149 /* : Bool */; -short int var150 /* : Bool */; -val* var151 /* : Array[AAnnotation] */; -val* var153 /* : Array[AAnnotation] */; -val* var_154 /* var : Array[AAnnotation] */; -val* var155 /* : ArrayIterator[nullable Object] */; -val* var_156 /* var : ArrayIterator[AAnnotation] */; -short int var157 /* : Bool */; -val* var158 /* : nullable Object */; +val* var135 /* : nullable Object */; val* var_na /* var na: AAnnotation */; -val* var159 /* : nullable ANode */; -val* var161 /* : nullable ANode */; -val* var162 /* : nullable ANode */; -val* var164 /* : nullable ANode */; -long var167 /* : Int */; -long var169 /* : Int */; -short int var170 /* : Bool */; -short int var172 /* : Bool */; -short int var173 /* : Bool */; -short int var174 /* : Bool */; -short int var176 /* : Bool */; -long var179 /* : Int */; -long var181 /* : Int for extern */; -long var_time1 /* var time1: Int */; -static val* varonce182; -val* var183 /* : String */; -char* var184 /* : NativeString */; -long var185 /* : Int */; -val* var186 /* : FlatString */; -long var187 /* : Int */; -short int var189 /* : Bool */; +val* var136 /* : nullable ANode */; +val* var138 /* : nullable ANode */; +val* var_p /* var p: nullable ANode */; +short int var139 /* : Bool */; int cltype; int idtype; +val* var140 /* : nullable ANode */; +val* var142 /* : nullable ANode */; +short int var143 /* : Bool */; +short int var144 /* : Bool */; +val* var_other146 /* var other: nullable Object */; +short int var147 /* : Bool */; +short int var148 /* : Bool */; +long var150 /* : Int */; +long var152 /* : Int */; +short int var153 /* : Bool */; +short int var155 /* : Bool */; +short int var156 /* : Bool */; +short int var157 /* : Bool */; +short int var159 /* : Bool */; +long var161 /* : Int */; +long var163 /* : Int for extern */; +long var_time1 /* var time1: Int */; +val* var165 /* : NativeArray[String] */; +static val* varonce164; +static val* varonce166; +val* var167 /* : String */; +char* var168 /* : NativeString */; +val* var169 /* : FlatString */; +static val* varonce170; +val* var171 /* : String */; +char* var172 /* : NativeString */; +val* var173 /* : FlatString */; +long var174 /* : Int */; +short int var176 /* : Bool */; +int cltype177; +int idtype178; const char* var_class_name; -long var190 /* : Int */; -static val* varonce191; -val* var192 /* : String */; -char* var193 /* : NativeString */; -long var194 /* : Int */; -val* var195 /* : FlatString */; -val* var196 /* : Array[Object] */; -long var197 /* : Int */; -val* var198 /* : NativeArray[Object] */; -val* var199 /* : Object */; -val* var200 /* : String */; -long var201 /* : Int */; +long var179 /* : Int */; +val* var180 /* : String */; +val* var181 /* : String */; +short int var182 /* : Bool */; var_nmodules = p0; { { /* Inline time#Object#get_time (self) on */ @@ -790,65 +752,63 @@ RET_LABEL1:(void)0; } } var_time0 = var; -if (varonce) { +if (likely(varonce!=NULL)) { var3 = varonce; } else { var4 = "*** SEMANTIC ANALYSIS ***"; -var5 = 25; -var6 = standard___standard__NativeString___to_s_with_length(var4, var5); -var3 = var6; +var5 = standard___standard__NativeString___to_s_with_length(var4, 25l); +var3 = var5; varonce = var3; } -var7 = 1; { -nit___nit__ToolContext___info(self, var3, var7); /* Direct call toolcontext#ToolContext#info on */ +nit___nit__ToolContext___info(self, var3, 1l); /* Direct call toolcontext#ToolContext#info on */ } { -var8 = nit__phase___ToolContext___phases_list(self); +var6 = nit__phase___ToolContext___phases_list(self); } -var_phases = var8; +var_phases = var6; var_ = var_phases; { -var9 = ((val* (*)(val* self))(var_->class->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_) /* iterator on */; +var7 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_); /* iterator on */ } -var_10 = var9; +var_8 = var7; for(;;) { { -var11 = ((short int (*)(val* self))(var_10->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_10) /* is_ok on */; +var9 = ((short int(*)(val* self))((((long)var_8&3)?class_info[((long)var_8&3)]:var_8->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_8); /* is_ok on */ } -if (var11){ +if (var9){ { -var12 = ((val* (*)(val* self))(var_10->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_10) /* item on */; +var10 = ((val*(*)(val* self))((((long)var_8&3)?class_info[((long)var_8&3)]:var_8->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_8); /* item on */ } -var_phase = var12; -if (varonce13) { +var_phase = var10; +if (unlikely(varonce11==NULL)) { +var12 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String); +if (likely(varonce13!=NULL)) { var14 = varonce13; } else { var15 = " registered phases: "; -var16 = 20; -var17 = standard___standard__NativeString___to_s_with_length(var15, var16); -var14 = var17; +var16 = standard___standard__NativeString___to_s_with_length(var15, 20l); +var14 = var16; varonce13 = var14; } -var18 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var18 = array_instance Array[Object] */ -var19 = 2; -var20 = NEW_standard__NativeArray(var19, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var20)->values[0] = (val*) var14; -((struct instance_standard__NativeArray*)var20)->values[1] = (val*) var_phase; -{ -((void (*)(val* self, val* p0, long p1))(var18->class->vft[COLOR_standard__array__Array__with_native]))(var18, var20, var19) /* with_native on */; +((struct instance_standard__NativeArray*)var12)->values[0]=var14; +} else { +var12 = varonce11; +varonce11 = NULL; } +{ +var17 = ((val*(*)(val* self))(var_phase->class->vft[COLOR_standard__string__Object__to_s]))(var_phase); /* to_s on */ } +((struct instance_standard__NativeArray*)var12)->values[1]=var17; { -var21 = ((val* (*)(val* self))(var18->class->vft[COLOR_standard__string__Object__to_s]))(var18) /* to_s on */; +var18 = ((val*(*)(val* self))(var12->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var12); /* native_to_s on */ } -var22 = 2; +varonce11 = var12; { -nit___nit__ToolContext___info(self, var21, var22); /* Direct call toolcontext#ToolContext#info on */ +nit___nit__ToolContext___info(self, var18, 2l); /* Direct call toolcontext#ToolContext#info on */ } { -((void (*)(val* self))(var_10->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_10) /* next on */; +((void(*)(val* self))((((long)var_8&3)?class_info[((long)var_8&3)]:var_8->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_8); /* next on */ } } else { goto BREAK_label; @@ -856,636 +816,611 @@ goto BREAK_label; } BREAK_label: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_10) on */ -RET_LABEL23:(void)0; +((void(*)(val* self))((((long)var_8&3)?class_info[((long)var_8&3)]:var_8->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_8); /* finish on */ } -} -var_24 = var_nmodules; +var_19 = var_nmodules; { -var25 = ((val* (*)(val* self))(var_24->class->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_24) /* iterator on */; +var20 = ((val*(*)(val* self))((((long)var_19&3)?class_info[((long)var_19&3)]:var_19->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_19); /* iterator on */ } -var_26 = var25; +var_21 = var20; for(;;) { { -var27 = ((short int (*)(val* self))(var_26->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_26) /* is_ok on */; +var22 = ((short int(*)(val* self))((((long)var_21&3)?class_info[((long)var_21&3)]:var_21->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_21); /* is_ok on */ } -if (var27){ +if (var22){ { -var28 = ((val* (*)(val* self))(var_26->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_26) /* item on */; +var23 = ((val*(*)(val* self))((((long)var_21&3)?class_info[((long)var_21&3)]:var_21->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_21); /* item on */ } -var_nmodule = var28; +var_nmodule = var23; { { /* Inline phase#ToolContext#phased_modules (self) on */ -var31 = self->attrs[COLOR_nit__phase__ToolContext___phased_modules].val; /* _phased_modules on */ -if (unlikely(var31 == NULL)) { +var26 = self->attrs[COLOR_nit__phase__ToolContext___phased_modules].val; /* _phased_modules on */ +if (unlikely(var26 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _phased_modules"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 86); -show_backtrace(1); +fatal_exit(1); } -var29 = var31; -RET_LABEL30:(void)0; +var24 = var26; +RET_LABEL25:(void)0; } } { -var32 = standard___standard__HashSet___standard__abstract_collection__Collection__has(var29, var_nmodule); +var27 = standard___standard__HashSet___standard__abstract_collection__Collection__has(var24, var_nmodule); } -if (var32){ -goto BREAK_label33; +if (var27){ +goto BREAK_label28; } else { } { { /* Inline phase#ToolContext#phased_modules (self) on */ -var36 = self->attrs[COLOR_nit__phase__ToolContext___phased_modules].val; /* _phased_modules on */ -if (unlikely(var36 == NULL)) { +var31 = self->attrs[COLOR_nit__phase__ToolContext___phased_modules].val; /* _phased_modules on */ +if (unlikely(var31 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _phased_modules"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 86); -show_backtrace(1); +fatal_exit(1); } -var34 = var36; -RET_LABEL35:(void)0; +var29 = var31; +RET_LABEL30:(void)0; } } { -standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var34, var_nmodule); /* Direct call hash_collection#HashSet#add on */ +standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var29, var_nmodule); /* Direct call hash_collection#HashSet#add on */ +} +if (unlikely(varonce32==NULL)) { +var33 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String); +if (likely(varonce34!=NULL)) { +var35 = varonce34; +} else { +var36 = "Semantic analysis module "; +var37 = standard___standard__NativeString___to_s_with_length(var36, 25l); +var35 = var37; +varonce34 = var35; } -if (varonce37) { -var38 = varonce37; +((struct instance_standard__NativeArray*)var33)->values[0]=var35; } else { -var39 = "Semantic analysis module "; -var40 = 25; -var41 = standard___standard__NativeString___to_s_with_length(var39, var40); -var38 = var41; -varonce37 = var38; +var33 = varonce32; +varonce32 = NULL; } { { /* Inline parser_nodes#ANode#location (var_nmodule) on */ -var44 = var_nmodule->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ -if (unlikely(var44 == NULL)) { +var40 = var_nmodule->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var40 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 23); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24); +fatal_exit(1); } -var42 = var44; -RET_LABEL43:(void)0; +var38 = var40; +RET_LABEL39:(void)0; } } { -{ /* Inline location#Location#file (var42) on */ -var47 = var42->attrs[COLOR_nit__location__Location___file].val; /* _file on */ -var45 = var47; -RET_LABEL46:(void)0; +{ /* Inline location#Location#file (var38) on */ +var43 = var38->attrs[COLOR_nit__location__Location___file].val; /* _file on */ +var41 = var43; +RET_LABEL42:(void)0; } } -if (var45 == NULL) { +if (var41 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 106); -show_backtrace(1); +fatal_exit(1); } else { -{ /* Inline location#SourceFile#filename (var45) on */ -if (unlikely(var45 == NULL)) { +{ /* Inline location#SourceFile#filename (var41) on */ +if (unlikely(var41 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 22); -show_backtrace(1); +fatal_exit(1); } -var50 = var45->attrs[COLOR_nit__location__SourceFile___filename].val; /* _filename on */ -if (unlikely(var50 == NULL)) { +var46 = var41->attrs[COLOR_nit__location__SourceFile___filename].val; /* _filename on */ +if (unlikely(var46 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 22); -show_backtrace(1); +fatal_exit(1); } -var48 = var50; -RET_LABEL49:(void)0; -} -} -var51 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var51 = array_instance Array[Object] */ -var52 = 2; -var53 = NEW_standard__NativeArray(var52, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var53)->values[0] = (val*) var38; -((struct instance_standard__NativeArray*)var53)->values[1] = (val*) var48; -{ -((void (*)(val* self, val* p0, long p1))(var51->class->vft[COLOR_standard__array__Array__with_native]))(var51, var53, var52) /* with_native on */; +var44 = var46; +RET_LABEL45:(void)0; } } +((struct instance_standard__NativeArray*)var33)->values[1]=var44; { -var54 = ((val* (*)(val* self))(var51->class->vft[COLOR_standard__string__Object__to_s]))(var51) /* to_s on */; +var47 = ((val*(*)(val* self))(var33->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var33); /* native_to_s on */ } -var55 = 2; +varonce32 = var33; { -nit___nit__ToolContext___info(self, var54, var55); /* Direct call toolcontext#ToolContext#info on */ +nit___nit__ToolContext___info(self, var47, 2l); /* Direct call toolcontext#ToolContext#info on */ } -var56 = NEW_nit__phase__AnnotationPhaseVisitor(&type_nit__phase__AnnotationPhaseVisitor); +var48 = NEW_nit__phase__AnnotationPhaseVisitor(&type_nit__phase__AnnotationPhaseVisitor); { -{ /* Inline kernel#Object#init (var56) on */ -RET_LABEL57:(void)0; +{ /* Inline kernel#Object#init (var48) on */ +RET_LABEL49:(void)0; } } -var_vannot = var56; +var_vannot = var48; { nit___nit__Visitor___enter_visit(var_vannot, var_nmodule); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var_58 = var_phases; +var_50 = var_phases; { -var59 = ((val* (*)(val* self))(var_58->class->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_58) /* iterator on */; +var51 = ((val*(*)(val* self))((((long)var_50&3)?class_info[((long)var_50&3)]:var_50->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_50); /* iterator on */ } -var_60 = var59; +var_52 = var51; for(;;) { { -var61 = ((short int (*)(val* self))(var_60->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_60) /* is_ok on */; +var53 = ((short int(*)(val* self))((((long)var_52&3)?class_info[((long)var_52&3)]:var_52->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_52); /* is_ok on */ } -if (var61){ +if (var53){ { -var62 = ((val* (*)(val* self))(var_60->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_60) /* item on */; +var54 = ((val*(*)(val* self))((((long)var_52&3)?class_info[((long)var_52&3)]:var_52->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_52); /* item on */ } -var_phase63 = var62; +var_phase55 = var54; { -{ /* Inline phase#Phase#disabled (var_phase63) on */ -var66 = var_phase63->attrs[COLOR_nit__phase__Phase___disabled].s; /* _disabled on */ -var64 = var66; -RET_LABEL65:(void)0; -} +{ /* Inline phase#Phase#disabled (var_phase55) on */ +var58 = var_phase55->attrs[COLOR_nit__phase__Phase___disabled].s; /* _disabled on */ +var56 = var58; +RET_LABEL57:(void)0; } -if (var64){ -goto BREAK_label67; -} else { } -if (varonce68) { -var69 = varonce68; +if (var56){ +goto BREAK_label59; } else { -var70 = " phase: "; -var71 = 8; -var72 = standard___standard__NativeString___to_s_with_length(var70, var71); -var69 = var72; -varonce68 = var69; -} -var73 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var73 = array_instance Array[Object] */ -var74 = 2; -var75 = NEW_standard__NativeArray(var74, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var75)->values[0] = (val*) var69; -((struct instance_standard__NativeArray*)var75)->values[1] = (val*) var_phase63; -{ -((void (*)(val* self, val* p0, long p1))(var73->class->vft[COLOR_standard__array__Array__with_native]))(var73, var75, var74) /* with_native on */; -} -} -{ -var76 = ((val* (*)(val* self))(var73->class->vft[COLOR_standard__string__Object__to_s]))(var73) /* to_s on */; -} -var77 = 3; -{ -nit___nit__ToolContext___info(self, var76, var77); /* Direct call toolcontext#ToolContext#info on */ } { -{ /* Inline phase#Phase#toolcontext (var_phase63) on */ -var80 = var_phase63->attrs[COLOR_nit__phase__Phase___toolcontext].val; /* _toolcontext on */ -if (unlikely(var80 == NULL)) { +{ /* Inline phase#Phase#toolcontext (var_phase55) on */ +var62 = var_phase55->attrs[COLOR_nit__phase__Phase___toolcontext].val; /* _toolcontext on */ +if (unlikely(var62 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 201); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 200); +fatal_exit(1); } -var78 = var80; -RET_LABEL79:(void)0; +var60 = var62; +RET_LABEL61:(void)0; } } { -{ /* Inline kernel#Object#== (var78,self) on */ +{ /* Inline kernel#Object#== (var60,self) on */ var_other = self; { -{ /* Inline kernel#Object#is_same_instance (var78,var_other) on */ -var85 = var78 == var_other; -var83 = var85; -goto RET_LABEL84; -RET_LABEL84:(void)0; +{ /* Inline kernel#Object#is_same_instance (var60,var_other) on */ +var67 = var60 == var_other; +var65 = var67; +goto RET_LABEL66; +RET_LABEL66:(void)0; } } -var81 = var83; -goto RET_LABEL82; -RET_LABEL82:(void)0; +var63 = var65; +goto RET_LABEL64; +RET_LABEL64:(void)0; } } -if (unlikely(!var81)) { +if (unlikely(!var63)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 114); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 113); +fatal_exit(1); } { { /* Inline toolcontext#ToolContext#error_count (self) on */ -var88 = self->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on */ -var86 = var88; -RET_LABEL87:(void)0; +var70 = self->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on */ +var68 = var70; +RET_LABEL69:(void)0; } } -var_errcount = var86; +var_errcount = var68; { -((void (*)(val* self, val* p0))(var_phase63->class->vft[COLOR_nit__phase__Phase__process_nmodule]))(var_phase63, var_nmodule) /* process_nmodule on */; +((void(*)(val* self, val* p0))(var_phase55->class->vft[COLOR_nit__phase__Phase__process_nmodule]))(var_phase55, var_nmodule); /* process_nmodule on */ } { { /* Inline toolcontext#ToolContext#error_count (self) on */ -var91 = self->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on */ -var89 = var91; -RET_LABEL90:(void)0; +var73 = self->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on */ +var71 = var73; +RET_LABEL72:(void)0; } } { -{ /* Inline kernel#Int#!= (var_errcount,var89) on */ -var94 = var_errcount == var89; -var95 = !var94; -var92 = var95; -goto RET_LABEL93; -RET_LABEL93:(void)0; +{ /* Inline kernel#Int#!= (var_errcount,var71) on */ +var76 = var_errcount == var71; +var77 = !var76; +var74 = var77; +goto RET_LABEL75; +RET_LABEL75:(void)0; } } -if (var92){ +if (var74){ { -var96 = nit___nit__ToolContext___check_errors(self); +var78 = nit___nit__ToolContext___check_errors(self); } -goto BREAK_label97; } else { } { { /* Inline toolcontext#ToolContext#error_count (self) on */ -var100 = self->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on */ -var98 = var100; -RET_LABEL99:(void)0; +var81 = self->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on */ +var79 = var81; +RET_LABEL80:(void)0; } } -var_errcount = var98; +var_errcount = var79; { { /* Inline parser_nodes#AModule#n_classdefs (var_nmodule) on */ -var103 = var_nmodule->attrs[COLOR_nit__parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on */ -if (unlikely(var103 == NULL)) { +var84 = var_nmodule->attrs[COLOR_nit__parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on */ +if (unlikely(var84 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 919); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1096); +fatal_exit(1); } -var101 = var103; -RET_LABEL102:(void)0; +var82 = var84; +RET_LABEL83:(void)0; } } -var_104 = var101; +var_85 = var82; { -var105 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_104); +var86 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_85); } -var_106 = var105; +var_87 = var86; for(;;) { { -var107 = ((short int (*)(val* self))(var_106->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_106) /* is_ok on */; +var88 = ((short int(*)(val* self))((((long)var_87&3)?class_info[((long)var_87&3)]:var_87->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_87); /* is_ok on */ } -if (var107){ +if (var88){ { -var108 = ((val* (*)(val* self))(var_106->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_106) /* item on */; +var89 = ((val*(*)(val* self))((((long)var_87&3)?class_info[((long)var_87&3)]:var_87->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_87); /* item on */ } -var_nclassdef = var108; +var_nclassdef = var89; { -{ /* Inline phase#Phase#toolcontext (var_phase63) on */ -var111 = var_phase63->attrs[COLOR_nit__phase__Phase___toolcontext].val; /* _toolcontext on */ -if (unlikely(var111 == NULL)) { +{ /* Inline phase#Phase#toolcontext (var_phase55) on */ +var92 = var_phase55->attrs[COLOR_nit__phase__Phase___toolcontext].val; /* _toolcontext on */ +if (unlikely(var92 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 201); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 200); +fatal_exit(1); } -var109 = var111; -RET_LABEL110:(void)0; +var90 = var92; +RET_LABEL91:(void)0; } } { -{ /* Inline kernel#Object#== (var109,self) on */ +{ /* Inline kernel#Object#== (var90,self) on */ var_other = self; { -{ /* Inline kernel#Object#is_same_instance (var109,var_other) on */ -var116 = var109 == var_other; -var114 = var116; -goto RET_LABEL115; -RET_LABEL115:(void)0; +{ /* Inline kernel#Object#is_same_instance (var90,var_other) on */ +var97 = var90 == var_other; +var95 = var97; +goto RET_LABEL96; +RET_LABEL96:(void)0; } } -var112 = var114; -goto RET_LABEL113; -RET_LABEL113:(void)0; +var93 = var95; +goto RET_LABEL94; +RET_LABEL94:(void)0; } } -if (unlikely(!var112)) { +if (unlikely(!var93)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 123); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 121); +fatal_exit(1); } { -{ /* Inline phase#Phase#process_nclassdef (var_phase63,var_nclassdef) on */ -var_nclassdef118 = var_nclassdef; -RET_LABEL117:(void)0; -} +((void(*)(val* self, val* p0))(var_phase55->class->vft[COLOR_nit__phase__Phase__process_nclassdef]))(var_phase55, var_nclassdef); /* process_nclassdef on */ } { { /* Inline phase#ToolContext#semantize_is_lazy (self) on */ -var121 = self->attrs[COLOR_nit__phase__ToolContext___semantize_is_lazy].s; /* _semantize_is_lazy on */ -var119 = var121; -RET_LABEL120:(void)0; +var100 = self->attrs[COLOR_nit__phase__ToolContext___semantize_is_lazy].s; /* _semantize_is_lazy on */ +var98 = var100; +RET_LABEL99:(void)0; } } -var122 = !var119; -if (var122){ +var101 = !var98; +if (var101){ { { /* Inline parser_nodes#AClassdef#n_propdefs (var_nclassdef) on */ -var125 = var_nclassdef->attrs[COLOR_nit__parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ -if (unlikely(var125 == NULL)) { +var104 = var_nclassdef->attrs[COLOR_nit__parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ +if (unlikely(var104 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1012); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1189); +fatal_exit(1); } -var123 = var125; -RET_LABEL124:(void)0; +var102 = var104; +RET_LABEL103:(void)0; } } -var_126 = var123; +var_105 = var102; { -var127 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_126); +var106 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_105); } -var_128 = var127; +var_107 = var106; for(;;) { { -var129 = ((short int (*)(val* self))(var_128->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_128) /* is_ok on */; +var108 = ((short int(*)(val* self))((((long)var_107&3)?class_info[((long)var_107&3)]:var_107->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_107); /* is_ok on */ } -if (var129){ +if (var108){ { -var130 = ((val* (*)(val* self))(var_128->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_128) /* item on */; +var109 = ((val*(*)(val* self))((((long)var_107&3)?class_info[((long)var_107&3)]:var_107->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_107); /* item on */ } -var_npropdef = var130; +var_npropdef = var109; { -{ /* Inline phase#Phase#toolcontext (var_phase63) on */ -var133 = var_phase63->attrs[COLOR_nit__phase__Phase___toolcontext].val; /* _toolcontext on */ -if (unlikely(var133 == NULL)) { +{ /* Inline phase#Phase#toolcontext (var_phase55) on */ +var112 = var_phase55->attrs[COLOR_nit__phase__Phase___toolcontext].val; /* _toolcontext on */ +if (unlikely(var112 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 201); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 200); +fatal_exit(1); } -var131 = var133; -RET_LABEL132:(void)0; +var110 = var112; +RET_LABEL111:(void)0; } } { -{ /* Inline kernel#Object#== (var131,self) on */ +{ /* Inline kernel#Object#== (var110,self) on */ var_other = self; { -{ /* Inline kernel#Object#is_same_instance (var131,var_other) on */ -var138 = var131 == var_other; -var136 = var138; -goto RET_LABEL137; -RET_LABEL137:(void)0; +{ /* Inline kernel#Object#is_same_instance (var110,var_other) on */ +var117 = var110 == var_other; +var115 = var117; +goto RET_LABEL116; +RET_LABEL116:(void)0; } } -var134 = var136; -goto RET_LABEL135; -RET_LABEL135:(void)0; +var113 = var115; +goto RET_LABEL114; +RET_LABEL114:(void)0; } } -if (unlikely(!var134)) { +if (unlikely(!var113)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 126); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 124); +fatal_exit(1); } { -nit__phase___ToolContext___phase_process_npropdef(self, var_phase63, var_npropdef); /* Direct call phase#ToolContext#phase_process_npropdef on */ +nit__phase___ToolContext___phase_process_npropdef(self, var_phase55, var_npropdef); /* Direct call phase#ToolContext#phase_process_npropdef on */ } { -((void (*)(val* self))(var_128->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_128) /* next on */; +((void(*)(val* self))((((long)var_107&3)?class_info[((long)var_107&3)]:var_107->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_107); /* next on */ } } else { -goto BREAK_label139; +goto BREAK_label118; } } -BREAK_label139: (void)0; +BREAK_label118: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_128) on */ -RET_LABEL140:(void)0; -} +((void(*)(val* self))((((long)var_107&3)?class_info[((long)var_107&3)]:var_107->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_107); /* finish on */ } } else { } { -((void (*)(val* self))(var_106->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_106) /* next on */; +((void(*)(val* self))((((long)var_87&3)?class_info[((long)var_87&3)]:var_87->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_87); /* next on */ } } else { -goto BREAK_label141; +goto BREAK_label119; } } -BREAK_label141: (void)0; +BREAK_label119: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_106) on */ -RET_LABEL142:(void)0; -} +((void(*)(val* self))((((long)var_87&3)?class_info[((long)var_87&3)]:var_87->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_87); /* finish on */ } { { /* Inline toolcontext#ToolContext#error_count (self) on */ -var145 = self->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on */ -var143 = var145; -RET_LABEL144:(void)0; +var122 = self->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on */ +var120 = var122; +RET_LABEL121:(void)0; } } { -{ /* Inline kernel#Int#!= (var_errcount,var143) on */ -var148 = var_errcount == var143; -var149 = !var148; -var146 = var149; -goto RET_LABEL147; -RET_LABEL147:(void)0; +{ /* Inline kernel#Int#!= (var_errcount,var120) on */ +var125 = var_errcount == var120; +var126 = !var125; +var123 = var126; +goto RET_LABEL124; +RET_LABEL124:(void)0; } } -if (var146){ +if (var123){ { -var150 = nit___nit__ToolContext___check_errors(self); +var127 = nit___nit__ToolContext___check_errors(self); } -goto BREAK_label97; } else { } { { /* Inline phase#AnnotationPhaseVisitor#annotations (var_vannot) on */ -var153 = var_vannot->attrs[COLOR_nit__phase__AnnotationPhaseVisitor___annotations].val; /* _annotations on */ -if (unlikely(var153 == NULL)) { +var130 = var_vannot->attrs[COLOR_nit__phase__AnnotationPhaseVisitor___annotations].val; /* _annotations on */ +if (unlikely(var130 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _annotations"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 188); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 187); +fatal_exit(1); } -var151 = var153; -RET_LABEL152:(void)0; +var128 = var130; +RET_LABEL129:(void)0; } } -var_154 = var151; +var_131 = var128; { -var155 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_154); +var132 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_131); } -var_156 = var155; +var_133 = var132; for(;;) { { -var157 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_156); +var134 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_133); } -if (var157){ +if (var134){ { -var158 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_156); +var135 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_133); } -var_na = var158; +var_na = var135; { { /* Inline parser_nodes#ANode#parent (var_na) on */ -var161 = var_na->attrs[COLOR_nit__parser_nodes__ANode___parent].val; /* _parent on */ -var159 = var161; -RET_LABEL160:(void)0; +var138 = var_na->attrs[COLOR_nit__parser_nodes__ANode___parent].val; /* _parent on */ +var136 = var138; +RET_LABEL137:(void)0; } } -if (var159 == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 135); -show_backtrace(1); +var_p = var136; +/* isa AAnnotations */ +cltype = type_nit__AAnnotations.color; +idtype = type_nit__AAnnotations.id; +if(var_p == NULL) { +var139 = 0; } else { -{ /* Inline parser_nodes#ANode#parent (var159) on */ -if (unlikely(var159 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36); -show_backtrace(1); +if(cltype >= var_p->type->table_size) { +var139 = 0; +} else { +var139 = var_p->type->type_table[cltype] == idtype; +} +} +if (var139){ +{ +{ /* Inline parser_nodes#ANode#parent (var_p) on */ +var142 = var_p->attrs[COLOR_nit__parser_nodes__ANode___parent].val; /* _parent on */ +var140 = var142; +RET_LABEL141:(void)0; } -var164 = var159->attrs[COLOR_nit__parser_nodes__ANode___parent].val; /* _parent on */ -var162 = var164; -RET_LABEL163:(void)0; } +var_p = var140; +} else { } -if (unlikely(var162 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 135); -show_backtrace(1); +if (var_p == NULL) { +var143 = 0; /* is null */ +} else { +var143 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_p,((val*)NULL)) on */ +var_other146 = ((val*)NULL); { -((void (*)(val* self, val* p0, val* p1))(var_phase63->class->vft[COLOR_nit__phase__Phase__process_annotated_node]))(var_phase63, var162, var_na) /* process_annotated_node on */; +var147 = ((short int(*)(val* self, val* p0))(var_p->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_p, var_other146); /* == on */ +} +var148 = !var147; +var144 = var148; +goto RET_LABEL145; +RET_LABEL145:(void)0; +} +var143 = var144; +} +if (unlikely(!var143)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 134); +fatal_exit(1); } { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_156); /* Direct call array#ArrayIterator#next on */ +((void(*)(val* self, val* p0, val* p1))(var_phase55->class->vft[COLOR_nit__phase__Phase__process_annotated_node]))(var_phase55, var_p, var_na); /* process_annotated_node on */ +} +{ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_133); /* Direct call array#ArrayIterator#next on */ } } else { -goto BREAK_label165; +goto BREAK_label149; } } -BREAK_label165: (void)0; +BREAK_label149: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_156) on */ -RET_LABEL166:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_133); /* Direct call array#ArrayIterator#finish on */ } { { /* Inline toolcontext#ToolContext#error_count (self) on */ -var169 = self->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on */ -var167 = var169; -RET_LABEL168:(void)0; +var152 = self->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on */ +var150 = var152; +RET_LABEL151:(void)0; } } { -{ /* Inline kernel#Int#!= (var_errcount,var167) on */ -var172 = var_errcount == var167; -var173 = !var172; -var170 = var173; -goto RET_LABEL171; -RET_LABEL171:(void)0; +{ /* Inline kernel#Int#!= (var_errcount,var150) on */ +var155 = var_errcount == var150; +var156 = !var155; +var153 = var156; +goto RET_LABEL154; +RET_LABEL154:(void)0; } } -if (var170){ +if (var153){ { -var174 = nit___nit__ToolContext___check_errors(self); +var157 = nit___nit__ToolContext___check_errors(self); } -goto BREAK_label97; } else { } -BREAK_label67: (void)0; +BREAK_label59: (void)0; { -((void (*)(val* self))(var_60->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_60) /* next on */; +((void(*)(val* self))((((long)var_52&3)?class_info[((long)var_52&3)]:var_52->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_52); /* next on */ } } else { -goto BREAK_label97; +goto BREAK_label158; } } -BREAK_label97: (void)0; +BREAK_label158: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_60) on */ -RET_LABEL175:(void)0; -} +((void(*)(val* self))((((long)var_52&3)?class_info[((long)var_52&3)]:var_52->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_52); /* finish on */ } { -var176 = nit___nit__ToolContext___check_errors(self); +var159 = nit___nit__ToolContext___check_errors(self); } -BREAK_label33: (void)0; +BREAK_label28: (void)0; { -((void (*)(val* self))(var_26->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_26) /* next on */; +((void(*)(val* self))((((long)var_21&3)?class_info[((long)var_21&3)]:var_21->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_21); /* next on */ } } else { -goto BREAK_label177; +goto BREAK_label160; } } -BREAK_label177: (void)0; +BREAK_label160: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_26) on */ -RET_LABEL178:(void)0; -} +((void(*)(val* self))((((long)var_21&3)?class_info[((long)var_21&3)]:var_21->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_21); /* finish on */ } { { /* Inline time#Object#get_time (self) on */ -var181 = kernel_Any_Any_get_time_0(self); -var179 = var181; -goto RET_LABEL180; -RET_LABEL180:(void)0; +var163 = kernel_Any_Any_get_time_0(self); +var161 = var163; +goto RET_LABEL162; +RET_LABEL162:(void)0; +} +} +var_time1 = var161; +if (unlikely(varonce164==NULL)) { +var165 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce166!=NULL)) { +var167 = varonce166; +} else { +var168 = "*** END SEMANTIC ANALYSIS: "; +var169 = standard___standard__NativeString___to_s_with_length(var168, 27l); +var167 = var169; +varonce166 = var167; } +((struct instance_standard__NativeArray*)var165)->values[0]=var167; +if (likely(varonce170!=NULL)) { +var171 = varonce170; +} else { +var172 = " ***"; +var173 = standard___standard__NativeString___to_s_with_length(var172, 4l); +var171 = var173; +varonce170 = var171; } -var_time1 = var179; -if (varonce182) { -var183 = varonce182; +((struct instance_standard__NativeArray*)var165)->values[2]=var171; } else { -var184 = "*** END SEMANTIC ANALYSIS: "; -var185 = 27; -var186 = standard___standard__NativeString___to_s_with_length(var184, var185); -var183 = var186; -varonce182 = var183; +var165 = varonce164; +varonce164 = NULL; } { { /* Inline kernel#Int#- (var_time1,var_time0) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var189 = 1; /* easy isa OTHER*/ -if (unlikely(!var189)) { +var176 = 1; /* easy isa OTHER*/ +if (unlikely(!var176)) { var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416); -show_backtrace(1); -} -var190 = var_time1 - var_time0; -var187 = var190; -goto RET_LABEL188; -RET_LABEL188:(void)0; -} +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540); +fatal_exit(1); } -if (varonce191) { -var192 = varonce191; -} else { -var193 = " ***"; -var194 = 4; -var195 = standard___standard__NativeString___to_s_with_length(var193, var194); -var192 = var195; -varonce191 = var192; -} -var196 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var196 = array_instance Array[Object] */ -var197 = 3; -var198 = NEW_standard__NativeArray(var197, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var198)->values[0] = (val*) var183; -var199 = BOX_standard__Int(var187); /* autobox from Int to Object */ -((struct instance_standard__NativeArray*)var198)->values[1] = (val*) var199; -((struct instance_standard__NativeArray*)var198)->values[2] = (val*) var192; -{ -((void (*)(val* self, val* p0, long p1))(var196->class->vft[COLOR_standard__array__Array__with_native]))(var196, var198, var197) /* with_native on */; +var179 = var_time1 - var_time0; +var174 = var179; +goto RET_LABEL175; +RET_LABEL175:(void)0; } } +var180 = standard__string___Int___Object__to_s(var174); +((struct instance_standard__NativeArray*)var165)->values[1]=var180; { -var200 = ((val* (*)(val* self))(var196->class->vft[COLOR_standard__string__Object__to_s]))(var196) /* to_s on */; +var181 = ((val*(*)(val* self))(var165->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var165); /* native_to_s on */ } -var201 = 2; +varonce164 = var165; { -nit___nit__ToolContext___info(self, var200, var201); /* Direct call toolcontext#ToolContext#info on */ +nit___nit__ToolContext___info(self, var181, 2l); /* Direct call toolcontext#ToolContext#info on */ } { -nit___nit__ToolContext___errors_info(self); /* Direct call toolcontext#ToolContext#errors_info on */ +var182 = nit___nit__ToolContext___check_errors(self); } RET_LABEL:; } @@ -1496,7 +1431,7 @@ val* var_npropdef /* var npropdef: APropdef */; var_phase = p0; var_npropdef = p1; { -((void (*)(val* self, val* p0))(var_phase->class->vft[COLOR_nit__phase__Phase__process_npropdef]))(var_phase, var_npropdef) /* process_npropdef on */; +((void(*)(val* self, val* p0))(var_phase->class->vft[COLOR_nit__phase__Phase__process_npropdef]))(var_phase, var_npropdef); /* process_npropdef on */ } RET_LABEL:; } @@ -1508,24 +1443,23 @@ short int var2 /* : Bool */; short int var3 /* : Bool */; short int var4 /* : Bool */; short int var6 /* : Bool */; -short int var7 /* : Bool */; -val* var9 /* : Sequence[Phase] */; +val* var8 /* : Sequence[Phase] */; val* var_phases /* var phases: Sequence[Phase] */; val* var_ /* var : Sequence[Phase] */; -val* var10 /* : Iterator[nullable Object] */; -val* var_11 /* var : IndexedIterator[Phase] */; -short int var12 /* : Bool */; -val* var13 /* : nullable Object */; +val* var9 /* : Iterator[nullable Object] */; +val* var_10 /* var : IndexedIterator[Phase] */; +short int var11 /* : Bool */; +val* var12 /* : nullable Object */; val* var_phase /* var phase: Phase */; -short int var14 /* : Bool */; -short int var16 /* : Bool */; -val* var17 /* : ToolContext */; -val* var19 /* : ToolContext */; -short int var20 /* : Bool */; +short int var13 /* : Bool */; +short int var15 /* : Bool */; +val* var16 /* : ToolContext */; +val* var18 /* : ToolContext */; +short int var19 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var22 /* : Bool */; +short int var21 /* : Bool */; +short int var23 /* : Bool */; short int var24 /* : Bool */; -short int var25 /* : Bool */; var_npropdef = p0; { { /* Inline phase#ToolContext#semantize_is_lazy (self) on */ @@ -1550,94 +1484,91 @@ if (var4){ goto RET_LABEL; } else { } -var7 = 1; { -{ /* Inline phase#APropdef#is_phased= (var_npropdef,var7) on */ -var_npropdef->attrs[COLOR_nit__phase__APropdef___is_phased].s = var7; /* _is_phased on */ -RET_LABEL8:(void)0; +{ /* Inline phase#APropdef#is_phased= (var_npropdef,1) on */ +var_npropdef->attrs[COLOR_nit__phase__APropdef___is_phased].s = 1; /* _is_phased on */ +RET_LABEL7:(void)0; } } { -var9 = nit__phase___ToolContext___phases_list(self); +var8 = nit__phase___ToolContext___phases_list(self); } -var_phases = var9; +var_phases = var8; var_ = var_phases; { -var10 = ((val* (*)(val* self))(var_->class->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_) /* iterator on */; +var9 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_); /* iterator on */ } -var_11 = var10; +var_10 = var9; for(;;) { { -var12 = ((short int (*)(val* self))(var_11->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_11) /* is_ok on */; +var11 = ((short int(*)(val* self))((((long)var_10&3)?class_info[((long)var_10&3)]:var_10->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_10); /* is_ok on */ } -if (var12){ +if (var11){ { -var13 = ((val* (*)(val* self))(var_11->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_11) /* item on */; +var12 = ((val*(*)(val* self))((((long)var_10&3)?class_info[((long)var_10&3)]:var_10->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_10); /* item on */ } -var_phase = var13; +var_phase = var12; { { /* Inline phase#Phase#disabled (var_phase) on */ -var16 = var_phase->attrs[COLOR_nit__phase__Phase___disabled].s; /* _disabled on */ -var14 = var16; -RET_LABEL15:(void)0; +var15 = var_phase->attrs[COLOR_nit__phase__Phase___disabled].s; /* _disabled on */ +var13 = var15; +RET_LABEL14:(void)0; } } -if (var14){ +if (var13){ goto BREAK_label; } else { } { { /* Inline phase#Phase#toolcontext (var_phase) on */ -var19 = var_phase->attrs[COLOR_nit__phase__Phase___toolcontext].val; /* _toolcontext on */ -if (unlikely(var19 == NULL)) { +var18 = var_phase->attrs[COLOR_nit__phase__Phase___toolcontext].val; /* _toolcontext on */ +if (unlikely(var18 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 201); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 200); +fatal_exit(1); } -var17 = var19; -RET_LABEL18:(void)0; +var16 = var18; +RET_LABEL17:(void)0; } } { -{ /* Inline kernel#Object#== (var17,self) on */ +{ /* Inline kernel#Object#== (var16,self) on */ var_other = self; { -{ /* Inline kernel#Object#is_same_instance (var17,var_other) on */ -var24 = var17 == var_other; -var22 = var24; -goto RET_LABEL23; -RET_LABEL23:(void)0; +{ /* Inline kernel#Object#is_same_instance (var16,var_other) on */ +var23 = var16 == var_other; +var21 = var23; +goto RET_LABEL22; +RET_LABEL22:(void)0; } } -var20 = var22; -goto RET_LABEL21; -RET_LABEL21:(void)0; +var19 = var21; +goto RET_LABEL20; +RET_LABEL20:(void)0; } } -if (unlikely(!var20)) { +if (unlikely(!var19)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 171); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 170); +fatal_exit(1); } { nit__phase___ToolContext___phase_process_npropdef(self, var_phase, var_npropdef); /* Direct call phase#ToolContext#phase_process_npropdef on */ } { -var25 = nit___nit__ToolContext___check_errors(self); +var24 = nit___nit__ToolContext___check_errors(self); } BREAK_label: (void)0; { -((void (*)(val* self))(var_11->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_11) /* next on */; +((void(*)(val* self))((((long)var_10&3)?class_info[((long)var_10&3)]:var_10->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_10); /* next on */ } } else { -goto BREAK_label26; +goto BREAK_label25; } } -BREAK_label26: (void)0; +BREAK_label25: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_11) on */ -RET_LABEL27:(void)0; -} +((void(*)(val* self))((((long)var_10&3)?class_info[((long)var_10&3)]:var_10->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_10); /* finish on */ } RET_LABEL:; } @@ -1662,8 +1593,8 @@ val* var1 /* : Array[AAnnotation] */; var1 = self->attrs[COLOR_nit__phase__AnnotationPhaseVisitor___annotations].val; /* _annotations on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _annotations"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 188); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 187); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -1679,7 +1610,7 @@ val* var1 /* : Array[AAnnotation] */; val* var3 /* : Array[AAnnotation] */; var_n = p0; { -((void (*)(val* self, val* p0))(var_n->class->vft[COLOR_nit__parser_nodes__ANode__visit_all]))(var_n, self) /* visit_all on */; +((void(*)(val* self, val* p0))(var_n->class->vft[COLOR_nit__parser_nodes__ANode__visit_all]))(var_n, self); /* visit_all on */ } /* isa AAnnotation */ cltype = type_nit__AAnnotation.color; @@ -1695,8 +1626,8 @@ if (var){ var3 = self->attrs[COLOR_nit__phase__AnnotationPhaseVisitor___annotations].val; /* _annotations on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _annotations"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 188); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 187); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; @@ -1716,8 +1647,8 @@ val* var1 /* : ToolContext */; var1 = self->attrs[COLOR_nit__phase__Phase___toolcontext].val; /* _toolcontext on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 201); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 200); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -1735,8 +1666,8 @@ val* var1 /* : POSetElement[Phase] */; var1 = self->attrs[COLOR_nit__phase__Phase___in_hierarchy].val; /* _in_hierarchy on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_hierarchy"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 204); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 203); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -1771,29 +1702,28 @@ val* var6 /* : POSetElement[nullable Object] */; val* var8 /* : nullable Collection[Phase] */; val* var10 /* : nullable Collection[Phase] */; val* var_depends /* var depends: nullable Collection[Phase] */; -val* var11 /* : null */; +short int var11 /* : Bool */; short int var12 /* : Bool */; -short int var13 /* : Bool */; val* var_other /* var other: nullable Object */; +short int var14 /* : Bool */; short int var15 /* : Bool */; -short int var16 /* : Bool */; val* var_ /* var : Collection[Phase] */; -val* var17 /* : Iterator[nullable Object] */; -val* var_18 /* var : Iterator[Phase] */; -short int var19 /* : Bool */; -val* var20 /* : nullable Object */; +val* var16 /* : Iterator[nullable Object] */; +val* var_17 /* var : Iterator[Phase] */; +short int var18 /* : Bool */; +val* var19 /* : nullable Object */; val* var_d /* var d: Phase */; -val* var21 /* : ToolContext */; -val* var23 /* : ToolContext */; -val* var24 /* : POSet[Phase] */; -val* var26 /* : POSet[Phase] */; +val* var20 /* : ToolContext */; +val* var22 /* : ToolContext */; +val* var23 /* : POSet[Phase] */; +val* var25 /* : POSet[Phase] */; { { /* Inline phase#Phase#toolcontext (self) on */ var2 = self->attrs[COLOR_nit__phase__Phase___toolcontext].val; /* _toolcontext on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 201); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 200); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -1805,7 +1735,7 @@ var5 = var->attrs[COLOR_nit__phase__ToolContext___phases].val; /* _phases on */ -var_other = var11; +{ /* Inline kernel#Object#!= (var_depends,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var15 = ((short int (*)(val* self, val* p0))(var_depends->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_depends, var_other) /* == on */; +var14 = ((short int(*)(val* self, val* p0))((((long)var_depends&3)?class_info[((long)var_depends&3)]:var_depends->class)->vft[COLOR_standard__kernel__Object___61d_61d]))(var_depends, var_other); /* == on */ } -var16 = !var15; -var13 = var16; -goto RET_LABEL14; -RET_LABEL14:(void)0; +var15 = !var14; +var12 = var15; +goto RET_LABEL13; +RET_LABEL13:(void)0; } -var12 = var13; +var11 = var12; } -if (var12){ +if (var11){ var_ = var_depends; { -var17 = ((val* (*)(val* self))(var_->class->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_) /* iterator on */; +var16 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_); /* iterator on */ } -var_18 = var17; +var_17 = var16; for(;;) { { -var19 = ((short int (*)(val* self))(var_18->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_18) /* is_ok on */; +var18 = ((short int(*)(val* self))((((long)var_17&3)?class_info[((long)var_17&3)]:var_17->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_17); /* is_ok on */ } -if (var19){ +if (var18){ { -var20 = ((val* (*)(val* self))(var_18->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_18) /* item on */; +var19 = ((val*(*)(val* self))((((long)var_17&3)?class_info[((long)var_17&3)]:var_17->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_17); /* item on */ } -var_d = var20; +var_d = var19; { { /* Inline phase#Phase#toolcontext (self) on */ -var23 = self->attrs[COLOR_nit__phase__Phase___toolcontext].val; /* _toolcontext on */ -if (unlikely(var23 == NULL)) { +var22 = self->attrs[COLOR_nit__phase__Phase___toolcontext].val; /* _toolcontext on */ +if (unlikely(var22 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 201); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 200); +fatal_exit(1); } -var21 = var23; -RET_LABEL22:(void)0; +var20 = var22; +RET_LABEL21:(void)0; } } { -{ /* Inline phase#ToolContext#phases (var21) on */ -var26 = var21->attrs[COLOR_nit__phase__ToolContext___phases].val; /* _phases on */ -if (unlikely(var26 == NULL)) { +{ /* Inline phase#ToolContext#phases (var20) on */ +var25 = var20->attrs[COLOR_nit__phase__ToolContext___phases].val; /* _phases on */ +if (unlikely(var25 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _phases"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 23); -show_backtrace(1); +fatal_exit(1); } -var24 = var26; -RET_LABEL25:(void)0; +var23 = var25; +RET_LABEL24:(void)0; } } { -poset___poset__POSet___add_edge(var24, 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))(var_18->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_18) /* next on */; +((void(*)(val* self))((((long)var_17&3)?class_info[((long)var_17&3)]:var_17->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_17); /* next on */ } } else { goto BREAK_label; @@ -1898,9 +1827,7 @@ goto BREAK_label; } BREAK_label: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_18) on */ -RET_LABEL27:(void)0; -} +((void(*)(val* self))((((long)var_17&3)?class_info[((long)var_17&3)]:var_17->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_17); /* finish on */ } } else { } @@ -1913,29 +1840,27 @@ val* var1 /* : String */; static val* varonce; val* var2 /* : String */; char* var3 /* : NativeString */; -long var4 /* : Int */; -val* var5 /* : FlatString */; +val* var4 /* : FlatString */; +val* var5 /* : String */; val* var6 /* : String */; -val* var7 /* : String */; { var1 = standard__string___Object___class_name(self); } -if (varonce) { +if (likely(varonce!=NULL)) { var2 = varonce; } else { var3 = "Phase"; -var4 = 5; -var5 = standard___standard__NativeString___to_s_with_length(var3, var4); -var2 = var5; +var4 = standard___standard__NativeString___to_s_with_length(var3, 5l); +var2 = var4; varonce = var2; } { -var6 = standard__file___String___strip_extension(var1, var2); +var5 = standard__file___String___strip_extension(var1, var2); } { -var7 = ((val* (*)(val* self))(var6->class->vft[COLOR_standard__string__String__to_lower]))(var6) /* to_lower on */; +var6 = standard___standard__String___to_snake_case(var5); } -var = var7; +var = var6; goto RET_LABEL; RET_LABEL:; return var;