X-Git-Url: http://nitlanguage.org diff --git a/c_src/nit__model.sep.2.c b/c_src/nit__model.sep.2.c index 8a159af..3628c3f 100644 --- a/c_src/nit__model.sep.2.c +++ b/c_src/nit__model.sep.2.c @@ -1,1376 +1,2368 @@ #include "nit__model.sep.0.h" -/* method model#MParameterType#resolve_for for (self: MParameterType, MType, nullable MClassType, MModule, Bool): MType */ -val* nit___nit__MParameterType___MType__resolve_for(val* self, val* p0, val* p1, val* p2, short int p3) { +/* method model#MParameterType#c_name for (self: MParameterType): String */ +val* nit___nit__MParameterType___nit__model_base__MEntity__c_name(val* self) { +val* var /* : String */; +short int var1 /* : Bool */; +val* var2 /* : String */; +val* var3 /* : String */; +val* var5 /* : MClass */; +val* var7 /* : MClass */; +val* var8 /* : String */; +static val* varonce; +val* var9 /* : String */; +char* var10 /* : NativeString */; +val* var11 /* : FlatString */; +val* var12 /* : String */; +val* var14 /* : NativeArray[String] */; +static val* varonce13; +static val* varonce15; +val* var16 /* : String */; +char* var17 /* : NativeString */; +val* var18 /* : FlatString */; +val* var19 /* : String */; +val* var21 /* : String */; +val* var22 /* : String */; +val* var23 /* : String */; +val* var24 /* : String */; +var1 = self->attrs[COLOR_nit__model__MParameterType___c_name].val != NULL; /* _c_name on */ +if(likely(var1)) { +var2 = self->attrs[COLOR_nit__model__MParameterType___c_name].val; /* _c_name on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _c_name"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1487); +fatal_exit(1); +} +} else { +{ +{ +{ /* Inline model#MParameterType#mclass (self) on */ +var7 = self->attrs[COLOR_nit__model__MParameterType___mclass].val; /* _mclass on */ +if (unlikely(var7 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1472); +fatal_exit(1); +} +var5 = var7; +RET_LABEL6:(void)0; +} +} +{ +var8 = nit___nit__MClass___nit__model_base__MEntity__c_name(var5); +} +if (likely(varonce!=NULL)) { +var9 = varonce; +} else { +var10 = "__"; +var11 = standard___standard__NativeString___to_s_with_length(var10, 2l); +var9 = var11; +varonce = var9; +} +{ +var12 = ((val*(*)(val* self, val* p0))(var8->class->vft[COLOR_standard__string__String___43d]))(var8, var9); /* + on */ +} +if (unlikely(varonce13==NULL)) { +var14 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String); +if (likely(varonce15!=NULL)) { +var16 = varonce15; +} else { +var17 = "#"; +var18 = standard___standard__NativeString___to_s_with_length(var17, 1l); +var16 = var18; +varonce15 = var16; +} +((struct instance_standard__NativeArray*)var14)->values[0]=var16; +} else { +var14 = varonce13; +varonce13 = NULL; +} +{ +{ /* Inline model#MParameterType#name (self) on */ +var21 = self->attrs[COLOR_nit__model__MParameterType___name].val; /* _name on */ +if (unlikely(var21 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1481); +fatal_exit(1); +} +var19 = var21; +RET_LABEL20:(void)0; +} +} +((struct instance_standard__NativeArray*)var14)->values[1]=var19; +{ +var22 = ((val*(*)(val* self))(var14->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var14); /* native_to_s on */ +} +varonce13 = var14; +{ +var23 = standard___standard__Text___to_cmangle(var22); +} +{ +var24 = ((val*(*)(val* self, val* p0))(var12->class->vft[COLOR_standard__string__String___43d]))(var12, var23); /* + on */ +} +var3 = var24; +goto RET_LABEL4; +RET_LABEL4:(void)0; +} +self->attrs[COLOR_nit__model__MParameterType___c_name].val = var3; /* _c_name on */ +var2 = var3; +} +var = var2; +RET_LABEL:; +return var; +} +/* method model#MParameterType#lookup_bound for (self: MParameterType, MModule, MType): MType */ +val* nit___nit__MParameterType___MType__lookup_bound(val* self, val* p0, val* p1) { val* var /* : MType */; -val* var_mtype /* var mtype: MType */; -val* var_anchor /* var anchor: nullable MClassType */; val* var_mmodule /* var mmodule: MModule */; -short int var_cleanup_virtual /* var cleanup_virtual: Bool */; +val* var_resolved_receiver /* var resolved_receiver: MType */; short int var1 /* : Bool */; short int var2 /* : Bool */; -short int var3 /* : Bool */; +val* var3 /* : MType */; +short int var4 /* : Bool */; int cltype; int idtype; -short int var_ /* var : Bool */; -val* var4 /* : MClass */; -val* var6 /* : MClass */; +val* var5 /* : MClass */; val* var7 /* : MClass */; -val* var9 /* : MClass */; -short int var10 /* : Bool */; +val* var_goalclass /* var goalclass: MClass */; +val* var8 /* : MClass */; +val* var10 /* : MClass */; +short int var11 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var12 /* : Bool */; -short int var14 /* : Bool */; -val* var15 /* : Array[MType] */; -val* var17 /* : Array[MType] */; -long var18 /* : Int */; -long var20 /* : Int */; -val* var21 /* : nullable Object */; -val* var_res /* var res: MType */; -short int var22 /* : Bool */; -val* var23 /* : null */; +short int var13 /* : Bool */; +short int var15 /* : Bool */; +val* var16 /* : Array[MType] */; +long var17 /* : Int */; +long var19 /* : Int */; +val* var20 /* : nullable Object */; +val* var21 /* : Set[MClassType] */; +val* var_supertypes /* var supertypes: Set[MClassType] */; +val* var_ /* var : Set[MClassType] */; +val* var22 /* : Iterator[nullable Object] */; +val* var_23 /* var : Iterator[MClassType] */; short int var24 /* : Bool */; -short int var25 /* : Bool */; -val* var_other27 /* var other: nullable Object */; -short int var28 /* : Bool */; +val* var25 /* : nullable Object */; +val* var_t /* var t: MClassType */; +val* var26 /* : MClass */; +val* var28 /* : MClass */; short int var29 /* : Bool */; -short int var_30 /* var : Bool */; short int var31 /* : Bool */; -val* var32 /* : MType */; -val* var_r2 /* var r2: MType */; short int var33 /* : Bool */; -short int var34 /* : Bool */; -int cltype35; -int idtype36; -short int var_37 /* var : Bool */; -val* var38 /* : MClass */; -val* var40 /* : MClass */; -val* var41 /* : MClassKind */; -val* var43 /* : MClassKind */; -val* var44 /* : MClassKind */; -short int var45 /* : Bool */; -short int var47 /* : Bool */; -short int var49 /* : Bool */; -short int var50 /* : Bool */; -val* var51 /* : null */; -short int var52 /* : Bool */; -short int var53 /* : Bool */; -short int var55 /* : Bool */; -short int var56 /* : Bool */; -val* var57 /* : MClass */; -val* var59 /* : MClass */; -val* var60 /* : MClassType */; -val* var62 /* : MClassType */; -short int var63 /* : Bool */; -val* var64 /* : MType */; -val* var_resolved_receiver /* var resolved_receiver: nullable Object */; -short int var65 /* : Bool */; -int cltype66; -int idtype67; -val* var68 /* : MType */; -val* var70 /* : MType */; -short int var71 /* : Bool */; -int cltype72; -int idtype73; -val* var74 /* : MClass */; -val* var76 /* : MClass */; -val* var77 /* : MClass */; -val* var79 /* : MClass */; -short int var80 /* : Bool */; -short int var82 /* : Bool */; -short int var84 /* : Bool */; -val* var85 /* : Array[MType] */; -long var86 /* : Int */; -long var88 /* : Int */; -val* var89 /* : nullable Object */; -short int var90 /* : Bool */; -int cltype91; -int idtype92; -val* var93 /* : MType */; -val* var95 /* : MType */; -short int var96 /* : Bool */; -int cltype97; -int idtype98; -val* var99 /* : MClass */; -val* var101 /* : MClass */; -val* var102 /* : MClass */; -val* var104 /* : MClass */; -short int var105 /* : Bool */; -short int var107 /* : Bool */; -short int var109 /* : Bool */; -val* var110 /* : Array[MType] */; -long var111 /* : Int */; -long var113 /* : Int */; -val* var114 /* : nullable Object */; -val* var_res115 /* var res: MType */; -short int var116 /* : Bool */; -val* var117 /* : null */; -short int var118 /* : Bool */; -short int var119 /* : Bool */; -short int var121 /* : Bool */; -short int var122 /* : Bool */; -val* var123 /* : null */; -short int var124 /* : Bool */; -val* var125 /* : MType */; -val* var126 /* : MType */; -val* var_verbatim_bound /* var verbatim_bound: MType */; -val* var127 /* : MType */; -val* var_res128 /* var res: MType */; -var_mtype = p0; -var_anchor = p1; -var_mmodule = p2; -var_cleanup_virtual = p3; +val* var34 /* : Array[MType] */; +long var35 /* : Int */; +long var37 /* : Int */; +val* var38 /* : nullable Object */; +val* var_res /* var res: MType */; +var_mmodule = p0; +var_resolved_receiver = p1; { -var1 = nit___nit__MParameterType___MType__can_resolve_for(self, var_mtype, var_anchor, var_mmodule); +var1 = ((short int(*)(val* self))(var_resolved_receiver->class->vft[COLOR_nit__model__MType__need_anchor]))(var_resolved_receiver); /* need_anchor on */ } -if (unlikely(!var1)) { +var2 = !var1; +if (unlikely(!var2)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1438); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1491); +fatal_exit(1); } -/* isa MGenericType */ -cltype = type_nit__MGenericType.color; -idtype = type_nit__MGenericType.id; -if(cltype >= var_mtype->type->table_size) { -var3 = 0; +{ +var3 = ((val*(*)(val* self))(var_resolved_receiver->class->vft[COLOR_nit__model__MType__undecorate]))(var_resolved_receiver); /* undecorate on */ +} +var_resolved_receiver = var3; +/* isa MClassType */ +cltype = type_nit__MClassType.color; +idtype = type_nit__MClassType.id; +if(cltype >= var_resolved_receiver->type->table_size) { +var4 = 0; } else { -var3 = var_mtype->type->type_table[cltype] == idtype; +var4 = var_resolved_receiver->type->type_table[cltype] == idtype; +} +if (unlikely(!var4)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1493); +fatal_exit(1); } -var_ = var3; -if (var3){ { -{ /* Inline model#MClassType#mclass (var_mtype) on */ -var6 = var_mtype->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ -if (unlikely(var6 == NULL)) { +{ /* Inline model#MParameterType#mclass (self) on */ +var7 = self->attrs[COLOR_nit__model__MParameterType___mclass].val; /* _mclass on */ +if (unlikely(var7 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1058); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1472); +fatal_exit(1); } -var4 = var6; -RET_LABEL5:(void)0; +var5 = var7; +RET_LABEL6:(void)0; } } +var_goalclass = var5; { -{ /* Inline model#MParameterType#mclass (self) on */ -var9 = self->attrs[COLOR_nit__model__MParameterType___mclass].val; /* _mclass on */ -if (unlikely(var9 == NULL)) { +{ /* Inline model#MClassType#mclass (var_resolved_receiver) on */ +var10 = var_resolved_receiver->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var10 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1382); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); } -var7 = var9; -RET_LABEL8:(void)0; +var8 = var10; +RET_LABEL9:(void)0; } } { -{ /* Inline kernel#Object#== (var4,var7) on */ -var_other = var7; +{ /* Inline kernel#Object#== (var8,var_goalclass) on */ +var_other = var_goalclass; { -{ /* Inline kernel#Object#is_same_instance (var4,var_other) on */ -var14 = var4 == var_other; -var12 = var14; -goto RET_LABEL13; -RET_LABEL13:(void)0; -} +{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ +var15 = var8 == var_other; +var13 = var15; +goto RET_LABEL14; +RET_LABEL14:(void)0; } -var10 = var12; -goto RET_LABEL11; -RET_LABEL11:(void)0; } +var11 = var13; +goto RET_LABEL12; +RET_LABEL12:(void)0; } -var2 = var10; -} else { -var2 = var_; } -if (var2){ +if (var11){ { -{ /* Inline model#MGenericType#arguments (var_mtype) on */ -var17 = var_mtype->attrs[COLOR_nit__model__MGenericType___arguments].val; /* _arguments on */ -if (unlikely(var17 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1164); -show_backtrace(1); -} -var15 = var17; -RET_LABEL16:(void)0; -} +var16 = ((val*(*)(val* self))(var_resolved_receiver->class->vft[COLOR_nit__model__MClassType__arguments]))(var_resolved_receiver); /* arguments on */ } { { /* Inline model#MParameterType#rank (self) on */ -var20 = self->attrs[COLOR_nit__model__MParameterType___rank].l; /* _rank on */ -var18 = var20; -RET_LABEL19:(void)0; +var19 = self->attrs[COLOR_nit__model__MParameterType___rank].l; /* _rank on */ +var17 = var19; +RET_LABEL18:(void)0; } } { -var21 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var15, var18); +var20 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var16, var17); } -var_res = var21; -var23 = NULL; -if (var_anchor == NULL) { -var24 = 0; /* is null */ +var = var20; +goto RET_LABEL; } else { -var24 = 1; /* arg is null and recv is not */ } -if (0) { -{ /* Inline kernel#Object#!= (var_anchor,var23) on */ -var_other27 = var23; { -var28 = ((short int (*)(val* self, val* p0))(var_anchor->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_anchor, var_other27) /* == on */; +var21 = nit___nit__MClassType___MType__collect_mtypes(var_resolved_receiver, var_mmodule); } -var29 = !var28; -var25 = var29; -goto RET_LABEL26; -RET_LABEL26:(void)0; +var_supertypes = var21; +var_ = var_supertypes; +{ +var22 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_); /* iterator on */ } -var24 = var25; +var_23 = var22; +for(;;) { +{ +var24 = ((short int(*)(val* self))((((long)var_23&3)?class_info[((long)var_23&3)]:var_23->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_23); /* is_ok on */ } -var_30 = var24; if (var24){ { -var31 = ((short int (*)(val* self))(var_res->class->vft[COLOR_nit__model__MType__need_anchor]))(var_res) /* need_anchor on */; -} -var22 = var31; -} else { -var22 = var_30; +var25 = ((val*(*)(val* self))((((long)var_23&3)?class_info[((long)var_23&3)]:var_23->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_23); /* item on */ } -if (var22){ +var_t = var25; { -var32 = ((val* (*)(val* self, val* p0, val* p1))(var_res->class->vft[COLOR_nit__model__MType__anchor_to]))(var_res, var_mmodule, var_anchor) /* anchor_to on */; +{ /* Inline model#MClassType#mclass (var_t) on */ +var28 = var_t->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var28 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); +} +var26 = var28; +RET_LABEL27:(void)0; } -var_r2 = var32; -/* isa MClassType */ -cltype35 = type_nit__MClassType.color; -idtype36 = type_nit__MClassType.id; -if(cltype35 >= var_r2->type->table_size) { -var34 = 0; -} else { -var34 = var_r2->type->type_table[cltype35] == idtype36; } -var_37 = var34; -if (var34){ { -{ /* Inline model#MClassType#mclass (var_r2) on */ -var40 = var_r2->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ -if (unlikely(var40 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1058); -show_backtrace(1); +{ /* Inline kernel#Object#== (var26,var_goalclass) on */ +var_other = var_goalclass; +{ +{ /* Inline kernel#Object#is_same_instance (var26,var_other) on */ +var33 = var26 == var_other; +var31 = var33; +goto RET_LABEL32; +RET_LABEL32:(void)0; } -var38 = var40; -RET_LABEL39:(void)0; +} +var29 = var31; +goto RET_LABEL30; +RET_LABEL30:(void)0; } } +if (var29){ { -{ /* Inline model#MClass#kind (var38) on */ -var43 = var38->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on */ -if (unlikely(var43 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 399); -show_backtrace(1); +var34 = ((val*(*)(val* self))(var_t->class->vft[COLOR_nit__model__MClassType__arguments]))(var_t); /* arguments on */ } -var41 = var43; -RET_LABEL42:(void)0; +{ +{ /* Inline model#MParameterType#rank (self) on */ +var37 = self->attrs[COLOR_nit__model__MParameterType___rank].l; /* _rank on */ +var35 = var37; +RET_LABEL36:(void)0; } } { -var44 = nit__model___standard__Object___enum_kind(self); +var38 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var34, var35); +} +var_res = var38; +var = var_res; +goto RET_LABEL; +} else { } { -{ /* Inline kernel#Object#== (var41,var44) on */ -var_other = var44; -{ -{ /* Inline kernel#Object#is_same_instance (var41,var_other) on */ -var49 = var41 == var_other; -var47 = var49; -goto RET_LABEL48; -RET_LABEL48:(void)0; +((void(*)(val* self))((((long)var_23&3)?class_info[((long)var_23&3)]:var_23->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_23); /* next on */ } +} else { +goto BREAK_label; +} +} +BREAK_label: (void)0; +{ +((void(*)(val* self))((((long)var_23&3)?class_info[((long)var_23&3)]:var_23->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_23); /* finish on */ +} +PRINT_ERROR("Runtime error: %s", "Aborted"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1507); +fatal_exit(1); +RET_LABEL:; +return var; +} +/* method model#MParameterType#lookup_fixed for (self: MParameterType, MModule, MType): MType */ +val* nit___nit__MParameterType___MType__lookup_fixed(val* self, val* p0, val* p1) { +val* var /* : MType */; +val* var_mmodule /* var mmodule: MModule */; +val* var_resolved_receiver /* var resolved_receiver: MType */; +short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var3 /* : MType */; +short int var4 /* : Bool */; +int cltype; +int idtype; +val* var5 /* : MClass */; +val* var7 /* : MClass */; +val* var8 /* : MClassType */; +val* var10 /* : MClassType */; +val* var11 /* : MType */; +val* var_res /* var res: MType */; +var_mmodule = p0; +var_resolved_receiver = p1; +{ +var1 = ((short int(*)(val* self))(var_resolved_receiver->class->vft[COLOR_nit__model__MType__need_anchor]))(var_resolved_receiver); /* need_anchor on */ +} +var2 = !var1; +if (unlikely(!var2)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1519); +fatal_exit(1); +} +{ +var3 = ((val*(*)(val* self))(var_resolved_receiver->class->vft[COLOR_nit__model__MType__undecorate]))(var_resolved_receiver); /* undecorate on */ +} +var_resolved_receiver = var3; +/* isa MClassType */ +cltype = type_nit__MClassType.color; +idtype = type_nit__MClassType.id; +if(cltype >= var_resolved_receiver->type->table_size) { +var4 = 0; +} else { +var4 = var_resolved_receiver->type->type_table[cltype] == idtype; +} +if (unlikely(!var4)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1521); +fatal_exit(1); +} +{ +{ /* Inline model#MClassType#mclass (var_resolved_receiver) on */ +var7 = var_resolved_receiver->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var7 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); +} +var5 = var7; +RET_LABEL6:(void)0; +} +} +{ +{ /* Inline model#MClass#mclass_type (var5) on */ +var10 = var5->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ +if (unlikely(var10 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 484); +fatal_exit(1); +} +var8 = var10; +RET_LABEL9:(void)0; +} +} +{ +var11 = nit___nit__MParameterType___MType__resolve_for(self, var8, var_resolved_receiver, var_mmodule, 0); +} +var_res = var11; +var = var_res; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method model#MParameterType#resolve_for for (self: MParameterType, MType, nullable MClassType, MModule, Bool): MType */ +val* nit___nit__MParameterType___MType__resolve_for(val* self, val* p0, val* p1, val* p2, short int p3) { +val* var /* : MType */; +val* var_mtype /* var mtype: MType */; +val* var_anchor /* var anchor: nullable MClassType */; +val* var_mmodule /* var mmodule: MModule */; +short int var_cleanup_virtual /* var cleanup_virtual: Bool */; +short int var1 /* : Bool */; +short int var2 /* : Bool */; +short int var3 /* : Bool */; +int cltype; +int idtype; +short int var_ /* var : Bool */; +val* var4 /* : MClass */; +val* var6 /* : MClass */; +val* var7 /* : MClass */; +val* var9 /* : MClass */; +short int var10 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; +val* var15 /* : Array[MType] */; +val* var17 /* : Array[MType] */; +long var18 /* : Int */; +long var20 /* : Int */; +val* var21 /* : nullable Object */; +val* var_res /* var res: MType */; +short int var22 /* : Bool */; +short int var23 /* : Bool */; +short int var24 /* : Bool */; +val* var_other26 /* var other: nullable Object */; +short int var27 /* : Bool */; +short int var28 /* : Bool */; +short int var_29 /* var : Bool */; +short int var30 /* : Bool */; +val* var31 /* : MType */; +val* var_r2 /* var r2: MType */; +short int var32 /* : Bool */; +short int var33 /* : Bool */; +int cltype34; +int idtype35; +short int var_36 /* var : Bool */; +val* var37 /* : MClass */; +val* var39 /* : MClass */; +val* var40 /* : MClassKind */; +val* var42 /* : MClassKind */; +val* var43 /* : Sys */; +val* var44 /* : MClassKind */; +short int var45 /* : Bool */; +short int var47 /* : Bool */; +short int var49 /* : Bool */; +short int var50 /* : Bool */; +short int var51 /* : Bool */; +short int var52 /* : Bool */; +short int var54 /* : Bool */; +short int var55 /* : Bool */; +val* var56 /* : MClass */; +val* var58 /* : MClass */; +val* var59 /* : MClassType */; +val* var61 /* : MClassType */; +val* var62 /* : MType */; +val* var_resolved_receiver /* var resolved_receiver: nullable Object */; +short int var63 /* : Bool */; +int cltype64; +int idtype65; +val* var66 /* : MType */; +val* var68 /* : MType */; +short int var69 /* : Bool */; +int cltype70; +int idtype71; +val* var72 /* : MClass */; +val* var74 /* : MClass */; +val* var75 /* : MClass */; +val* var77 /* : MClass */; +short int var78 /* : Bool */; +short int var80 /* : Bool */; +short int var82 /* : Bool */; +val* var83 /* : Array[MType] */; +long var84 /* : Int */; +long var86 /* : Int */; +val* var87 /* : nullable Object */; +short int var88 /* : Bool */; +int cltype89; +int idtype90; +val* var91 /* : MType */; +val* var93 /* : MType */; +short int var94 /* : Bool */; +int cltype95; +int idtype96; +val* var97 /* : MClass */; +val* var99 /* : MClass */; +val* var100 /* : MClass */; +val* var102 /* : MClass */; +short int var103 /* : Bool */; +short int var105 /* : Bool */; +short int var107 /* : Bool */; +val* var108 /* : Array[MType] */; +long var109 /* : Int */; +long var111 /* : Int */; +val* var112 /* : nullable Object */; +val* var_res113 /* var res: MType */; +short int var114 /* : Bool */; +short int var115 /* : Bool */; +short int var116 /* : Bool */; +short int var118 /* : Bool */; +short int var119 /* : Bool */; +val* var120 /* : MType */; +val* var121 /* : MType */; +val* var_verbatim_bound /* var verbatim_bound: MType */; +val* var122 /* : MType */; +val* var_res123 /* var res: MType */; +var_mtype = p0; +var_anchor = p1; +var_mmodule = p2; +var_cleanup_virtual = p3; +{ +var1 = nit___nit__MParameterType___MType__can_resolve_for(self, var_mtype, var_anchor, var_mmodule); +} +if (unlikely(!var1)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1528); +fatal_exit(1); +} +/* isa MGenericType */ +cltype = type_nit__MGenericType.color; +idtype = type_nit__MGenericType.id; +if(cltype >= var_mtype->type->table_size) { +var3 = 0; +} else { +var3 = var_mtype->type->type_table[cltype] == idtype; +} +var_ = var3; +if (var3){ +{ +{ /* Inline model#MClassType#mclass (var_mtype) on */ +var6 = var_mtype->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var6 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); +} +var4 = var6; +RET_LABEL5:(void)0; +} +} +{ +{ /* Inline model#MParameterType#mclass (self) on */ +var9 = self->attrs[COLOR_nit__model__MParameterType___mclass].val; /* _mclass on */ +if (unlikely(var9 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1472); +fatal_exit(1); +} +var7 = var9; +RET_LABEL8:(void)0; +} +} +{ +{ /* Inline kernel#Object#== (var4,var7) on */ +var_other = var7; +{ +{ /* Inline kernel#Object#is_same_instance (var4,var_other) on */ +var14 = var4 == var_other; +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; +} +} +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; +} +} +var2 = var10; +} else { +var2 = var_; +} +if (var2){ +{ +{ /* Inline model#MGenericType#arguments (var_mtype) on */ +var17 = var_mtype->attrs[COLOR_nit__model__MGenericType___arguments].val; /* _arguments on */ +if (unlikely(var17 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1244); +fatal_exit(1); +} +var15 = var17; +RET_LABEL16:(void)0; +} +} +{ +{ /* Inline model#MParameterType#rank (self) on */ +var20 = self->attrs[COLOR_nit__model__MParameterType___rank].l; /* _rank on */ +var18 = var20; +RET_LABEL19:(void)0; +} +} +{ +var21 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var15, var18); +} +var_res = var21; +if (var_anchor == NULL) { +var23 = 0; /* is null */ +} else { +var23 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_anchor,((val*)NULL)) on */ +var_other26 = ((val*)NULL); +{ +var27 = ((short int(*)(val* self, val* p0))(var_anchor->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_anchor, var_other26); /* == on */ +} +var28 = !var27; +var24 = var28; +goto RET_LABEL25; +RET_LABEL25:(void)0; +} +var23 = var24; +} +var_29 = var23; +if (var23){ +{ +var30 = ((short int(*)(val* self))(var_res->class->vft[COLOR_nit__model__MType__need_anchor]))(var_res); /* need_anchor on */ +} +var22 = var30; +} else { +var22 = var_29; +} +if (var22){ +{ +var31 = ((val*(*)(val* self, val* p0, val* p1))(var_res->class->vft[COLOR_nit__model__MType__anchor_to]))(var_res, var_mmodule, var_anchor); /* anchor_to on */ +} +var_r2 = var31; +/* isa MClassType */ +cltype34 = type_nit__MClassType.color; +idtype35 = type_nit__MClassType.id; +if(cltype34 >= var_r2->type->table_size) { +var33 = 0; +} else { +var33 = var_r2->type->type_table[cltype34] == idtype35; +} +var_36 = var33; +if (var33){ +{ +{ /* Inline model#MClassType#mclass (var_r2) on */ +var39 = var_r2->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var39 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); +} +var37 = var39; +RET_LABEL38:(void)0; +} +} +{ +{ /* Inline model#MClass#kind (var37) on */ +var42 = var37->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on */ +if (unlikely(var42 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 436); +fatal_exit(1); +} +var40 = var42; +RET_LABEL41:(void)0; +} +} +var43 = glob_sys; +{ +var44 = nit__model___standard__Sys___enum_kind(var43); +} +{ +{ /* Inline kernel#Object#== (var40,var44) on */ +var_other = var44; +{ +{ /* Inline kernel#Object#is_same_instance (var40,var_other) on */ +var49 = var40 == var_other; +var47 = var49; +goto RET_LABEL48; +RET_LABEL48:(void)0; +} +} +var45 = var47; +goto RET_LABEL46; +RET_LABEL46:(void)0; +} +} +var32 = var45; +} else { +var32 = var_36; +} +if (var32){ +var = var_r2; +goto RET_LABEL; +} else { +} +} else { +} +var = var_res; +goto RET_LABEL; +} else { +} +{ +var50 = ((short int(*)(val* self))(var_mtype->class->vft[COLOR_nit__model__MType__need_anchor]))(var_mtype); /* need_anchor on */ +} +if (var50){ +if (var_anchor == NULL) { +var51 = 0; /* is null */ +} else { +var51 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_anchor,((val*)NULL)) on */ +var_other26 = ((val*)NULL); +{ +var54 = ((short int(*)(val* self, val* p0))(var_anchor->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_anchor, var_other26); /* == on */ +} +var55 = !var54; +var52 = var55; +goto RET_LABEL53; +RET_LABEL53:(void)0; +} +var51 = var52; +} +if (unlikely(!var51)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1547); +fatal_exit(1); +} +{ +{ /* Inline model#MClassType#mclass (var_anchor) on */ +var58 = var_anchor->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var58 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); +} +var56 = var58; +RET_LABEL57:(void)0; +} +} +{ +{ /* Inline model#MClass#mclass_type (var56) on */ +var61 = var56->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ +if (unlikely(var61 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 484); +fatal_exit(1); +} +var59 = var61; +RET_LABEL60:(void)0; +} +} +{ +var62 = ((val*(*)(val* self, val* p0, val* p1, val* p2, short int p3))(var_mtype->class->vft[COLOR_nit__model__MType__resolve_for]))(var_mtype, var59, var_anchor, var_mmodule, 1); /* resolve_for on */ +} +var_resolved_receiver = var62; +} else { +var_resolved_receiver = var_mtype; +} +/* isa MNullableType */ +cltype64 = type_nit__MNullableType.color; +idtype65 = type_nit__MNullableType.id; +if(cltype64 >= var_resolved_receiver->type->table_size) { +var63 = 0; +} else { +var63 = var_resolved_receiver->type->type_table[cltype64] == idtype65; +} +if (var63){ +{ +{ /* Inline model#MProxyType#mtype (var_resolved_receiver) on */ +var68 = var_resolved_receiver->attrs[COLOR_nit__model__MProxyType___mtype].val; /* _mtype on */ +if (unlikely(var68 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1598); +fatal_exit(1); +} +var66 = var68; +RET_LABEL67:(void)0; +} +} +var_resolved_receiver = var66; +} else { +} +/* isa MParameterType */ +cltype70 = type_nit__MParameterType.color; +idtype71 = type_nit__MParameterType.id; +if(cltype70 >= var_resolved_receiver->type->table_size) { +var69 = 0; +} else { +var69 = var_resolved_receiver->type->type_table[cltype70] == idtype71; +} +if (var69){ +{ +{ /* Inline model#MParameterType#mclass (var_resolved_receiver) on */ +var74 = var_resolved_receiver->attrs[COLOR_nit__model__MParameterType___mclass].val; /* _mclass on */ +if (unlikely(var74 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1472); +fatal_exit(1); +} +var72 = var74; +RET_LABEL73:(void)0; +} +} +if (var_anchor == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1554); +fatal_exit(1); +} else { +{ /* Inline model#MClassType#mclass (var_anchor) on */ +if (unlikely(var_anchor == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); +} +var77 = var_anchor->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var77 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); +} +var75 = var77; +RET_LABEL76:(void)0; +} +} +{ +{ /* Inline kernel#Object#== (var72,var75) on */ +var_other = var75; +{ +{ /* Inline kernel#Object#is_same_instance (var72,var_other) on */ +var82 = var72 == var_other; +var80 = var82; +goto RET_LABEL81; +RET_LABEL81:(void)0; +} +} +var78 = var80; +goto RET_LABEL79; +RET_LABEL79:(void)0; +} +} +if (unlikely(!var78)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1554); +fatal_exit(1); +} +if (var_anchor == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1555); +fatal_exit(1); +} else { +var83 = ((val*(*)(val* self))(var_anchor->class->vft[COLOR_nit__model__MClassType__arguments]))(var_anchor); /* arguments on */ +} +{ +{ /* Inline model#MParameterType#rank (var_resolved_receiver) on */ +var86 = var_resolved_receiver->attrs[COLOR_nit__model__MParameterType___rank].l; /* _rank on */ +var84 = var86; +RET_LABEL85:(void)0; +} +} +{ +var87 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var83, var84); +} +var_resolved_receiver = var87; +/* isa MNullableType */ +cltype89 = type_nit__MNullableType.color; +idtype90 = type_nit__MNullableType.id; +if(cltype89 >= var_resolved_receiver->type->table_size) { +var88 = 0; +} else { +var88 = var_resolved_receiver->type->type_table[cltype89] == idtype90; +} +if (var88){ +{ +{ /* Inline model#MProxyType#mtype (var_resolved_receiver) on */ +var93 = var_resolved_receiver->attrs[COLOR_nit__model__MProxyType___mtype].val; /* _mtype on */ +if (unlikely(var93 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1598); +fatal_exit(1); +} +var91 = var93; +RET_LABEL92:(void)0; +} +} +var_resolved_receiver = var91; +} else { +} +} else { +} +/* isa MClassType */ +cltype95 = type_nit__MClassType.color; +idtype96 = type_nit__MClassType.id; +if(cltype95 >= var_resolved_receiver->type->table_size) { +var94 = 0; +} else { +var94 = var_resolved_receiver->type->type_table[cltype95] == idtype96; +} +if (unlikely(!var94)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1558); +fatal_exit(1); +} +{ +{ /* Inline model#MClassType#mclass (var_resolved_receiver) on */ +var99 = var_resolved_receiver->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var99 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); +} +var97 = var99; +RET_LABEL98:(void)0; +} +} +{ +{ /* Inline model#MParameterType#mclass (self) on */ +var102 = self->attrs[COLOR_nit__model__MParameterType___mclass].val; /* _mclass on */ +if (unlikely(var102 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1472); +fatal_exit(1); +} +var100 = var102; +RET_LABEL101:(void)0; +} +} +{ +{ /* Inline kernel#Object#== (var97,var100) on */ +var_other = var100; +{ +{ /* Inline kernel#Object#is_same_instance (var97,var_other) on */ +var107 = var97 == var_other; +var105 = var107; +goto RET_LABEL106; +RET_LABEL106:(void)0; +} +} +var103 = var105; +goto RET_LABEL104; +RET_LABEL104:(void)0; +} +} +if (var103){ +{ +var108 = ((val*(*)(val* self))(var_resolved_receiver->class->vft[COLOR_nit__model__MClassType__arguments]))(var_resolved_receiver); /* arguments on */ +} +{ +{ /* Inline model#MParameterType#rank (self) on */ +var111 = self->attrs[COLOR_nit__model__MParameterType___rank].l; /* _rank on */ +var109 = var111; +RET_LABEL110:(void)0; +} +} +{ +var112 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var108, var109); +} +var_res113 = var112; +var = var_res113; +goto RET_LABEL; +} else { +} +{ +var114 = ((short int(*)(val* self))(var_resolved_receiver->class->vft[COLOR_nit__model__MType__need_anchor]))(var_resolved_receiver); /* need_anchor on */ +} +if (var114){ +if (var_anchor == NULL) { +var115 = 0; /* is null */ +} else { +var115 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_anchor,((val*)NULL)) on */ +var_other26 = ((val*)NULL); +{ +var118 = ((short int(*)(val* self, val* p0))(var_anchor->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_anchor, var_other26); /* == on */ +} +var119 = !var118; +var116 = var119; +goto RET_LABEL117; +RET_LABEL117:(void)0; +} +var115 = var116; +} +if (unlikely(!var115)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1569); +fatal_exit(1); +} +{ +var120 = ((val*(*)(val* self, val* p0, val* p1, val* p2, short int p3))(var_resolved_receiver->class->vft[COLOR_nit__model__MType__resolve_for]))(var_resolved_receiver, var_anchor, ((val*)NULL), var_mmodule, 0); /* resolve_for on */ +} +var_resolved_receiver = var120; +} else { +} +{ +var121 = nit___nit__MParameterType___MType__lookup_bound(self, var_mmodule, var_resolved_receiver); +} +var_verbatim_bound = var121; +{ +var122 = ((val*(*)(val* self, val* p0, val* p1, val* p2, short int p3))(var_verbatim_bound->class->vft[COLOR_nit__model__MType__resolve_for]))(var_verbatim_bound, var_mtype, var_anchor, var_mmodule, var_cleanup_virtual); /* resolve_for on */ +} +var_res123 = var122; +var = var_res123; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method model#MParameterType#can_resolve_for for (self: MParameterType, MType, nullable MClassType, MModule): Bool */ +short int nit___nit__MParameterType___MType__can_resolve_for(val* self, val* p0, val* p1, val* p2) { +short int var /* : Bool */; +val* var_mtype /* var mtype: MType */; +val* var_anchor /* var anchor: nullable MClassType */; +val* var_mmodule /* var mmodule: MModule */; +short int var1 /* : Bool */; +short int var2 /* : Bool */; +short int var3 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; +val* var7 /* : MType */; +val* var8 /* : Set[MClassDef] */; +val* var9 /* : MClass */; +val* var11 /* : MClass */; +val* var12 /* : MClassDef */; +val* var14 /* : MClassDef */; +short int var15 /* : Bool */; +var_mtype = p0; +var_anchor = p1; +var_mmodule = p2; +{ +var1 = ((short int(*)(val* self))(var_mtype->class->vft[COLOR_nit__model__MType__need_anchor]))(var_mtype); /* need_anchor on */ +} +if (var1){ +if (var_anchor == NULL) { +var2 = 0; /* is null */ +} else { +var2 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_anchor,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +var5 = ((short int(*)(val* self, val* p0))(var_anchor->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_anchor, var_other); /* == on */ +} +var6 = !var5; +var3 = var6; +goto RET_LABEL4; +RET_LABEL4:(void)0; +} +var2 = var3; +} +if (unlikely(!var2)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1585); +fatal_exit(1); +} +{ +var7 = ((val*(*)(val* self, val* p0, val* p1))(var_mtype->class->vft[COLOR_nit__model__MType__anchor_to]))(var_mtype, var_mmodule, var_anchor); /* anchor_to on */ +} +var_mtype = var7; +} else { +} +{ +var8 = ((val*(*)(val* self, val* p0))(var_mtype->class->vft[COLOR_nit__model__MType__collect_mclassdefs]))(var_mtype, var_mmodule); /* collect_mclassdefs on */ +} +{ +{ /* Inline model#MParameterType#mclass (self) on */ +var11 = self->attrs[COLOR_nit__model__MParameterType___mclass].val; /* _mclass on */ +if (unlikely(var11 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1472); +fatal_exit(1); +} +var9 = var11; +RET_LABEL10:(void)0; +} +} +{ +{ /* Inline model#MClass#intro (var9) on */ +var14 = var9->attrs[COLOR_nit__model__MClass___intro].val; /* _intro on */ +if (unlikely(var14 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 460); +fatal_exit(1); +} +var12 = var14; +RET_LABEL13:(void)0; +} +} +{ +var15 = ((short int(*)(val* self, val* p0))((((long)var8&3)?class_info[((long)var8&3)]:var8->class)->vft[COLOR_standard__abstract_collection__Collection__has]))(var8, var12); /* has on */ +} +var = var15; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method model#MParameterType#init for (self: MParameterType) */ +void nit___nit__MParameterType___standard__kernel__Object__init(val* self) { +{ +((void(*)(val* self))(self->class->vft[COLOR_nit___nit__MParameterType___standard__kernel__Object__init]))(self); /* init on */ +} +RET_LABEL:; +} +/* method model#MProxyType#mtype for (self: MProxyType): MType */ +val* nit___nit__MProxyType___mtype(val* self) { +val* var /* : MType */; +val* var1 /* : MType */; +var1 = self->attrs[COLOR_nit__model__MProxyType___mtype].val; /* _mtype on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1598); +fatal_exit(1); +} +var = var1; +RET_LABEL:; +return var; +} +/* method model#MProxyType#mtype= for (self: MProxyType, MType) */ +void nit___nit__MProxyType___mtype_61d(val* self, val* p0) { +self->attrs[COLOR_nit__model__MProxyType___mtype].val = p0; /* _mtype on */ +RET_LABEL:; +} +/* method model#MProxyType#model for (self: MProxyType): Model */ +val* nit___nit__MProxyType___nit__model_base__MEntity__model(val* self) { +val* var /* : Model */; +val* var1 /* : MType */; +val* var3 /* : MType */; +val* var4 /* : Model */; +{ +{ /* Inline model#MProxyType#mtype (self) on */ +var3 = self->attrs[COLOR_nit__model__MProxyType___mtype].val; /* _mtype on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1598); +fatal_exit(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} +} +{ +var4 = ((val*(*)(val* self))(var1->class->vft[COLOR_nit__model_base__MEntity__model]))(var1); /* model on */ +} +var = var4; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method model#MProxyType#need_anchor for (self: MProxyType): Bool */ +short int nit___nit__MProxyType___MType__need_anchor(val* self) { +short int var /* : Bool */; +val* var1 /* : MType */; +val* var3 /* : MType */; +short int var4 /* : Bool */; +{ +{ /* Inline model#MProxyType#mtype (self) on */ +var3 = self->attrs[COLOR_nit__model__MProxyType___mtype].val; /* _mtype on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1598); +fatal_exit(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} +} +{ +var4 = ((short int(*)(val* self))(var1->class->vft[COLOR_nit__model__MType__need_anchor]))(var1); /* need_anchor on */ +} +var = var4; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method model#MProxyType#as_nullable for (self: MProxyType): MType */ +val* nit___nit__MProxyType___MType__as_nullable(val* self) { +val* var /* : MType */; +val* var1 /* : MType */; +val* var3 /* : MType */; +val* var4 /* : MType */; +{ +{ /* Inline model#MProxyType#mtype (self) on */ +var3 = self->attrs[COLOR_nit__model__MProxyType___mtype].val; /* _mtype on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1598); +fatal_exit(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} +} +{ +var4 = ((val*(*)(val* self))(var1->class->vft[COLOR_nit__model__MType__as_nullable]))(var1); /* as_nullable on */ +} +var = var4; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method model#MProxyType#as_notnull for (self: MProxyType): MType */ +val* nit___nit__MProxyType___MType__as_notnull(val* self) { +val* var /* : MType */; +val* var1 /* : MType */; +val* var3 /* : MType */; +val* var4 /* : MType */; +{ +{ /* Inline model#MProxyType#mtype (self) on */ +var3 = self->attrs[COLOR_nit__model__MProxyType___mtype].val; /* _mtype on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1598); +fatal_exit(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} +} +{ +var4 = ((val*(*)(val* self))(var1->class->vft[COLOR_nit__model__MType__as_notnull]))(var1); /* as_notnull on */ +} +var = var4; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method model#MProxyType#undecorate for (self: MProxyType): MType */ +val* nit___nit__MProxyType___MType__undecorate(val* self) { +val* var /* : MType */; +val* var1 /* : MType */; +val* var3 /* : MType */; +val* var4 /* : MType */; +{ +{ /* Inline model#MProxyType#mtype (self) on */ +var3 = self->attrs[COLOR_nit__model__MProxyType___mtype].val; /* _mtype on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1598); +fatal_exit(1); } -var45 = var47; -goto RET_LABEL46; -RET_LABEL46:(void)0; +var1 = var3; +RET_LABEL2:(void)0; } } -var33 = var45; -} else { -var33 = var_37; +{ +var4 = ((val*(*)(val* self))(var1->class->vft[COLOR_nit__model__MType__undecorate]))(var1); /* undecorate on */ } -if (var33){ -var = var_r2; +var = var4; goto RET_LABEL; -} else { +RET_LABEL:; +return var; } -} else { +/* method model#MProxyType#resolve_for for (self: MProxyType, MType, nullable MClassType, MModule, Bool): MType */ +val* nit___nit__MProxyType___MType__resolve_for(val* self, val* p0, val* p1, val* p2, short int p3) { +val* var /* : MType */; +val* var_mtype /* var mtype: MType */; +val* var_anchor /* var anchor: nullable MClassType */; +val* var_mmodule /* var mmodule: MModule */; +short int var_cleanup_virtual /* var cleanup_virtual: Bool */; +val* var1 /* : MType */; +val* var3 /* : MType */; +val* var4 /* : MType */; +val* var_res /* var res: MType */; +var_mtype = p0; +var_anchor = p1; +var_mmodule = p2; +var_cleanup_virtual = p3; +{ +{ /* Inline model#MProxyType#mtype (self) on */ +var3 = self->attrs[COLOR_nit__model__MProxyType___mtype].val; /* _mtype on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1598); +fatal_exit(1); +} +var1 = var3; +RET_LABEL2:(void)0; } -var = var_res; -goto RET_LABEL; -} else { } { -var50 = ((short int (*)(val* self))(var_mtype->class->vft[COLOR_nit__model__MType__need_anchor]))(var_mtype) /* need_anchor on */; +var4 = ((val*(*)(val* self, val* p0, val* p1, val* p2, short int p3))(var1->class->vft[COLOR_nit__model__MType__resolve_for]))(var1, var_mtype, var_anchor, var_mmodule, var_cleanup_virtual); /* resolve_for on */ } -if (var50){ -var51 = NULL; -if (var_anchor == NULL) { -var52 = 0; /* is null */ -} else { -var52 = 1; /* arg is null and recv is not */ +var_res = var4; +var = var_res; +goto RET_LABEL; +RET_LABEL:; +return var; } -if (0) { -{ /* Inline kernel#Object#!= (var_anchor,var51) on */ -var_other27 = var51; +/* method model#MProxyType#can_resolve_for for (self: MProxyType, MType, nullable MClassType, MModule): Bool */ +short int nit___nit__MProxyType___MType__can_resolve_for(val* self, val* p0, val* p1, val* p2) { +short int var /* : Bool */; +val* var_mtype /* var mtype: MType */; +val* var_anchor /* var anchor: nullable MClassType */; +val* var_mmodule /* var mmodule: MModule */; +val* var1 /* : MType */; +val* var3 /* : MType */; +short int var4 /* : Bool */; +var_mtype = p0; +var_anchor = p1; +var_mmodule = p2; { -var55 = ((short int (*)(val* self, val* p0))(var_anchor->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_anchor, var_other27) /* == on */; -} -var56 = !var55; -var53 = var56; -goto RET_LABEL54; -RET_LABEL54:(void)0; +{ /* Inline model#MProxyType#mtype (self) on */ +var3 = self->attrs[COLOR_nit__model__MProxyType___mtype].val; /* _mtype on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1598); +fatal_exit(1); } -var52 = var53; +var1 = var3; +RET_LABEL2:(void)0; } -if (unlikely(!var52)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1457); -show_backtrace(1); } { -{ /* Inline model#MClassType#mclass (var_anchor) on */ -var59 = var_anchor->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ -if (unlikely(var59 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1058); -show_backtrace(1); -} -var57 = var59; -RET_LABEL58:(void)0; +var4 = ((short int(*)(val* self, val* p0, val* p1, val* p2))(var1->class->vft[COLOR_nit__model__MType__can_resolve_for]))(var1, var_mtype, var_anchor, var_mmodule); /* can_resolve_for on */ } +var = var4; +goto RET_LABEL; +RET_LABEL:; +return var; } +/* method model#MProxyType#lookup_fixed for (self: MProxyType, MModule, MType): MType */ +val* nit___nit__MProxyType___MType__lookup_fixed(val* self, val* p0, val* p1) { +val* var /* : MType */; +val* var_mmodule /* var mmodule: MModule */; +val* var_resolved_receiver /* var resolved_receiver: MType */; +val* var1 /* : MType */; +val* var3 /* : MType */; +val* var4 /* : MType */; +val* var_t /* var t: MType */; +var_mmodule = p0; +var_resolved_receiver = p1; { -{ /* Inline model#MClass#mclass_type (var57) on */ -var62 = var57->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ -if (unlikely(var62 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 438); -show_backtrace(1); +{ /* Inline model#MProxyType#mtype (self) on */ +var3 = self->attrs[COLOR_nit__model__MProxyType___mtype].val; /* _mtype on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1598); +fatal_exit(1); } -var60 = var62; -RET_LABEL61:(void)0; +var1 = var3; +RET_LABEL2:(void)0; } } -var63 = 1; { -var64 = ((val* (*)(val* self, val* p0, val* p1, val* p2, short int p3))(var_mtype->class->vft[COLOR_nit__model__MType__resolve_for]))(var_mtype, var60, var_anchor, var_mmodule, var63) /* resolve_for on */; +var4 = ((val*(*)(val* self, val* p0, val* p1))(var1->class->vft[COLOR_nit__model__MType__lookup_fixed]))(var1, var_mmodule, var_resolved_receiver); /* lookup_fixed on */ } -var_resolved_receiver = var64; -} else { -var_resolved_receiver = var_mtype; -} -/* isa MNullableType */ -cltype66 = type_nit__MNullableType.color; -idtype67 = type_nit__MNullableType.id; -if(cltype66 >= var_resolved_receiver->type->table_size) { -var65 = 0; -} else { -var65 = var_resolved_receiver->type->type_table[cltype66] == idtype67; +var_t = var4; +var = var_t; +goto RET_LABEL; +RET_LABEL:; +return var; } -if (var65){ +/* method model#MProxyType#length for (self: MProxyType): Int */ +long nit___nit__MProxyType___MType__length(val* self) { +long var /* : Int */; +val* var1 /* : MType */; +val* var3 /* : MType */; +long var4 /* : Int */; { -{ /* Inline model#MNullableType#mtype (var_resolved_receiver) on */ -var70 = var_resolved_receiver->attrs[COLOR_nit__model__MNullableType___mtype].val; /* _mtype on */ -if (unlikely(var70 == NULL)) { +{ /* Inline model#MProxyType#mtype (self) on */ +var3 = self->attrs[COLOR_nit__model__MProxyType___mtype].val; /* _mtype on */ +if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1506); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1598); +fatal_exit(1); } -var68 = var70; -RET_LABEL69:(void)0; +var1 = var3; +RET_LABEL2:(void)0; } } -var_resolved_receiver = var68; -} else { +{ +var4 = ((long(*)(val* self))(var1->class->vft[COLOR_nit__model__MType__length]))(var1); /* length on */ } -/* isa MParameterType */ -cltype72 = type_nit__MParameterType.color; -idtype73 = type_nit__MParameterType.id; -if(cltype72 >= var_resolved_receiver->type->table_size) { -var71 = 0; -} else { -var71 = var_resolved_receiver->type->type_table[cltype72] == idtype73; +var = var4; +goto RET_LABEL; +RET_LABEL:; +return var; } -if (var71){ +/* method model#MProxyType#collect_mclassdefs for (self: MProxyType, MModule): Set[MClassDef] */ +val* nit___nit__MProxyType___MType__collect_mclassdefs(val* self, val* p0) { +val* var /* : Set[MClassDef] */; +val* var_mmodule /* var mmodule: MModule */; +short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var3 /* : MType */; +val* var5 /* : MType */; +val* var6 /* : Set[MClassDef] */; +var_mmodule = p0; { -{ /* Inline model#MParameterType#mclass (var_resolved_receiver) on */ -var76 = var_resolved_receiver->attrs[COLOR_nit__model__MParameterType___mclass].val; /* _mclass on */ -if (unlikely(var76 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1382); -show_backtrace(1); +var1 = nit___nit__MProxyType___MType__need_anchor(self); } -var74 = var76; -RET_LABEL75:(void)0; +var2 = !var1; +if (unlikely(!var2)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1629); +fatal_exit(1); } +{ +{ /* Inline model#MProxyType#mtype (self) on */ +var5 = self->attrs[COLOR_nit__model__MProxyType___mtype].val; /* _mtype on */ +if (unlikely(var5 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1598); +fatal_exit(1); } -if (var_anchor == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1464); -show_backtrace(1); -} else { -{ /* Inline model#MClassType#mclass (var_anchor) on */ -if (unlikely(var_anchor == NULL)) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1058); -show_backtrace(1); +var3 = var5; +RET_LABEL4:(void)0; } -var79 = var_anchor->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ -if (unlikely(var79 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1058); -show_backtrace(1); } -var77 = var79; -RET_LABEL78:(void)0; +{ +var6 = ((val*(*)(val* self, val* p0))(var3->class->vft[COLOR_nit__model__MType__collect_mclassdefs]))(var3, var_mmodule); /* collect_mclassdefs on */ } +var = var6; +goto RET_LABEL; +RET_LABEL:; +return var; } +/* method model#MProxyType#collect_mclasses for (self: MProxyType, MModule): Set[MClass] */ +val* nit___nit__MProxyType___MType__collect_mclasses(val* self, val* p0) { +val* var /* : Set[MClass] */; +val* var_mmodule /* var mmodule: MModule */; +short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var3 /* : MType */; +val* var5 /* : MType */; +val* var6 /* : Set[MClass] */; +var_mmodule = p0; { -{ /* Inline kernel#Object#== (var74,var77) on */ -var_other = var77; -{ -{ /* Inline kernel#Object#is_same_instance (var74,var_other) on */ -var84 = var74 == var_other; -var82 = var84; -goto RET_LABEL83; -RET_LABEL83:(void)0; +var1 = nit___nit__MProxyType___MType__need_anchor(self); } +var2 = !var1; +if (unlikely(!var2)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1635); +fatal_exit(1); } -var80 = var82; -goto RET_LABEL81; -RET_LABEL81:(void)0; -} +{ +{ /* Inline model#MProxyType#mtype (self) on */ +var5 = self->attrs[COLOR_nit__model__MProxyType___mtype].val; /* _mtype on */ +if (unlikely(var5 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1598); +fatal_exit(1); } -if (unlikely(!var80)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1464); -show_backtrace(1); +var3 = var5; +RET_LABEL4:(void)0; } -if (var_anchor == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1465); -show_backtrace(1); -} else { -var85 = ((val* (*)(val* self))(var_anchor->class->vft[COLOR_nit__model__MClassType__arguments]))(var_anchor) /* arguments on */; } { -{ /* Inline model#MParameterType#rank (var_resolved_receiver) on */ -var88 = var_resolved_receiver->attrs[COLOR_nit__model__MParameterType___rank].l; /* _rank on */ -var86 = var88; -RET_LABEL87:(void)0; +var6 = ((val*(*)(val* self, val* p0))(var3->class->vft[COLOR_nit__model__MType__collect_mclasses]))(var3, var_mmodule); /* collect_mclasses on */ } +var = var6; +goto RET_LABEL; +RET_LABEL:; +return var; } +/* method model#MProxyType#collect_mtypes for (self: MProxyType, MModule): Set[MClassType] */ +val* nit___nit__MProxyType___MType__collect_mtypes(val* self, val* p0) { +val* var /* : Set[MClassType] */; +val* var_mmodule /* var mmodule: MModule */; +short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var3 /* : MType */; +val* var5 /* : MType */; +val* var6 /* : Set[MClassType] */; +var_mmodule = p0; { -var89 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var85, var86); +var1 = nit___nit__MProxyType___MType__need_anchor(self); } -var_resolved_receiver = var89; -/* isa MNullableType */ -cltype91 = type_nit__MNullableType.color; -idtype92 = type_nit__MNullableType.id; -if(cltype91 >= var_resolved_receiver->type->table_size) { -var90 = 0; -} else { -var90 = var_resolved_receiver->type->type_table[cltype91] == idtype92; +var2 = !var1; +if (unlikely(!var2)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1641); +fatal_exit(1); } -if (var90){ { -{ /* Inline model#MNullableType#mtype (var_resolved_receiver) on */ -var95 = var_resolved_receiver->attrs[COLOR_nit__model__MNullableType___mtype].val; /* _mtype on */ -if (unlikely(var95 == NULL)) { +{ /* Inline model#MProxyType#mtype (self) on */ +var5 = self->attrs[COLOR_nit__model__MProxyType___mtype].val; /* _mtype on */ +if (unlikely(var5 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1506); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1598); +fatal_exit(1); } -var93 = var95; -RET_LABEL94:(void)0; +var3 = var5; +RET_LABEL4:(void)0; } } -var_resolved_receiver = var93; -} else { +{ +var6 = ((val*(*)(val* self, val* p0))(var3->class->vft[COLOR_nit__model__MType__collect_mtypes]))(var3, var_mmodule); /* collect_mtypes on */ } -} else { +var = var6; +goto RET_LABEL; +RET_LABEL:; +return var; } -/* isa MClassType */ -cltype97 = type_nit__MClassType.color; -idtype98 = type_nit__MClassType.id; -if(cltype97 >= var_resolved_receiver->type->table_size) { -var96 = 0; -} else { -var96 = var_resolved_receiver->type->type_table[cltype97] == idtype98; +/* method model#MProxyType#init for (self: MProxyType) */ +void nit___nit__MProxyType___standard__kernel__Object__init(val* self) { +{ +((void(*)(val* self))(self->class->vft[COLOR_nit___nit__MProxyType___standard__kernel__Object__init]))(self); /* init on */ } -if (unlikely(!var96)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1468); -show_backtrace(1); +RET_LABEL:; } +/* method model#MNullableType#init for (self: MNullableType) */ +void nit___nit__MNullableType___standard__kernel__Object__init(val* self) { +val* var /* : NativeArray[String] */; +static val* varonce; +static val* varonce1; +val* var2 /* : String */; +char* var3 /* : NativeString */; +val* var4 /* : FlatString */; +val* var5 /* : MType */; +val* var7 /* : MType */; +val* var8 /* : String */; +val* var9 /* : String */; { -{ /* Inline model#MClassType#mclass (var_resolved_receiver) on */ -var101 = var_resolved_receiver->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ -if (unlikely(var101 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1058); -show_backtrace(1); +((void(*)(val* self))(self->class->vft[COLOR_nit___nit__MNullableType___standard__kernel__Object__init]))(self); /* init on */ } -var99 = var101; -RET_LABEL100:(void)0; +if (unlikely(varonce==NULL)) { +var = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String); +if (likely(varonce1!=NULL)) { +var2 = varonce1; +} else { +var3 = "nullable "; +var4 = standard___standard__NativeString___to_s_with_length(var3, 9l); +var2 = var4; +varonce1 = var2; } +((struct instance_standard__NativeArray*)var)->values[0]=var2; +} else { +var = varonce; +varonce = NULL; } { -{ /* Inline model#MParameterType#mclass (self) on */ -var104 = self->attrs[COLOR_nit__model__MParameterType___mclass].val; /* _mclass on */ -if (unlikely(var104 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1382); -show_backtrace(1); +{ /* Inline model#MProxyType#mtype (self) on */ +var7 = self->attrs[COLOR_nit__model__MProxyType___mtype].val; /* _mtype on */ +if (unlikely(var7 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1598); +fatal_exit(1); } -var102 = var104; -RET_LABEL103:(void)0; +var5 = var7; +RET_LABEL6:(void)0; } } { -{ /* Inline kernel#Object#== (var99,var102) on */ -var_other = var102; +var8 = ((val*(*)(val* self))(var5->class->vft[COLOR_standard__string__Object__to_s]))(var5); /* to_s on */ +} +((struct instance_standard__NativeArray*)var)->values[1]=var8; { -{ /* Inline kernel#Object#is_same_instance (var99,var_other) on */ -var109 = var99 == var_other; -var107 = var109; -goto RET_LABEL108; -RET_LABEL108:(void)0; +var9 = ((val*(*)(val* self))(var->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var); /* native_to_s on */ } +varonce = var; +{ +{ /* Inline model#MNullableType#to_s= (self,var9) on */ +self->attrs[COLOR_nit__model__MNullableType___to_s].val = var9; /* _to_s on */ +RET_LABEL10:(void)0; } -var105 = var107; -goto RET_LABEL106; -RET_LABEL106:(void)0; } +RET_LABEL:; } -if (var105){ -{ -var110 = ((val* (*)(val* self))(var_resolved_receiver->class->vft[COLOR_nit__model__MClassType__arguments]))(var_resolved_receiver) /* arguments on */; +/* method model#MNullableType#to_s for (self: MNullableType): String */ +val* nit___nit__MNullableType___standard__string__Object__to_s(val* self) { +val* var /* : String */; +val* var1 /* : String */; +var1 = self->attrs[COLOR_nit__model__MNullableType___to_s].val; /* _to_s on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _to_s"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1655); +fatal_exit(1); } -{ -{ /* Inline model#MParameterType#rank (self) on */ -var113 = self->attrs[COLOR_nit__model__MParameterType___rank].l; /* _rank on */ -var111 = var113; -RET_LABEL112:(void)0; +var = var1; +RET_LABEL:; +return var; } +/* method model#MNullableType#to_s= for (self: MNullableType, String) */ +void nit___nit__MNullableType___to_s_61d(val* self, val* p0) { +self->attrs[COLOR_nit__model__MNullableType___to_s].val = p0; /* _to_s on */ +RET_LABEL:; } -{ -var114 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var110, var111); +/* method model#MNullableType#full_name for (self: MNullableType): String */ +val* nit___nit__MNullableType___nit__model_base__MEntity__full_name(val* self) { +val* var /* : String */; +short int var1 /* : Bool */; +val* var2 /* : String */; +val* var3 /* : String */; +val* var5 /* : NativeArray[String] */; +static val* varonce; +static val* varonce6; +val* var7 /* : String */; +char* var8 /* : NativeString */; +val* var9 /* : FlatString */; +val* var10 /* : MType */; +val* var12 /* : MType */; +val* var13 /* : String */; +val* var14 /* : String */; +var1 = self->attrs[COLOR_nit__model__MNullableType___full_name].val != NULL; /* _full_name on */ +if(likely(var1)) { +var2 = self->attrs[COLOR_nit__model__MNullableType___full_name].val; /* _full_name on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _full_name"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1657); +fatal_exit(1); } -var_res115 = var114; -var = var_res115; -goto RET_LABEL; } else { -} { -var116 = ((short int (*)(val* self))(var_resolved_receiver->class->vft[COLOR_nit__model__MType__need_anchor]))(var_resolved_receiver) /* need_anchor on */; +if (unlikely(varonce==NULL)) { +var5 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String); +if (likely(varonce6!=NULL)) { +var7 = varonce6; +} else { +var8 = "nullable "; +var9 = standard___standard__NativeString___to_s_with_length(var8, 9l); +var7 = var9; +varonce6 = var7; } -if (var116){ -var117 = NULL; -if (var_anchor == NULL) { -var118 = 0; /* is null */ +((struct instance_standard__NativeArray*)var5)->values[0]=var7; } else { -var118 = 1; /* arg is null and recv is not */ +var5 = varonce; +varonce = NULL; } -if (0) { -{ /* Inline kernel#Object#!= (var_anchor,var117) on */ -var_other27 = var117; { -var121 = ((short int (*)(val* self, val* p0))(var_anchor->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_anchor, var_other27) /* == on */; -} -var122 = !var121; -var119 = var122; -goto RET_LABEL120; -RET_LABEL120:(void)0; +{ /* Inline model#MProxyType#mtype (self) on */ +var12 = self->attrs[COLOR_nit__model__MProxyType___mtype].val; /* _mtype on */ +if (unlikely(var12 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1598); +fatal_exit(1); } -var118 = var119; +var10 = var12; +RET_LABEL11:(void)0; } -if (unlikely(!var118)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1479); -show_backtrace(1); } -var123 = NULL; -var124 = 0; { -var125 = ((val* (*)(val* self, val* p0, val* p1, val* p2, short int p3))(var_resolved_receiver->class->vft[COLOR_nit__model__MType__resolve_for]))(var_resolved_receiver, var_anchor, var123, var_mmodule, var124) /* resolve_for on */; -} -var_resolved_receiver = var125; -} else { +var13 = ((val*(*)(val* self))(var10->class->vft[COLOR_nit__model_base__MEntity__full_name]))(var10); /* full_name on */ } +((struct instance_standard__NativeArray*)var5)->values[1]=var13; { -var126 = nit___nit__MParameterType___MType__lookup_bound(self, var_mmodule, var_resolved_receiver); +var14 = ((val*(*)(val* self))(var5->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var5); /* native_to_s on */ } -var_verbatim_bound = var126; -{ -var127 = ((val* (*)(val* self, val* p0, val* p1, val* p2, short int p3))(var_verbatim_bound->class->vft[COLOR_nit__model__MType__resolve_for]))(var_verbatim_bound, var_mtype, var_anchor, var_mmodule, var_cleanup_virtual) /* resolve_for on */; +varonce = var5; +var3 = var14; +goto RET_LABEL4; +RET_LABEL4:(void)0; } -var_res128 = var127; -var = var_res128; -goto RET_LABEL; +self->attrs[COLOR_nit__model__MNullableType___full_name].val = var3; /* _full_name on */ +var2 = var3; +} +var = var2; RET_LABEL:; return var; } -/* method model#MParameterType#can_resolve_for for (self: MParameterType, MType, nullable MClassType, MModule): Bool */ -short int nit___nit__MParameterType___MType__can_resolve_for(val* self, val* p0, val* p1, val* p2) { -short int var /* : Bool */; -val* var_mtype /* var mtype: MType */; -val* var_anchor /* var anchor: nullable MClassType */; -val* var_mmodule /* var mmodule: MModule */; +/* method model#MNullableType#c_name for (self: MNullableType): String */ +val* nit___nit__MNullableType___nit__model_base__MEntity__c_name(val* self) { +val* var /* : String */; short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : Bool */; -short int var4 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var6 /* : Bool */; -short int var7 /* : Bool */; -val* var8 /* : MType */; -val* var9 /* : Set[MClassDef] */; -val* var10 /* : MClass */; -val* var12 /* : MClass */; -val* var13 /* : MClassDef */; -val* var15 /* : MClassDef */; -short int var16 /* : Bool */; -var_mtype = p0; -var_anchor = p1; -var_mmodule = p2; -{ -var1 = ((short int (*)(val* self))(var_mtype->class->vft[COLOR_nit__model__MType__need_anchor]))(var_mtype) /* need_anchor on */; +val* var2 /* : String */; +val* var3 /* : String */; +val* var5 /* : NativeArray[String] */; +static val* varonce; +static val* varonce6; +val* var7 /* : String */; +char* var8 /* : NativeString */; +val* var9 /* : FlatString */; +val* var10 /* : MType */; +val* var12 /* : MType */; +val* var13 /* : String */; +val* var14 /* : String */; +var1 = self->attrs[COLOR_nit__model__MNullableType___c_name].val != NULL; /* _c_name on */ +if(likely(var1)) { +var2 = self->attrs[COLOR_nit__model__MNullableType___c_name].val; /* _c_name on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _c_name"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1659); +fatal_exit(1); } -if (var1){ -var2 = NULL; -if (var_anchor == NULL) { -var3 = 0; /* is null */ } else { -var3 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_anchor,var2) on */ -var_other = var2; -{ -var6 = ((short int (*)(val* self, val* p0))(var_anchor->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_anchor, var_other) /* == on */; -} -var7 = !var6; -var4 = var7; -goto RET_LABEL5; -RET_LABEL5:(void)0; -} -var3 = var4; -} -if (unlikely(!var3)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1495); -show_backtrace(1); -} { -var8 = ((val* (*)(val* self, val* p0, val* p1))(var_mtype->class->vft[COLOR_nit__model__MType__anchor_to]))(var_mtype, var_mmodule, var_anchor) /* anchor_to on */; -} -var_mtype = var8; +if (unlikely(varonce==NULL)) { +var5 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String); +if (likely(varonce6!=NULL)) { +var7 = varonce6; } else { +var8 = "nullable__"; +var9 = standard___standard__NativeString___to_s_with_length(var8, 10l); +var7 = var9; +varonce6 = var7; } -{ -var9 = ((val* (*)(val* self, val* p0))(var_mtype->class->vft[COLOR_nit__model__MType__collect_mclassdefs]))(var_mtype, var_mmodule) /* collect_mclassdefs on */; +((struct instance_standard__NativeArray*)var5)->values[0]=var7; +} else { +var5 = varonce; +varonce = NULL; } { -{ /* Inline model#MParameterType#mclass (self) on */ -var12 = self->attrs[COLOR_nit__model__MParameterType___mclass].val; /* _mclass on */ +{ /* Inline model#MProxyType#mtype (self) on */ +var12 = self->attrs[COLOR_nit__model__MProxyType___mtype].val; /* _mtype on */ if (unlikely(var12 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1382); -show_backtrace(1); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1598); +fatal_exit(1); } var10 = var12; RET_LABEL11:(void)0; } } { -{ /* Inline model#MClass#intro (var10) on */ -var15 = var10->attrs[COLOR_nit__model__MClass___intro].val; /* _intro on */ -if (unlikely(var15 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 423); -show_backtrace(1); +var13 = ((val*(*)(val* self))(var10->class->vft[COLOR_nit__model_base__MEntity__c_name]))(var10); /* c_name on */ } -var13 = var15; -RET_LABEL14:(void)0; +((struct instance_standard__NativeArray*)var5)->values[1]=var13; +{ +var14 = ((val*(*)(val* self))(var5->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var5); /* native_to_s on */ } +varonce = var5; +var3 = var14; +goto RET_LABEL4; +RET_LABEL4:(void)0; } -{ -var16 = ((short int (*)(val* self, val* p0))(var9->class->vft[COLOR_standard__abstract_collection__Collection__has]))(var9, var13) /* has on */; +self->attrs[COLOR_nit__model__MNullableType___c_name].val = var3; /* _c_name on */ +var2 = var3; +} +var = var2; +RET_LABEL:; +return var; } -var = var16; +/* method model#MNullableType#as_nullable for (self: MNullableType): MType */ +val* nit___nit__MNullableType___MType__as_nullable(val* self) { +val* var /* : MType */; +var = self; goto RET_LABEL; RET_LABEL:; return var; } -/* method model#MParameterType#init for (self: MParameterType) */ -void nit___nit__MParameterType___standard__kernel__Object__init(val* self) { +/* method model#MNullableType#resolve_for for (self: MNullableType, MType, nullable MClassType, MModule, Bool): MType */ +val* nit___nit__MNullableType___MType__resolve_for(val* self, val* p0, val* p1, val* p2, short int p3) { +val* var /* : MType */; +val* var_mtype /* var mtype: MType */; +val* var_anchor /* var anchor: nullable MClassType */; +val* var_mmodule /* var mmodule: MModule */; +short int var_cleanup_virtual /* var cleanup_virtual: Bool */; +val* var1 /* : MType */; +val* var_res /* var res: MType */; +val* var2 /* : MType */; +var_mtype = p0; +var_anchor = p1; +var_mmodule = p2; +var_cleanup_virtual = p3; +{ +var1 = ((val*(*)(val* self, val* p0, val* p1, val* p2, short int p3))(self->class->vft[COLOR_nit___nit__MNullableType___MType__resolve_for]))(self, p0, p1, p2, p3); /* resolve_for on */ +} +var_res = var1; { -((void (*)(val* self))(self->class->vft[COLOR_nit___nit__MParameterType___standard__kernel__Object__init]))(self) /* init on */; +var2 = ((val*(*)(val* self))(var_res->class->vft[COLOR_nit__model__MType__as_nullable]))(var_res); /* as_nullable on */ } +var = var2; +goto RET_LABEL; RET_LABEL:; +return var; } -/* method model#MNullableType#mtype for (self: MNullableType): MType */ -val* nit___nit__MNullableType___mtype(val* self) { +/* method model#MNullableType#lookup_fixed for (self: MNullableType, MModule, MType): MType */ +val* nit___nit__MNullableType___MType__lookup_fixed(val* self, val* p0, val* p1) { val* var /* : MType */; +val* var_mmodule /* var mmodule: MModule */; +val* var_resolved_receiver /* var resolved_receiver: MType */; val* var1 /* : MType */; -var1 = self->attrs[COLOR_nit__model__MNullableType___mtype].val; /* _mtype on */ -if (unlikely(var1 == NULL)) { +val* var_t /* var t: MType */; +val* var2 /* : MType */; +val* var4 /* : MType */; +short int var5 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var7 /* : Bool */; +short int var9 /* : Bool */; +val* var10 /* : MType */; +var_mmodule = p0; +var_resolved_receiver = p1; +{ +var1 = ((val*(*)(val* self, val* p0, val* p1))(self->class->vft[COLOR_nit___nit__MNullableType___MType__lookup_fixed]))(self, p0, p1); /* lookup_fixed on */ +} +var_t = var1; +{ +{ /* Inline model#MProxyType#mtype (self) on */ +var4 = self->attrs[COLOR_nit__model__MProxyType___mtype].val; /* _mtype on */ +if (unlikely(var4 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1506); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1598); +fatal_exit(1); } -var = var1; -RET_LABEL:; -return var; +var2 = var4; +RET_LABEL3:(void)0; } -/* method model#MNullableType#mtype= for (self: MNullableType, MType) */ -void nit___nit__MNullableType___mtype_61d(val* self, val* p0) { -self->attrs[COLOR_nit__model__MNullableType___mtype].val = p0; /* _mtype on */ -RET_LABEL:; } -/* method model#MNullableType#model for (self: MNullableType): Model */ -val* nit___nit__MNullableType___nit__model_base__MEntity__model(val* self) { -val* var /* : Model */; -val* var1 /* : MType */; -val* var3 /* : MType */; -val* var4 /* : Model */; { -{ /* Inline model#MNullableType#mtype (self) on */ -var3 = self->attrs[COLOR_nit__model__MNullableType___mtype].val; /* _mtype on */ -if (unlikely(var3 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1506); -show_backtrace(1); +{ /* Inline kernel#Object#== (var_t,var2) on */ +var_other = var2; +{ +{ /* Inline kernel#Object#is_same_instance (var_t,var_other) on */ +var9 = var_t == var_other; +var7 = var9; +goto RET_LABEL8; +RET_LABEL8:(void)0; } -var1 = var3; -RET_LABEL2:(void)0; +} +var5 = var7; +goto RET_LABEL6; +RET_LABEL6:(void)0; } } +if (var5){ +var = self; +goto RET_LABEL; +} else { +} { -var4 = ((val* (*)(val* self))(var1->class->vft[COLOR_nit__model_base__MEntity__model]))(var1) /* model on */; +var10 = ((val*(*)(val* self))(var_t->class->vft[COLOR_nit__model__MType__as_nullable]))(var_t); /* as_nullable on */ } -var = var4; +var = var10; goto RET_LABEL; RET_LABEL:; return var; } -/* method model#MNullableType#init for (self: MNullableType) */ -void nit___nit__MNullableType___standard__kernel__Object__init(val* self) { -static val* varonce; +/* method model#MNotNullType#to_s for (self: MNotNullType): String */ +val* nit___nit__MNotNullType___standard__string__Object__to_s(val* self) { val* var /* : String */; -char* var1 /* : NativeString */; -long var2 /* : Int */; -val* var3 /* : FlatString */; -val* var4 /* : MType */; +val* var1 /* : NativeArray[String] */; +static val* varonce; +static val* varonce2; +val* var3 /* : String */; +char* var4 /* : NativeString */; +val* var5 /* : FlatString */; val* var6 /* : MType */; -val* var7 /* : Array[Object] */; -long var8 /* : Int */; -val* var9 /* : NativeArray[Object] */; +val* var8 /* : MType */; +val* var9 /* : String */; val* var10 /* : String */; -{ -((void (*)(val* self))(self->class->vft[COLOR_nit___nit__MNullableType___standard__kernel__Object__init]))(self) /* init on */; +if (unlikely(varonce==NULL)) { +var1 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String); +if (likely(varonce2!=NULL)) { +var3 = varonce2; +} else { +var4 = "not null "; +var5 = standard___standard__NativeString___to_s_with_length(var4, 9l); +var3 = var5; +varonce2 = var3; } -if (varonce) { -var = varonce; +((struct instance_standard__NativeArray*)var1)->values[0]=var3; } else { -var1 = "nullable "; -var2 = 9; -var3 = standard___standard__NativeString___to_s_with_length(var1, var2); -var = var3; -varonce = var; +var1 = varonce; +varonce = NULL; } { -{ /* Inline model#MNullableType#mtype (self) on */ -var6 = self->attrs[COLOR_nit__model__MNullableType___mtype].val; /* _mtype on */ -if (unlikely(var6 == NULL)) { +{ /* Inline model#MProxyType#mtype (self) on */ +var8 = self->attrs[COLOR_nit__model__MProxyType___mtype].val; /* _mtype on */ +if (unlikely(var8 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1506); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1598); +fatal_exit(1); } -var4 = var6; -RET_LABEL5:(void)0; -} -} -var7 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var7 = array_instance Array[Object] */ -var8 = 2; -var9 = NEW_standard__NativeArray(var8, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var9)->values[0] = (val*) var; -((struct instance_standard__NativeArray*)var9)->values[1] = (val*) var4; -{ -((void (*)(val* self, val* p0, long p1))(var7->class->vft[COLOR_standard__array__Array__with_native]))(var7, var9, var8) /* with_native on */; +var6 = var8; +RET_LABEL7:(void)0; } } { -var10 = ((val* (*)(val* self))(var7->class->vft[COLOR_standard__string__Object__to_s]))(var7) /* to_s on */; +var9 = ((val*(*)(val* self))(var6->class->vft[COLOR_standard__string__Object__to_s]))(var6); /* to_s on */ } +((struct instance_standard__NativeArray*)var1)->values[1]=var9; { -{ /* Inline model#MNullableType#to_s= (self,var10) on */ -self->attrs[COLOR_nit__model__MNullableType___to_s].val = var10; /* _to_s on */ -RET_LABEL11:(void)0; +var10 = ((val*(*)(val* self))(var1->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var1); /* native_to_s on */ } -} -RET_LABEL:; -} -/* method model#MNullableType#to_s for (self: MNullableType): String */ -val* nit___nit__MNullableType___standard__string__Object__to_s(val* self) { -val* var /* : String */; -val* var1 /* : String */; -var1 = self->attrs[COLOR_nit__model__MNullableType___to_s].val; /* _to_s on */ -if (unlikely(var1 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _to_s"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1516); -show_backtrace(1); -} -var = var1; +varonce = var1; +var = var10; +goto RET_LABEL; RET_LABEL:; return var; } -/* method model#MNullableType#to_s= for (self: MNullableType, String) */ -void nit___nit__MNullableType___to_s_61d(val* self, val* p0) { -self->attrs[COLOR_nit__model__MNullableType___to_s].val = p0; /* _to_s on */ -RET_LABEL:; -} -/* method model#MNullableType#full_name for (self: MNullableType): String */ -val* nit___nit__MNullableType___nit__model_base__MEntity__full_name(val* self) { +/* method model#MNotNullType#full_name for (self: MNotNullType): String */ +val* nit___nit__MNotNullType___nit__model_base__MEntity__full_name(val* self) { val* var /* : String */; short int var1 /* : Bool */; val* var2 /* : String */; val* var3 /* : String */; +val* var5 /* : NativeArray[String] */; static val* varonce; -val* var5 /* : String */; -char* var6 /* : NativeString */; -long var7 /* : Int */; -val* var8 /* : FlatString */; -val* var9 /* : MType */; -val* var11 /* : MType */; -val* var12 /* : String */; -val* var13 /* : Array[Object] */; -long var14 /* : Int */; -val* var15 /* : NativeArray[Object] */; -val* var16 /* : String */; -var1 = self->attrs[COLOR_nit__model__MNullableType___full_name].val != NULL; /* _full_name on */ +static val* varonce6; +val* var7 /* : String */; +char* var8 /* : NativeString */; +val* var9 /* : FlatString */; +val* var10 /* : MType */; +val* var12 /* : MType */; +val* var13 /* : String */; +val* var14 /* : String */; +var1 = self->attrs[COLOR_nit__model__MNotNullType___full_name].val != NULL; /* _full_name on */ if(likely(var1)) { -var2 = self->attrs[COLOR_nit__model__MNullableType___full_name].val; /* _full_name on */ +var2 = self->attrs[COLOR_nit__model__MNotNullType___full_name].val; /* _full_name on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _full_name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1518); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1684); +fatal_exit(1); } } else { { -if (varonce) { -var5 = varonce; +if (unlikely(varonce==NULL)) { +var5 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String); +if (likely(varonce6!=NULL)) { +var7 = varonce6; } else { -var6 = "nullable "; -var7 = 9; -var8 = standard___standard__NativeString___to_s_with_length(var6, var7); -var5 = var8; -varonce = var5; +var8 = "not null "; +var9 = standard___standard__NativeString___to_s_with_length(var8, 9l); +var7 = var9; +varonce6 = var7; +} +((struct instance_standard__NativeArray*)var5)->values[0]=var7; +} else { +var5 = varonce; +varonce = NULL; } { -{ /* Inline model#MNullableType#mtype (self) on */ -var11 = self->attrs[COLOR_nit__model__MNullableType___mtype].val; /* _mtype on */ -if (unlikely(var11 == NULL)) { +{ /* Inline model#MProxyType#mtype (self) on */ +var12 = self->attrs[COLOR_nit__model__MProxyType___mtype].val; /* _mtype on */ +if (unlikely(var12 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1506); -show_backtrace(1); -} -var9 = var11; -RET_LABEL10:(void)0; +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1598); +fatal_exit(1); } +var10 = var12; +RET_LABEL11:(void)0; } -{ -var12 = ((val* (*)(val* self))(var9->class->vft[COLOR_nit__model_base__MEntity__full_name]))(var9) /* full_name on */; } -var13 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var13 = array_instance Array[Object] */ -var14 = 2; -var15 = NEW_standard__NativeArray(var14, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var15)->values[0] = (val*) var5; -((struct instance_standard__NativeArray*)var15)->values[1] = (val*) var12; { -((void (*)(val* self, val* p0, long p1))(var13->class->vft[COLOR_standard__array__Array__with_native]))(var13, var15, var14) /* with_native on */; -} +var13 = ((val*(*)(val* self))(var10->class->vft[COLOR_nit__model_base__MEntity__full_name]))(var10); /* full_name on */ } +((struct instance_standard__NativeArray*)var5)->values[1]=var13; { -var16 = ((val* (*)(val* self))(var13->class->vft[COLOR_standard__string__Object__to_s]))(var13) /* to_s on */; +var14 = ((val*(*)(val* self))(var5->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var5); /* native_to_s on */ } -var3 = var16; +varonce = var5; +var3 = var14; goto RET_LABEL4; RET_LABEL4:(void)0; } -self->attrs[COLOR_nit__model__MNullableType___full_name].val = var3; /* _full_name on */ +self->attrs[COLOR_nit__model__MNotNullType___full_name].val = var3; /* _full_name on */ var2 = var3; } var = var2; RET_LABEL:; return var; } -/* method model#MNullableType#c_name for (self: MNullableType): String */ -val* nit___nit__MNullableType___nit__model_base__MEntity__c_name(val* self) { +/* method model#MNotNullType#c_name for (self: MNotNullType): String */ +val* nit___nit__MNotNullType___nit__model_base__MEntity__c_name(val* self) { val* var /* : String */; short int var1 /* : Bool */; val* var2 /* : String */; val* var3 /* : String */; +val* var5 /* : NativeArray[String] */; static val* varonce; -val* var5 /* : String */; -char* var6 /* : NativeString */; -long var7 /* : Int */; -val* var8 /* : FlatString */; -val* var9 /* : MType */; -val* var11 /* : MType */; -val* var12 /* : String */; -val* var13 /* : Array[Object] */; -long var14 /* : Int */; -val* var15 /* : NativeArray[Object] */; -val* var16 /* : String */; -var1 = self->attrs[COLOR_nit__model__MNullableType___c_name].val != NULL; /* _c_name on */ +static val* varonce6; +val* var7 /* : String */; +char* var8 /* : NativeString */; +val* var9 /* : FlatString */; +val* var10 /* : MType */; +val* var12 /* : MType */; +val* var13 /* : String */; +val* var14 /* : String */; +var1 = self->attrs[COLOR_nit__model__MNotNullType___c_name].val != NULL; /* _c_name on */ if(likely(var1)) { -var2 = self->attrs[COLOR_nit__model__MNullableType___c_name].val; /* _c_name on */ +var2 = self->attrs[COLOR_nit__model__MNotNullType___c_name].val; /* _c_name on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _c_name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1520); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1685); +fatal_exit(1); } } else { { -if (varonce) { -var5 = varonce; +if (unlikely(varonce==NULL)) { +var5 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String); +if (likely(varonce6!=NULL)) { +var7 = varonce6; } else { -var6 = "nullable__"; -var7 = 10; -var8 = standard___standard__NativeString___to_s_with_length(var6, var7); -var5 = var8; -varonce = var5; +var8 = "notnull__"; +var9 = standard___standard__NativeString___to_s_with_length(var8, 9l); +var7 = var9; +varonce6 = var7; +} +((struct instance_standard__NativeArray*)var5)->values[0]=var7; +} else { +var5 = varonce; +varonce = NULL; } { -{ /* Inline model#MNullableType#mtype (self) on */ -var11 = self->attrs[COLOR_nit__model__MNullableType___mtype].val; /* _mtype on */ -if (unlikely(var11 == NULL)) { +{ /* Inline model#MProxyType#mtype (self) on */ +var12 = self->attrs[COLOR_nit__model__MProxyType___mtype].val; /* _mtype on */ +if (unlikely(var12 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1506); -show_backtrace(1); -} -var9 = var11; -RET_LABEL10:(void)0; +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1598); +fatal_exit(1); } +var10 = var12; +RET_LABEL11:(void)0; } -{ -var12 = ((val* (*)(val* self))(var9->class->vft[COLOR_nit__model_base__MEntity__c_name]))(var9) /* c_name on */; } -var13 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var13 = array_instance Array[Object] */ -var14 = 2; -var15 = NEW_standard__NativeArray(var14, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var15)->values[0] = (val*) var5; -((struct instance_standard__NativeArray*)var15)->values[1] = (val*) var12; { -((void (*)(val* self, val* p0, long p1))(var13->class->vft[COLOR_standard__array__Array__with_native]))(var13, var15, var14) /* with_native on */; -} +var13 = ((val*(*)(val* self))(var10->class->vft[COLOR_nit__model_base__MEntity__c_name]))(var10); /* c_name on */ } +((struct instance_standard__NativeArray*)var5)->values[1]=var13; { -var16 = ((val* (*)(val* self))(var13->class->vft[COLOR_standard__string__Object__to_s]))(var13) /* to_s on */; +var14 = ((val*(*)(val* self))(var5->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var5); /* native_to_s on */ } -var3 = var16; +varonce = var5; +var3 = var14; goto RET_LABEL4; RET_LABEL4:(void)0; } -self->attrs[COLOR_nit__model__MNullableType___c_name].val = var3; /* _c_name on */ +self->attrs[COLOR_nit__model__MNotNullType___c_name].val = var3; /* _c_name on */ var2 = var3; } var = var2; RET_LABEL:; return var; } -/* method model#MNullableType#need_anchor for (self: MNullableType): Bool */ -short int nit___nit__MNullableType___MType__need_anchor(val* self) { -short int var /* : Bool */; -val* var1 /* : MType */; -val* var3 /* : MType */; -short int var4 /* : Bool */; -{ -{ /* Inline model#MNullableType#mtype (self) on */ -var3 = self->attrs[COLOR_nit__model__MNullableType___mtype].val; /* _mtype on */ -if (unlikely(var3 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1506); -show_backtrace(1); -} -var1 = var3; -RET_LABEL2:(void)0; -} -} -{ -var4 = ((short int (*)(val* self))(var1->class->vft[COLOR_nit__model__MType__need_anchor]))(var1) /* need_anchor on */; -} -var = var4; -goto RET_LABEL; -RET_LABEL:; -return var; -} -/* method model#MNullableType#as_nullable for (self: MNullableType): MType */ -val* nit___nit__MNullableType___MType__as_nullable(val* self) { +/* method model#MNotNullType#as_notnull for (self: MNotNullType): MType */ +val* nit___nit__MNotNullType___MType__as_notnull(val* self) { val* var /* : MType */; var = self; goto RET_LABEL; RET_LABEL:; return var; } -/* method model#MNullableType#as_notnullable for (self: MNullableType): MType */ -val* nit___nit__MNullableType___MType__as_notnullable(val* self) { -val* var /* : MType */; -val* var1 /* : MType */; -val* var3 /* : MType */; -{ -{ /* Inline model#MNullableType#mtype (self) on */ -var3 = self->attrs[COLOR_nit__model__MNullableType___mtype].val; /* _mtype on */ -if (unlikely(var3 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1506); -show_backtrace(1); -} -var1 = var3; -RET_LABEL2:(void)0; -} -} -var = var1; -goto RET_LABEL; -RET_LABEL:; -return var; -} -/* method model#MNullableType#resolve_for for (self: MNullableType, MType, nullable MClassType, MModule, Bool): MType */ -val* nit___nit__MNullableType___MType__resolve_for(val* self, val* p0, val* p1, val* p2, short int p3) { +/* method model#MNotNullType#resolve_for for (self: MNotNullType, MType, nullable MClassType, MModule, Bool): MType */ +val* nit___nit__MNotNullType___MType__resolve_for(val* self, val* p0, val* p1, val* p2, short int p3) { val* var /* : MType */; val* var_mtype /* var mtype: MType */; val* var_anchor /* var anchor: nullable MClassType */; val* var_mmodule /* var mmodule: MModule */; short int var_cleanup_virtual /* var cleanup_virtual: Bool */; val* var1 /* : MType */; -val* var3 /* : MType */; -val* var4 /* : MType */; val* var_res /* var res: MType */; -val* var5 /* : MType */; +val* var2 /* : MType */; var_mtype = p0; var_anchor = p1; var_mmodule = p2; var_cleanup_virtual = p3; { -{ /* Inline model#MNullableType#mtype (self) on */ -var3 = self->attrs[COLOR_nit__model__MNullableType___mtype].val; /* _mtype on */ -if (unlikely(var3 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1506); -show_backtrace(1); -} -var1 = var3; -RET_LABEL2:(void)0; -} -} -{ -var4 = ((val* (*)(val* self, val* p0, val* p1, val* p2, short int p3))(var1->class->vft[COLOR_nit__model__MType__resolve_for]))(var1, var_mtype, var_anchor, var_mmodule, var_cleanup_virtual) /* resolve_for on */; -} -var_res = var4; -{ -var5 = ((val* (*)(val* self))(var_res->class->vft[COLOR_nit__model__MType__as_nullable]))(var_res) /* as_nullable on */; -} -var = var5; -goto RET_LABEL; -RET_LABEL:; -return var; -} -/* method model#MNullableType#can_resolve_for for (self: MNullableType, MType, nullable MClassType, MModule): Bool */ -short int nit___nit__MNullableType___MType__can_resolve_for(val* self, val* p0, val* p1, val* p2) { -short int var /* : Bool */; -val* var_mtype /* var mtype: MType */; -val* var_anchor /* var anchor: nullable MClassType */; -val* var_mmodule /* var mmodule: MModule */; -val* var1 /* : MType */; -val* var3 /* : MType */; -short int var4 /* : Bool */; -var_mtype = p0; -var_anchor = p1; -var_mmodule = p2; -{ -{ /* Inline model#MNullableType#mtype (self) on */ -var3 = self->attrs[COLOR_nit__model__MNullableType___mtype].val; /* _mtype on */ -if (unlikely(var3 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1506); -show_backtrace(1); -} -var1 = var3; -RET_LABEL2:(void)0; -} +var1 = ((val*(*)(val* self, val* p0, val* p1, val* p2, short int p3))(self->class->vft[COLOR_nit___nit__MNotNullType___MType__resolve_for]))(self, p0, p1, p2, p3); /* resolve_for on */ } +var_res = var1; { -var4 = ((short int (*)(val* self, val* p0, val* p1, val* p2))(var1->class->vft[COLOR_nit__model__MType__can_resolve_for]))(var1, var_mtype, var_anchor, var_mmodule) /* can_resolve_for on */; +var2 = ((val*(*)(val* self))(var_res->class->vft[COLOR_nit__model__MType__as_notnull]))(var_res); /* as_notnull on */ } -var = var4; +var = var2; goto RET_LABEL; RET_LABEL:; return var; } -/* method model#MNullableType#lookup_fixed for (self: MNullableType, MModule, MType): MType */ -val* nit___nit__MNullableType___MType__lookup_fixed(val* self, val* p0, val* p1) { +/* method model#MNotNullType#lookup_fixed for (self: MNotNullType, MModule, MType): MType */ +val* nit___nit__MNotNullType___MType__lookup_fixed(val* self, val* p0, val* p1) { val* var /* : MType */; val* var_mmodule /* var mmodule: MModule */; val* var_resolved_receiver /* var resolved_receiver: MType */; val* var1 /* : MType */; -val* var3 /* : MType */; -val* var4 /* : MType */; val* var_t /* var t: MType */; -val* var5 /* : MType */; -val* var7 /* : MType */; -short int var8 /* : Bool */; +val* var2 /* : MType */; +val* var4 /* : MType */; +short int var5 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var10 /* : Bool */; -short int var12 /* : Bool */; -val* var13 /* : MType */; +short int var7 /* : Bool */; +short int var9 /* : Bool */; +val* var10 /* : MType */; var_mmodule = p0; var_resolved_receiver = p1; { -{ /* Inline model#MNullableType#mtype (self) on */ -var3 = self->attrs[COLOR_nit__model__MNullableType___mtype].val; /* _mtype on */ -if (unlikely(var3 == NULL)) { +var1 = ((val*(*)(val* self, val* p0, val* p1))(self->class->vft[COLOR_nit___nit__MNotNullType___MType__lookup_fixed]))(self, p0, p1); /* lookup_fixed on */ +} +var_t = var1; +{ +{ /* Inline model#MProxyType#mtype (self) on */ +var4 = self->attrs[COLOR_nit__model__MProxyType___mtype].val; /* _mtype on */ +if (unlikely(var4 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1506); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1598); +fatal_exit(1); } -var1 = var3; -RET_LABEL2:(void)0; +var2 = var4; +RET_LABEL3:(void)0; } } { -var4 = ((val* (*)(val* self, val* p0, val* p1))(var1->class->vft[COLOR_nit__model__MType__lookup_fixed]))(var1, var_mmodule, var_resolved_receiver) /* lookup_fixed on */; -} -var_t = var4; +{ /* Inline kernel#Object#== (var_t,var2) on */ +var_other = var2; { -{ /* Inline model#MNullableType#mtype (self) on */ -var7 = self->attrs[COLOR_nit__model__MNullableType___mtype].val; /* _mtype on */ -if (unlikely(var7 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1506); -show_backtrace(1); +{ /* Inline kernel#Object#is_same_instance (var_t,var_other) on */ +var9 = var_t == var_other; +var7 = var9; +goto RET_LABEL8; +RET_LABEL8:(void)0; +} } var5 = var7; +goto RET_LABEL6; RET_LABEL6:(void)0; } } +if (var5){ +var = self; +goto RET_LABEL; +} else { +} { -{ /* Inline kernel#Object#== (var_t,var5) on */ -var_other = var5; -{ -{ /* Inline kernel#Object#is_same_instance (var_t,var_other) on */ -var12 = var_t == var_other; -var10 = var12; -goto RET_LABEL11; -RET_LABEL11:(void)0; +var10 = ((val*(*)(val* self))(var_t->class->vft[COLOR_nit__model__MType__as_notnull]))(var_t); /* as_notnull on */ +} +var = var10; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method model#MNullType#model for (self: MNullType): Model */ +val* nit___nit__MNullType___nit__model_base__MEntity__model(val* self) { +val* var /* : Model */; +val* var1 /* : Model */; +var1 = self->attrs[COLOR_nit__model__MNullType___model].val; /* _model on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1709); +fatal_exit(1); } +var = var1; +RET_LABEL:; +return var; } -var8 = var10; -goto RET_LABEL9; -RET_LABEL9:(void)0; +/* method model#MNullType#model= for (self: MNullType, Model) */ +void nit___nit__MNullType___model_61d(val* self, val* p0) { +self->attrs[COLOR_nit__model__MNullType___model].val = p0; /* _model on */ +RET_LABEL:; } +/* method model#MNullType#to_s for (self: MNullType): String */ +val* nit___nit__MNullType___standard__string__Object__to_s(val* self) { +val* var /* : String */; +static val* varonce; +val* var1 /* : String */; +char* var2 /* : NativeString */; +val* var3 /* : FlatString */; +if (likely(varonce!=NULL)) { +var1 = varonce; +} else { +var2 = "null"; +var3 = standard___standard__NativeString___to_s_with_length(var2, 4l); +var1 = var3; +varonce = var1; } -if (var8){ +var = var1; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method model#MNullType#full_name for (self: MNullType): String */ +val* nit___nit__MNullType___nit__model_base__MEntity__full_name(val* self) { +val* var /* : String */; +static val* varonce; +val* var1 /* : String */; +char* var2 /* : NativeString */; +val* var3 /* : FlatString */; +if (likely(varonce!=NULL)) { +var1 = varonce; +} else { +var2 = "null"; +var3 = standard___standard__NativeString___to_s_with_length(var2, 4l); +var1 = var3; +varonce = var1; +} +var = var1; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method model#MNullType#c_name for (self: MNullType): String */ +val* nit___nit__MNullType___nit__model_base__MEntity__c_name(val* self) { +val* var /* : String */; +static val* varonce; +val* var1 /* : String */; +char* var2 /* : NativeString */; +val* var3 /* : FlatString */; +if (likely(varonce!=NULL)) { +var1 = varonce; +} else { +var2 = "null"; +var3 = standard___standard__NativeString___to_s_with_length(var2, 4l); +var1 = var3; +varonce = var1; +} +var = var1; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method model#MNullType#as_nullable for (self: MNullType): MType */ +val* nit___nit__MNullType___MType__as_nullable(val* self) { +val* var /* : MType */; var = self; goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method model#MNullType#as_notnull for (self: MNullType): MType */ +val* nit___nit__MNullType___MType__as_notnull(val* self) { +val* var /* : MType */; +short int var1 /* : Bool */; +val* var2 /* : MType */; +val* var3 /* : MBottomType */; +val* var4 /* : Model */; +val* var6 /* : Model */; +var1 = self->attrs[COLOR_nit__model__MNullType___as_notnull].val != NULL; /* _as_notnull on */ +if(likely(var1)) { +var2 = self->attrs[COLOR_nit__model__MNullType___as_notnull].val; /* _as_notnull on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _as_notnull"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1715); +fatal_exit(1); +} } else { +var3 = NEW_nit__MBottomType(&type_nit__MBottomType); +{ +{ /* Inline model#MNullType#model (self) on */ +var6 = self->attrs[COLOR_nit__model__MNullType___model].val; /* _model on */ +if (unlikely(var6 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1709); +fatal_exit(1); +} +var4 = var6; +RET_LABEL5:(void)0; +} +} +{ +((void(*)(val* self, val* p0))(var3->class->vft[COLOR_nit__model__MBottomType__model_61d]))(var3, var4); /* model= on */ } { -var13 = ((val* (*)(val* self))(var_t->class->vft[COLOR_nit__model__MType__as_nullable]))(var_t) /* as_nullable on */; +((void(*)(val* self))(var3->class->vft[COLOR_standard__kernel__Object__init]))(var3); /* init on */ +} +self->attrs[COLOR_nit__model__MNullType___as_notnull].val = var3; /* _as_notnull on */ +var2 = var3; +} +var = var2; +RET_LABEL:; +return var; } -var = var13; +/* method model#MNullType#need_anchor for (self: MNullType): Bool */ +short int nit___nit__MNullType___MType__need_anchor(val* self) { +short int var /* : Bool */; +var = 0; goto RET_LABEL; RET_LABEL:; return var; } -/* method model#MNullableType#length for (self: MNullableType): Int */ -long nit___nit__MNullableType___MType__length(val* self) { -long var /* : Int */; -val* var1 /* : MType */; -val* var3 /* : MType */; -long var4 /* : Int */; -{ -{ /* Inline model#MNullableType#mtype (self) on */ -var3 = self->attrs[COLOR_nit__model__MNullableType___mtype].val; /* _mtype on */ -if (unlikely(var3 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1506); -show_backtrace(1); -} -var1 = var3; -RET_LABEL2:(void)0; -} -} -{ -var4 = ((long (*)(val* self))(var1->class->vft[COLOR_nit__model__MType__length]))(var1) /* length on */; +/* method model#MNullType#resolve_for for (self: MNullType, MType, nullable MClassType, MModule, Bool): MType */ +val* nit___nit__MNullType___MType__resolve_for(val* self, val* p0, val* p1, val* p2, short int p3) { +val* var /* : MType */; +val* var_mtype /* var mtype: MType */; +val* var_anchor /* var anchor: nullable MClassType */; +val* var_mmodule /* var mmodule: MModule */; +short int var_cleanup_virtual /* var cleanup_virtual: Bool */; +var_mtype = p0; +var_anchor = p1; +var_mmodule = p2; +var_cleanup_virtual = p3; +var = self; +goto RET_LABEL; +RET_LABEL:; +return var; } -var = var4; +/* method model#MNullType#can_resolve_for for (self: MNullType, MType, nullable MClassType, MModule): Bool */ +short int nit___nit__MNullType___MType__can_resolve_for(val* self, val* p0, val* p1, val* p2) { +short int var /* : Bool */; +val* var_mtype /* var mtype: MType */; +val* var_anchor /* var anchor: nullable MClassType */; +val* var_mmodule /* var mmodule: MModule */; +var_mtype = p0; +var_anchor = p1; +var_mmodule = p2; +var = 1; goto RET_LABEL; RET_LABEL:; return var; } -/* method model#MNullableType#collect_mclassdefs for (self: MNullableType, MModule): Set[MClassDef] */ -val* nit___nit__MNullableType___MType__collect_mclassdefs(val* self, val* p0) { +/* method model#MNullType#collect_mclassdefs for (self: MNullType, MModule): Set[MClassDef] */ +val* nit___nit__MNullType___MType__collect_mclassdefs(val* self, val* p0) { val* var /* : Set[MClassDef] */; val* var_mmodule /* var mmodule: MModule */; -short int var1 /* : Bool */; -short int var2 /* : Bool */; -val* var3 /* : MType */; -val* var5 /* : MType */; -val* var6 /* : Set[MClassDef] */; +val* var1 /* : HashSet[MClassDef] */; var_mmodule = p0; +var1 = NEW_standard__HashSet(&type_standard__HashSet__nit__MClassDef); { -var1 = nit___nit__MNullableType___MType__need_anchor(self); -} -var2 = !var1; -if (unlikely(!var2)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1550); -show_backtrace(1); -} -{ -{ /* Inline model#MNullableType#mtype (self) on */ -var5 = self->attrs[COLOR_nit__model__MNullableType___mtype].val; /* _mtype on */ -if (unlikely(var5 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1506); -show_backtrace(1); -} -var3 = var5; -RET_LABEL4:(void)0; -} -} -{ -var6 = ((val* (*)(val* self, val* p0))(var3->class->vft[COLOR_nit__model__MType__collect_mclassdefs]))(var3, var_mmodule) /* collect_mclassdefs on */; +standard___standard__HashSet___standard__kernel__Object__init(var1); /* Direct call hash_collection#HashSet#init on */ } -var = var6; +var = var1; goto RET_LABEL; RET_LABEL:; return var; } -/* method model#MNullableType#collect_mclasses for (self: MNullableType, MModule): Set[MClass] */ -val* nit___nit__MNullableType___MType__collect_mclasses(val* self, val* p0) { +/* method model#MNullType#collect_mclasses for (self: MNullType, MModule): Set[MClass] */ +val* nit___nit__MNullType___MType__collect_mclasses(val* self, val* p0) { val* var /* : Set[MClass] */; val* var_mmodule /* var mmodule: MModule */; -short int var1 /* : Bool */; -short int var2 /* : Bool */; -val* var3 /* : MType */; -val* var5 /* : MType */; -val* var6 /* : Set[MClass] */; +val* var1 /* : HashSet[MClass] */; var_mmodule = p0; +var1 = NEW_standard__HashSet(&type_standard__HashSet__nit__MClass); { -var1 = nit___nit__MNullableType___MType__need_anchor(self); -} -var2 = !var1; -if (unlikely(!var2)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1556); -show_backtrace(1); -} -{ -{ /* Inline model#MNullableType#mtype (self) on */ -var5 = self->attrs[COLOR_nit__model__MNullableType___mtype].val; /* _mtype on */ -if (unlikely(var5 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1506); -show_backtrace(1); -} -var3 = var5; -RET_LABEL4:(void)0; -} -} -{ -var6 = ((val* (*)(val* self, val* p0))(var3->class->vft[COLOR_nit__model__MType__collect_mclasses]))(var3, var_mmodule) /* collect_mclasses on */; +standard___standard__HashSet___standard__kernel__Object__init(var1); /* Direct call hash_collection#HashSet#init on */ } -var = var6; +var = var1; goto RET_LABEL; RET_LABEL:; return var; } -/* method model#MNullableType#collect_mtypes for (self: MNullableType, MModule): Set[MClassType] */ -val* nit___nit__MNullableType___MType__collect_mtypes(val* self, val* p0) { +/* method model#MNullType#collect_mtypes for (self: MNullType, MModule): Set[MClassType] */ +val* nit___nit__MNullType___MType__collect_mtypes(val* self, val* p0) { val* var /* : Set[MClassType] */; val* var_mmodule /* var mmodule: MModule */; -short int var1 /* : Bool */; -short int var2 /* : Bool */; -val* var3 /* : MType */; -val* var5 /* : MType */; -val* var6 /* : Set[MClassType] */; +val* var1 /* : HashSet[MClassType] */; var_mmodule = p0; +var1 = NEW_standard__HashSet(&type_standard__HashSet__nit__MClassType); { -var1 = nit___nit__MNullableType___MType__need_anchor(self); -} -var2 = !var1; -if (unlikely(!var2)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1562); -show_backtrace(1); -} -{ -{ /* Inline model#MNullableType#mtype (self) on */ -var5 = self->attrs[COLOR_nit__model__MNullableType___mtype].val; /* _mtype on */ -if (unlikely(var5 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1506); -show_backtrace(1); -} -var3 = var5; -RET_LABEL4:(void)0; +standard___standard__HashSet___standard__kernel__Object__init(var1); /* Direct call hash_collection#HashSet#init on */ } +var = var1; +goto RET_LABEL; +RET_LABEL:; +return var; } +/* method model#MNullType#init for (self: MNullType) */ +void nit___nit__MNullType___standard__kernel__Object__init(val* self) { { -var6 = ((val* (*)(val* self, val* p0))(var3->class->vft[COLOR_nit__model__MType__collect_mtypes]))(var3, var_mmodule) /* collect_mtypes on */; +((void(*)(val* self))(self->class->vft[COLOR_nit___nit__MNullType___standard__kernel__Object__init]))(self); /* init on */ } -var = var6; -goto RET_LABEL; RET_LABEL:; -return var; } -/* method model#MNullType#model for (self: MNullType): Model */ -val* nit___nit__MNullType___nit__model_base__MEntity__model(val* self) { +/* method model#MBottomType#model for (self: MBottomType): Model */ +val* nit___nit__MBottomType___nit__model_base__MEntity__model(val* self) { val* var /* : Model */; val* var1 /* : Model */; -var1 = self->attrs[COLOR_nit__model__MNullType___model].val; /* _model on */ +var1 = self->attrs[COLOR_nit__model__MBottomType___model].val; /* _model on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1572); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1735); +fatal_exit(1); } var = var1; RET_LABEL:; return var; } -/* method model#MNullType#model= for (self: MNullType, Model) */ -void nit___nit__MNullType___model_61d(val* self, val* p0) { -self->attrs[COLOR_nit__model__MNullType___model].val = p0; /* _model on */ +/* method model#MBottomType#model= for (self: MBottomType, Model) */ +void nit___nit__MBottomType___model_61d(val* self, val* p0) { +self->attrs[COLOR_nit__model__MBottomType___model].val = p0; /* _model on */ RET_LABEL:; } -/* method model#MNullType#to_s for (self: MNullType): String */ -val* nit___nit__MNullType___standard__string__Object__to_s(val* self) { +/* method model#MBottomType#to_s for (self: MBottomType): String */ +val* nit___nit__MBottomType___standard__string__Object__to_s(val* self) { val* var /* : String */; static val* varonce; val* var1 /* : String */; char* var2 /* : NativeString */; -long var3 /* : Int */; -val* var4 /* : FlatString */; -if (varonce) { +val* var3 /* : FlatString */; +if (likely(varonce!=NULL)) { var1 = varonce; } else { -var2 = "null"; -var3 = 4; -var4 = standard___standard__NativeString___to_s_with_length(var2, var3); -var1 = var4; +var2 = "bottom"; +var3 = standard___standard__NativeString___to_s_with_length(var2, 6l); +var1 = var3; varonce = var1; } var = var1; @@ -1378,21 +2370,19 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method model#MNullType#full_name for (self: MNullType): String */ -val* nit___nit__MNullType___nit__model_base__MEntity__full_name(val* self) { +/* method model#MBottomType#full_name for (self: MBottomType): String */ +val* nit___nit__MBottomType___nit__model_base__MEntity__full_name(val* self) { val* var /* : String */; static val* varonce; val* var1 /* : String */; char* var2 /* : NativeString */; -long var3 /* : Int */; -val* var4 /* : FlatString */; -if (varonce) { +val* var3 /* : FlatString */; +if (likely(varonce!=NULL)) { var1 = varonce; } else { -var2 = "null"; -var3 = 4; -var4 = standard___standard__NativeString___to_s_with_length(var2, var3); -var1 = var4; +var2 = "bottom"; +var3 = standard___standard__NativeString___to_s_with_length(var2, 6l); +var1 = var3; varonce = var1; } var = var1; @@ -1400,21 +2390,19 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method model#MNullType#c_name for (self: MNullType): String */ -val* nit___nit__MNullType___nit__model_base__MEntity__c_name(val* self) { +/* method model#MBottomType#c_name for (self: MBottomType): String */ +val* nit___nit__MBottomType___nit__model_base__MEntity__c_name(val* self) { val* var /* : String */; static val* varonce; val* var1 /* : String */; char* var2 /* : NativeString */; -long var3 /* : Int */; -val* var4 /* : FlatString */; -if (varonce) { +val* var3 /* : FlatString */; +if (likely(varonce!=NULL)) { var1 = varonce; } else { -var2 = "null"; -var3 = 4; -var4 = standard___standard__NativeString___to_s_with_length(var2, var3); -var1 = var4; +var2 = "bottom"; +var3 = standard___standard__NativeString___to_s_with_length(var2, 6l); +var1 = var3; varonce = var1; } var = var1; @@ -1422,26 +2410,60 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method model#MNullType#as_nullable for (self: MNullType): MType */ -val* nit___nit__MNullType___MType__as_nullable(val* self) { +/* method model#MBottomType#as_nullable for (self: MBottomType): MType */ +val* nit___nit__MBottomType___MType__as_nullable(val* self) { +val* var /* : MType */; +val* var1 /* : Model */; +val* var3 /* : Model */; +val* var4 /* : MNullType */; +val* var6 /* : MNullType */; +{ +{ /* Inline model#MBottomType#model (self) on */ +var3 = self->attrs[COLOR_nit__model__MBottomType___model].val; /* _model on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1735); +fatal_exit(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} +} +{ +{ /* Inline model#Model#null_type (var1) on */ +var6 = var1->attrs[COLOR_nit__model__Model___null_type].val; /* _null_type on */ +if (unlikely(var6 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _null_type"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 94); +fatal_exit(1); +} +var4 = var6; +RET_LABEL5:(void)0; +} +} +var = var4; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method model#MBottomType#as_notnull for (self: MBottomType): MType */ +val* nit___nit__MBottomType___MType__as_notnull(val* self) { val* var /* : MType */; var = self; goto RET_LABEL; RET_LABEL:; return var; } -/* method model#MNullType#need_anchor for (self: MNullType): Bool */ -short int nit___nit__MNullType___MType__need_anchor(val* self) { +/* method model#MBottomType#need_anchor for (self: MBottomType): Bool */ +short int nit___nit__MBottomType___MType__need_anchor(val* self) { short int var /* : Bool */; -short int var1 /* : Bool */; -var1 = 0; -var = var1; +var = 0; goto RET_LABEL; RET_LABEL:; return var; } -/* method model#MNullType#resolve_for for (self: MNullType, MType, nullable MClassType, MModule, Bool): MType */ -val* nit___nit__MNullType___MType__resolve_for(val* self, val* p0, val* p1, val* p2, short int p3) { +/* method model#MBottomType#resolve_for for (self: MBottomType, MType, nullable MClassType, MModule, Bool): MType */ +val* nit___nit__MBottomType___MType__resolve_for(val* self, val* p0, val* p1, val* p2, short int p3) { val* var /* : MType */; val* var_mtype /* var mtype: MType */; val* var_anchor /* var anchor: nullable MClassType */; @@ -1456,24 +2478,22 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method model#MNullType#can_resolve_for for (self: MNullType, MType, nullable MClassType, MModule): Bool */ -short int nit___nit__MNullType___MType__can_resolve_for(val* self, val* p0, val* p1, val* p2) { +/* method model#MBottomType#can_resolve_for for (self: MBottomType, MType, nullable MClassType, MModule): Bool */ +short int nit___nit__MBottomType___MType__can_resolve_for(val* self, val* p0, val* p1, val* p2) { short int var /* : Bool */; val* var_mtype /* var mtype: MType */; val* var_anchor /* var anchor: nullable MClassType */; val* var_mmodule /* var mmodule: MModule */; -short int var1 /* : Bool */; var_mtype = p0; var_anchor = p1; var_mmodule = p2; -var1 = 1; -var = var1; +var = 1; goto RET_LABEL; RET_LABEL:; return var; } -/* method model#MNullType#collect_mclassdefs for (self: MNullType, MModule): Set[MClassDef] */ -val* nit___nit__MNullType___MType__collect_mclassdefs(val* self, val* p0) { +/* method model#MBottomType#collect_mclassdefs for (self: MBottomType, MModule): Set[MClassDef] */ +val* nit___nit__MBottomType___MType__collect_mclassdefs(val* self, val* p0) { val* var /* : Set[MClassDef] */; val* var_mmodule /* var mmodule: MModule */; val* var1 /* : HashSet[MClassDef] */; @@ -1487,8 +2507,8 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method model#MNullType#collect_mclasses for (self: MNullType, MModule): Set[MClass] */ -val* nit___nit__MNullType___MType__collect_mclasses(val* self, val* p0) { +/* method model#MBottomType#collect_mclasses for (self: MBottomType, MModule): Set[MClass] */ +val* nit___nit__MBottomType___MType__collect_mclasses(val* self, val* p0) { val* var /* : Set[MClass] */; val* var_mmodule /* var mmodule: MModule */; val* var1 /* : HashSet[MClass] */; @@ -1502,8 +2522,8 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method model#MNullType#collect_mtypes for (self: MNullType, MModule): Set[MClassType] */ -val* nit___nit__MNullType___MType__collect_mtypes(val* self, val* p0) { +/* method model#MBottomType#collect_mtypes for (self: MBottomType, MModule): Set[MClassType] */ +val* nit___nit__MBottomType___MType__collect_mtypes(val* self, val* p0) { val* var /* : Set[MClassType] */; val* var_mmodule /* var mmodule: MModule */; val* var1 /* : HashSet[MClassType] */; @@ -1517,10 +2537,10 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method model#MNullType#init for (self: MNullType) */ -void nit___nit__MNullType___standard__kernel__Object__init(val* self) { +/* method model#MBottomType#init for (self: MBottomType) */ +void nit___nit__MBottomType___standard__kernel__Object__init(val* self) { { -((void (*)(val* self))(self->class->vft[COLOR_nit___nit__MNullType___standard__kernel__Object__init]))(self) /* init on */; +((void(*)(val* self))(self->class->vft[COLOR_nit___nit__MBottomType___standard__kernel__Object__init]))(self); /* init on */ } RET_LABEL:; } @@ -1531,17 +2551,95 @@ val* var1 /* : Array[MParameter] */; var1 = self->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1592); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1756); +fatal_exit(1); +} +var = var1; +RET_LABEL:; +return var; +} +/* method model#MSignature#mparameters= for (self: MSignature, Array[MParameter]) */ +void nit___nit__MSignature___mparameters_61d(val* self, val* p0) { +self->attrs[COLOR_nit__model__MSignature___mparameters].val = p0; /* _mparameters on */ +RET_LABEL:; +} +/* method model#MSignature#mparameter_by_name for (self: MSignature, String): nullable MParameter */ +val* nit___nit__MSignature___mparameter_by_name(val* self, val* p0) { +val* var /* : nullable MParameter */; +val* var_name /* var name: String */; +val* var1 /* : Array[MParameter] */; +val* var3 /* : Array[MParameter] */; +val* var_ /* var : Array[MParameter] */; +val* var4 /* : ArrayIterator[nullable Object] */; +val* var_5 /* var : ArrayIterator[MParameter] */; +short int var6 /* : Bool */; +val* var7 /* : nullable Object */; +val* var_p /* var p: MParameter */; +val* var8 /* : String */; +val* var10 /* : String */; +short int var11 /* : Bool */; +var_name = p0; +{ +{ /* Inline model#MSignature#mparameters (self) on */ +var3 = self->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1756); +fatal_exit(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} +} +var_ = var1; +{ +var4 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); +} +var_5 = var4; +for(;;) { +{ +var6 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_5); +} +if (var6){ +{ +var7 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_5); +} +var_p = var7; +{ +{ /* Inline model#MParameter#name (var_p) on */ +var10 = var_p->attrs[COLOR_nit__model__MParameter___name].val; /* _name on */ +if (unlikely(var10 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1876); +fatal_exit(1); +} +var8 = var10; +RET_LABEL9:(void)0; +} +} +{ +var11 = ((short int(*)(val* self, val* p0))(var8->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var8, var_name); /* == on */ +} +if (var11){ +var = var_p; +goto RET_LABEL; +} else { +} +{ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_5); /* Direct call array#ArrayIterator#next on */ +} +} else { +goto BREAK_label; +} } -var = var1; -RET_LABEL:; -return var; +BREAK_label: (void)0; +{ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_5); /* Direct call array#ArrayIterator#finish on */ } -/* method model#MSignature#mparameters= for (self: MSignature, Array[MParameter]) */ -void nit___nit__MSignature___mparameters_61d(val* self, val* p0) { -self->attrs[COLOR_nit__model__MSignature___mparameters].val = p0; /* _mparameters on */ +var = ((val*)NULL); +goto RET_LABEL; RET_LABEL:; +return var; } /* method model#MSignature#return_mtype for (self: MSignature): nullable MType */ val* nit___nit__MSignature___return_mtype(val* self) { @@ -1560,155 +2658,151 @@ RET_LABEL:; /* method model#MSignature#length for (self: MSignature): Int */ long nit___nit__MSignature___MType__length(val* self) { long var /* : Int */; -long var1 /* : Int */; long var_res /* var res: Int */; -val* var2 /* : nullable MType */; -val* var4 /* : nullable MType */; +val* var1 /* : nullable MType */; +val* var3 /* : nullable MType */; val* var_t /* var t: nullable MType */; -val* var5 /* : null */; -short int var6 /* : Bool */; -short int var7 /* : Bool */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var9 /* : Bool */; -short int var10 /* : Bool */; -long var11 /* : Int */; -long var12 /* : Int */; -short int var14 /* : Bool */; +short int var7 /* : Bool */; +short int var8 /* : Bool */; +long var9 /* : Int */; +long var10 /* : Int */; +short int var12 /* : Bool */; int cltype; int idtype; const char* var_class_name; -long var15 /* : Int */; +long var13 /* : Int */; +val* var14 /* : Array[MParameter] */; val* var16 /* : Array[MParameter] */; -val* var18 /* : Array[MParameter] */; val* var_ /* var : Array[MParameter] */; -val* var19 /* : ArrayIterator[nullable Object] */; -val* var_20 /* var : ArrayIterator[MParameter] */; -short int var21 /* : Bool */; -val* var22 /* : nullable Object */; +val* var17 /* : ArrayIterator[nullable Object] */; +val* var_18 /* var : ArrayIterator[MParameter] */; +short int var19 /* : Bool */; +val* var20 /* : nullable Object */; val* var_p /* var p: MParameter */; +val* var21 /* : MType */; val* var23 /* : MType */; -val* var25 /* : MType */; -long var26 /* : Int */; -long var27 /* : Int */; -short int var29 /* : Bool */; -int cltype30; -int idtype31; -const char* var_class_name32; -long var33 /* : Int */; -var1 = 1; -var_res = var1; +long var24 /* : Int */; +long var25 /* : Int */; +short int var27 /* : Bool */; +int cltype28; +int idtype29; +const char* var_class_name30; +long var31 /* : Int */; +var_res = 1l; { { /* Inline model#MSignature#return_mtype (self) on */ -var4 = self->attrs[COLOR_nit__model__MSignature___return_mtype].val; /* _return_mtype on */ -var2 = var4; -RET_LABEL3:(void)0; +var3 = self->attrs[COLOR_nit__model__MSignature___return_mtype].val; /* _return_mtype on */ +var1 = var3; +RET_LABEL2:(void)0; } } -var_t = var2; -var5 = NULL; +var_t = var1; if (var_t == NULL) { -var6 = 0; /* is null */ +var4 = 0; /* is null */ } else { -var6 = 1; /* arg is null and recv is not */ +var4 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_t,var5) on */ -var_other = var5; +{ /* Inline kernel#Object#!= (var_t,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var9 = ((short int (*)(val* self, val* p0))(var_t->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_t, var_other) /* == on */; +var7 = ((short int(*)(val* self, val* p0))(var_t->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_t, var_other); /* == on */ } -var10 = !var9; -var7 = var10; -goto RET_LABEL8; -RET_LABEL8:(void)0; +var8 = !var7; +var5 = var8; +goto RET_LABEL6; +RET_LABEL6:(void)0; } -var6 = var7; +var4 = var5; } -if (var6){ +if (var4){ { -var11 = ((long (*)(val* self))(var_t->class->vft[COLOR_nit__model__MType__length]))(var_t) /* length on */; +var9 = ((long(*)(val* self))(var_t->class->vft[COLOR_nit__model__MType__length]))(var_t); /* length on */ } { -{ /* Inline kernel#Int#+ (var_res,var11) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var14 = 1; /* easy isa OTHER*/ -if (unlikely(!var14)) { +{ /* Inline kernel#Int#+ (var_res,var9) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var12 = 1; /* easy isa OTHER*/ +if (unlikely(!var12)) { 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, 413); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var15 = var_res + var11; -var12 = var15; -goto RET_LABEL13; -RET_LABEL13:(void)0; +var13 = var_res + var9; +var10 = var13; +goto RET_LABEL11; +RET_LABEL11:(void)0; } } -var_res = var12; +var_res = var10; } else { } { { /* Inline model#MSignature#mparameters (self) on */ -var18 = self->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ -if (unlikely(var18 == NULL)) { +var16 = self->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ +if (unlikely(var16 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1592); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1756); +fatal_exit(1); } -var16 = var18; -RET_LABEL17:(void)0; +var14 = var16; +RET_LABEL15:(void)0; } } -var_ = var16; +var_ = var14; { -var19 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); +var17 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); } -var_20 = var19; +var_18 = var17; for(;;) { { -var21 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_20); +var19 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_18); } -if (var21){ +if (var19){ { -var22 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_20); +var20 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_18); } -var_p = var22; +var_p = var20; { { /* Inline model#MParameter#mtype (var_p) on */ -var25 = var_p->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on */ -if (unlikely(var25 == NULL)) { +var23 = var_p->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on */ +if (unlikely(var23 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1690); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1879); +fatal_exit(1); } -var23 = var25; -RET_LABEL24:(void)0; +var21 = var23; +RET_LABEL22:(void)0; } } { -var26 = ((long (*)(val* self))(var23->class->vft[COLOR_nit__model__MType__length]))(var23) /* length on */; +var24 = ((long(*)(val* self))(var21->class->vft[COLOR_nit__model__MType__length]))(var21); /* length on */ } { -{ /* Inline kernel#Int#+ (var_res,var26) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var29 = 1; /* easy isa OTHER*/ -if (unlikely(!var29)) { -var_class_name32 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var_res,var24) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var27 = 1; /* easy isa OTHER*/ +if (unlikely(!var27)) { +var_class_name30 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name30); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var33 = var_res + var26; -var27 = var33; -goto RET_LABEL28; -RET_LABEL28:(void)0; +var31 = var_res + var24; +var25 = var31; +goto RET_LABEL26; +RET_LABEL26:(void)0; } } -var_res = var27; +var_res = var25; { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_20); /* Direct call array#ArrayIterator#next on */ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_18); /* Direct call array#ArrayIterator#next on */ } } else { goto BREAK_label; @@ -1716,9 +2810,7 @@ goto BREAK_label; } BREAK_label: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_20) on */ -RET_LABEL34:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_18); /* Direct call array#ArrayIterator#finish on */ } var = var_res; goto RET_LABEL; @@ -1728,197 +2820,322 @@ return var; /* method model#MSignature#init for (self: MSignature) */ void nit___nit__MSignature___standard__kernel__Object__init(val* self) { long var /* : Int */; -long var1 /* : Int */; -long var3 /* : Int */; +long var2 /* : Int */; long var_vararg_rank /* var vararg_rank: Int */; -long var4 /* : Int */; long var_i /* var i: Int */; +val* var3 /* : Array[MParameter] */; val* var5 /* : Array[MParameter] */; -val* var7 /* : Array[MParameter] */; +long var6 /* : Int */; long var8 /* : Int */; -long var10 /* : Int */; long var_ /* var : Int */; +short int var9 /* : Bool */; short int var11 /* : Bool */; -short int var13 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var14 /* : Bool */; +short int var12 /* : Bool */; +val* var13 /* : Array[MParameter] */; val* var15 /* : Array[MParameter] */; -val* var17 /* : Array[MParameter] */; -val* var18 /* : nullable Object */; +val* var16 /* : nullable Object */; val* var_parameter /* var parameter: MParameter */; +short int var17 /* : Bool */; short int var19 /* : Bool */; -short int var21 /* : Bool */; +long var20 /* : Int */; long var22 /* : Int */; -long var23 /* : Int */; -long var25 /* : Int */; -short int var26 /* : Bool */; -short int var28 /* : Bool */; -long var29 /* : Int */; -long var30 /* : Int */; +short int var23 /* : Bool */; +short int var25 /* : Bool */; +long var26 /* : Int */; { -((void (*)(val* self))(self->class->vft[COLOR_nit___nit__MSignature___standard__kernel__Object__init]))(self) /* init on */; +((void(*)(val* self))(self->class->vft[COLOR_nit___nit__MSignature___standard__kernel__Object__init]))(self); /* init on */ } -var = 1; { -{ /* Inline kernel#Int#unary - (var) on */ -var3 = -var; -var1 = var3; -goto RET_LABEL2; -RET_LABEL2:(void)0; +{ /* Inline kernel#Int#unary - (1l) on <1l:Int> */ +var2 = -1l; +var = var2; +goto RET_LABEL1; +RET_LABEL1:(void)0; } } -var_vararg_rank = var1; -var4 = 0; -var_i = var4; +var_vararg_rank = var; +var_i = 0l; { { /* Inline model#MSignature#mparameters (self) on */ -var7 = self->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ -if (unlikely(var7 == NULL)) { +var5 = self->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ +if (unlikely(var5 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1592); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1756); +fatal_exit(1); } -var5 = var7; -RET_LABEL6:(void)0; +var3 = var5; +RET_LABEL4:(void)0; } } { -{ /* Inline array#AbstractArrayRead#length (var5) on */ -var10 = var5->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ -var8 = var10; -RET_LABEL9:(void)0; +{ /* Inline array#AbstractArrayRead#length (var3) on */ +var8 = var3->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ +var6 = var8; +RET_LABEL7:(void)0; } } -var_ = var8; +var_ = var6; for(;;) { { { /* Inline kernel#Int#< (var_i,var_) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var13 = 1; /* easy isa OTHER*/ -if (unlikely(!var13)) { +var11 = 1; /* easy isa OTHER*/ +if (unlikely(!var11)) { 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, 410); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); } -var14 = var_i < var_; -var11 = var14; -goto RET_LABEL12; -RET_LABEL12:(void)0; +var12 = var_i < var_; +var9 = var12; +goto RET_LABEL10; +RET_LABEL10:(void)0; +} +} +if (var9){ +{ +{ /* Inline model#MSignature#mparameters (self) on */ +var15 = self->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ +if (unlikely(var15 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1756); +fatal_exit(1); +} +var13 = var15; +RET_LABEL14:(void)0; +} +} +{ +var16 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var13, var_i); +} +var_parameter = var16; +{ +{ /* Inline model#MParameter#is_vararg (var_parameter) on */ +var19 = var_parameter->attrs[COLOR_nit__model__MParameter___is_vararg].s; /* _is_vararg on */ +var17 = var19; +RET_LABEL18:(void)0; +} +} +if (var17){ +{ +{ /* Inline kernel#Int#unary - (1l) on <1l:Int> */ +var22 = -1l; +var20 = var22; +goto RET_LABEL21; +RET_LABEL21:(void)0; +} +} +{ +{ /* Inline kernel#Int#== (var_vararg_rank,var20) on */ +var25 = var_vararg_rank == var20; +var23 = var25; +goto RET_LABEL24; +RET_LABEL24:(void)0; +} +} +if (unlikely(!var23)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1801); +fatal_exit(1); +} +var_vararg_rank = var_i; +} else { +} +{ +var26 = standard___standard__Int___Discrete__successor(var_i, 1l); +} +var_i = var26; +} else { +goto BREAK_label; +} +} +BREAK_label: (void)0; +{ +{ /* Inline model#MSignature#vararg_rank= (self,var_vararg_rank) on */ +self->attrs[COLOR_nit__model__MSignature___vararg_rank].l = var_vararg_rank; /* _vararg_rank on */ +RET_LABEL27:(void)0; +} +} +RET_LABEL:; +} +/* method model#MSignature#vararg_rank for (self: MSignature): Int */ +long nit___nit__MSignature___vararg_rank(val* self) { +long var /* : Int */; +long var1 /* : Int */; +var1 = self->attrs[COLOR_nit__model__MSignature___vararg_rank].l; /* _vararg_rank on */ +var = var1; +RET_LABEL:; +return var; +} +/* method model#MSignature#vararg_rank= for (self: MSignature, Int) */ +void nit___nit__MSignature___vararg_rank_61d(val* self, long p0) { +self->attrs[COLOR_nit__model__MSignature___vararg_rank].l = p0; /* _vararg_rank on */ +RET_LABEL:; +} +/* method model#MSignature#arity for (self: MSignature): Int */ +long nit___nit__MSignature___arity(val* self) { +long var /* : Int */; +val* var1 /* : Array[MParameter] */; +val* var3 /* : Array[MParameter] */; +long var4 /* : Int */; +long var6 /* : Int */; +{ +{ /* Inline model#MSignature#mparameters (self) on */ +var3 = self->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1756); +fatal_exit(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} +} +{ +{ /* Inline array#AbstractArrayRead#length (var1) on */ +var6 = var1->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ +var4 = var6; +RET_LABEL5:(void)0; +} +} +var = var4; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method model#MSignature#min_arity for (self: MSignature): Int */ +long nit___nit__MSignature___min_arity(val* self) { +long var /* : Int */; +long var1 /* : Int */; +long var3 /* : Int */; +long var4 /* : Int */; +long var6 /* : Int */; +short int var7 /* : Bool */; +short int var9 /* : Bool */; +short int var10 /* : Bool */; +long var11 /* : Int */; +long var_res /* var res: Int */; +val* var12 /* : Array[MParameter] */; +val* var14 /* : Array[MParameter] */; +val* var_ /* var : Array[MParameter] */; +val* var15 /* : ArrayIterator[nullable Object] */; +val* var_16 /* var : ArrayIterator[MParameter] */; +short int var17 /* : Bool */; +val* var18 /* : nullable Object */; +val* var_p /* var p: MParameter */; +short int var19 /* : Bool */; +short int var21 /* : Bool */; +short int var22 /* : Bool */; +long var23 /* : Int */; +short int var25 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +long var26 /* : Int */; +{ +{ /* Inline model#MSignature#vararg_rank (self) on */ +var3 = self->attrs[COLOR_nit__model__MSignature___vararg_rank].l; /* _vararg_rank on */ +var1 = var3; +RET_LABEL2:(void)0; +} +} +{ +{ /* Inline kernel#Int#unary - (1l) on <1l:Int> */ +var6 = -1l; +var4 = var6; +goto RET_LABEL5; +RET_LABEL5:(void)0; +} +} +{ +{ /* Inline kernel#Int#!= (var1,var4) on */ +var9 = var1 == var4; +var10 = !var9; +var7 = var10; +goto RET_LABEL8; +RET_LABEL8:(void)0; +} +} +if (var7){ +{ +var11 = nit___nit__MSignature___arity(self); } +var = var11; +goto RET_LABEL; +} else { } -if (var11){ +var_res = 0l; { { /* Inline model#MSignature#mparameters (self) on */ -var17 = self->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ -if (unlikely(var17 == NULL)) { +var14 = self->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ +if (unlikely(var14 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1592); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1756); +fatal_exit(1); } -var15 = var17; -RET_LABEL16:(void)0; +var12 = var14; +RET_LABEL13:(void)0; } } +var_ = var12; { -var18 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var15, var_i); +var15 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); } -var_parameter = var18; +var_16 = var15; +for(;;) { { -{ /* Inline model#MParameter#is_vararg (var_parameter) on */ -var21 = var_parameter->attrs[COLOR_nit__model__MParameter___is_vararg].s; /* _is_vararg on */ -var19 = var21; -RET_LABEL20:(void)0; +var17 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_16); } +if (var17){ +{ +var18 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_16); } -if (var19){ -var22 = 1; +var_p = var18; { -{ /* Inline kernel#Int#unary - (var22) on */ -var25 = -var22; -var23 = var25; -goto RET_LABEL24; -RET_LABEL24:(void)0; +{ /* Inline model#MParameter#is_default (var_p) on */ +var21 = var_p->attrs[COLOR_nit__model__MParameter___is_default].s; /* _is_default on */ +var19 = var21; +RET_LABEL20:(void)0; } } +var22 = !var19; +if (var22){ { -{ /* Inline kernel#Int#== (var_vararg_rank,var23) on */ -var28 = var_vararg_rank == var23; -var26 = var28; -goto RET_LABEL27; -RET_LABEL27:(void)0; +{ /* Inline kernel#Int#+ (var_res,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var25 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var25)) { +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, 537); +fatal_exit(1); } +var26 = var_res + 1l; +var23 = var26; +goto RET_LABEL24; +RET_LABEL24:(void)0; } -if (unlikely(!var26)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1628); -show_backtrace(1); } -var_vararg_rank = var_i; +var_res = var23; } else { } -var29 = 1; { -var30 = standard___standard__Int___Discrete__successor(var_i, var29); +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_16); /* Direct call array#ArrayIterator#next on */ } -var_i = var30; } else { goto BREAK_label; } } BREAK_label: (void)0; { -{ /* Inline model#MSignature#vararg_rank= (self,var_vararg_rank) on */ -self->attrs[COLOR_nit__model__MSignature___vararg_rank].l = var_vararg_rank; /* _vararg_rank on */ -RET_LABEL31:(void)0; -} -} -RET_LABEL:; -} -/* method model#MSignature#vararg_rank for (self: MSignature): Int */ -long nit___nit__MSignature___vararg_rank(val* self) { -long var /* : Int */; -long var1 /* : Int */; -var1 = self->attrs[COLOR_nit__model__MSignature___vararg_rank].l; /* _vararg_rank on */ -var = var1; -RET_LABEL:; -return var; -} -/* method model#MSignature#vararg_rank= for (self: MSignature, Int) */ -void nit___nit__MSignature___vararg_rank_61d(val* self, long p0) { -self->attrs[COLOR_nit__model__MSignature___vararg_rank].l = p0; /* _vararg_rank on */ -RET_LABEL:; -} -/* method model#MSignature#arity for (self: MSignature): Int */ -long nit___nit__MSignature___arity(val* self) { -long var /* : Int */; -val* var1 /* : Array[MParameter] */; -val* var3 /* : Array[MParameter] */; -long var4 /* : Int */; -long var6 /* : Int */; -{ -{ /* Inline model#MSignature#mparameters (self) on */ -var3 = self->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ -if (unlikely(var3 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1592); -show_backtrace(1); -} -var1 = var3; -RET_LABEL2:(void)0; -} -} -{ -{ /* Inline array#AbstractArrayRead#length (var1) on */ -var6 = var1->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ -var4 = var6; -RET_LABEL5:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_16); /* Direct call array#ArrayIterator#finish on */ } -var = var4; +var = var_res; goto RET_LABEL; RET_LABEL:; return var; @@ -1935,82 +3152,72 @@ short int var7 /* : Bool */; static val* varonce; val* var8 /* : String */; char* var9 /* : NativeString */; -long var10 /* : Int */; -val* var11 /* : FlatString */; -long var12 /* : Int */; +val* var10 /* : FlatString */; long var_i /* var i: Int */; +val* var11 /* : Array[MParameter] */; val* var13 /* : Array[MParameter] */; -val* var15 /* : Array[MParameter] */; +long var14 /* : Int */; long var16 /* : Int */; -long var18 /* : Int */; long var_ /* var : Int */; +short int var17 /* : Bool */; short int var19 /* : Bool */; -short int var21 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var22 /* : Bool */; +short int var20 /* : Bool */; +val* var21 /* : Array[MParameter] */; val* var23 /* : Array[MParameter] */; -val* var25 /* : Array[MParameter] */; -val* var26 /* : nullable Object */; +val* var24 /* : nullable Object */; val* var_mparameter /* var mparameter: MParameter */; -long var27 /* : Int */; -short int var28 /* : Bool */; -short int var30 /* : Bool */; -int cltype31; -int idtype32; -const char* var_class_name33; -short int var34 /* : Bool */; -static val* varonce35; +short int var25 /* : Bool */; +short int var27 /* : Bool */; +int cltype28; +int idtype29; +const char* var_class_name30; +short int var31 /* : Bool */; +static val* varonce32; +val* var33 /* : String */; +char* var34 /* : NativeString */; +val* var35 /* : FlatString */; val* var36 /* : String */; -char* var37 /* : NativeString */; -long var38 /* : Int */; -val* var39 /* : FlatString */; +val* var38 /* : String */; +static val* varonce39; val* var40 /* : String */; -val* var42 /* : String */; -static val* varonce43; -val* var44 /* : String */; -char* var45 /* : NativeString */; -long var46 /* : Int */; -val* var47 /* : FlatString */; -val* var48 /* : MType */; -val* var50 /* : MType */; +char* var41 /* : NativeString */; +val* var42 /* : FlatString */; +val* var43 /* : MType */; +val* var45 /* : MType */; +val* var46 /* : String */; +short int var47 /* : Bool */; +short int var49 /* : Bool */; +static val* varonce50; val* var51 /* : String */; -short int var52 /* : Bool */; -short int var54 /* : Bool */; +char* var52 /* : NativeString */; +val* var53 /* : FlatString */; +long var54 /* : Int */; static val* varonce55; val* var56 /* : String */; char* var57 /* : NativeString */; -long var58 /* : Int */; -val* var59 /* : FlatString */; -long var60 /* : Int */; -long var61 /* : Int */; -static val* varonce62; -val* var63 /* : String */; -char* var64 /* : NativeString */; -long var65 /* : Int */; -val* var66 /* : FlatString */; -val* var67 /* : nullable MType */; -val* var69 /* : nullable MType */; +val* var58 /* : FlatString */; +val* var59 /* : nullable MType */; +val* var61 /* : nullable MType */; val* var_ret /* var ret: nullable MType */; -val* var70 /* : null */; -short int var71 /* : Bool */; -short int var72 /* : Bool */; +short int var62 /* : Bool */; +short int var63 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var74 /* : Bool */; -short int var75 /* : Bool */; -static val* varonce76; -val* var77 /* : String */; -char* var78 /* : NativeString */; -long var79 /* : Int */; -val* var80 /* : FlatString */; -val* var81 /* : String */; -val* var82 /* : String */; +short int var65 /* : Bool */; +short int var66 /* : Bool */; +static val* varonce67; +val* var68 /* : String */; +char* var69 /* : NativeString */; +val* var70 /* : FlatString */; +val* var71 /* : String */; +val* var72 /* : String */; var1 = NEW_standard__FlatBuffer(&type_standard__FlatBuffer); { { /* Inline string#FlatBuffer#init (var1) on */ { -((void (*)(val* self))(var1->class->vft[COLOR_standard___standard__FlatBuffer___standard__kernel__Object__init]))(var1) /* init on */; +((void(*)(val* self))(var1->class->vft[COLOR_standard___standard__FlatBuffer___standard__kernel__Object__init]))(var1); /* init on */ } RET_LABEL2:(void)0; } @@ -2021,8 +3228,8 @@ var_b = var1; var5 = self->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ if (unlikely(var5 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1592); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1756); +fatal_exit(1); } var3 = var5; RET_LABEL4:(void)0; @@ -2033,251 +3240,241 @@ var6 = standard___standard__AbstractArrayRead___standard__abstract_collection__C } var7 = !var6; if (var7){ -if (varonce) { +if (likely(varonce!=NULL)) { var8 = varonce; } else { var9 = "("; -var10 = 1; -var11 = standard___standard__NativeString___to_s_with_length(var9, var10); -var8 = var11; +var10 = standard___standard__NativeString___to_s_with_length(var9, 1l); +var8 = var10; varonce = var8; } { standard___standard__FlatBuffer___Buffer__append(var_b, var8); /* Direct call string#FlatBuffer#append on */ } -var12 = 0; -var_i = var12; +var_i = 0l; { { /* Inline model#MSignature#mparameters (self) on */ -var15 = self->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ -if (unlikely(var15 == NULL)) { +var13 = self->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ +if (unlikely(var13 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1592); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1756); +fatal_exit(1); } -var13 = var15; -RET_LABEL14:(void)0; +var11 = var13; +RET_LABEL12:(void)0; } } { -{ /* Inline array#AbstractArrayRead#length (var13) on */ -var18 = var13->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ -var16 = var18; -RET_LABEL17:(void)0; +{ /* Inline array#AbstractArrayRead#length (var11) on */ +var16 = var11->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ +var14 = var16; +RET_LABEL15:(void)0; } } -var_ = var16; +var_ = var14; for(;;) { { { /* Inline kernel#Int#< (var_i,var_) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var21 = 1; /* easy isa OTHER*/ -if (unlikely(!var21)) { +var19 = 1; /* easy isa OTHER*/ +if (unlikely(!var19)) { 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, 410); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); } -var22 = var_i < var_; -var19 = var22; -goto RET_LABEL20; -RET_LABEL20:(void)0; +var20 = var_i < var_; +var17 = var20; +goto RET_LABEL18; +RET_LABEL18:(void)0; } } -if (var19){ +if (var17){ { { /* Inline model#MSignature#mparameters (self) on */ -var25 = self->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ -if (unlikely(var25 == NULL)) { +var23 = self->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ +if (unlikely(var23 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1592); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1756); +fatal_exit(1); } -var23 = var25; -RET_LABEL24:(void)0; +var21 = var23; +RET_LABEL22:(void)0; } } { -var26 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var23, var_i); +var24 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var21, var_i); } -var_mparameter = var26; -var27 = 0; +var_mparameter = var24; { -{ /* Inline kernel#Int#> (var_i,var27) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var30 = 1; /* easy isa OTHER*/ -if (unlikely(!var30)) { -var_class_name33 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412); -show_backtrace(1); +{ /* Inline kernel#Int#> (var_i,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var27 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var27)) { +var_class_name30 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name30); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536); +fatal_exit(1); } -var34 = var_i > var27; -var28 = var34; -goto RET_LABEL29; -RET_LABEL29:(void)0; +var31 = var_i > 0l; +var25 = var31; +goto RET_LABEL26; +RET_LABEL26:(void)0; } } -if (var28){ -if (varonce35) { -var36 = varonce35; +if (var25){ +if (likely(varonce32!=NULL)) { +var33 = varonce32; } else { -var37 = ", "; -var38 = 2; -var39 = standard___standard__NativeString___to_s_with_length(var37, var38); -var36 = var39; -varonce35 = var36; +var34 = ", "; +var35 = standard___standard__NativeString___to_s_with_length(var34, 2l); +var33 = var35; +varonce32 = var33; } { -standard___standard__FlatBuffer___Buffer__append(var_b, var36); /* Direct call string#FlatBuffer#append on */ +standard___standard__FlatBuffer___Buffer__append(var_b, var33); /* Direct call string#FlatBuffer#append on */ } } else { } { { /* Inline model#MParameter#name (var_mparameter) on */ -var42 = var_mparameter->attrs[COLOR_nit__model__MParameter___name].val; /* _name on */ -if (unlikely(var42 == NULL)) { +var38 = var_mparameter->attrs[COLOR_nit__model__MParameter___name].val; /* _name on */ +if (unlikely(var38 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1687); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1876); +fatal_exit(1); } -var40 = var42; -RET_LABEL41:(void)0; +var36 = var38; +RET_LABEL37:(void)0; } } { -standard___standard__FlatBuffer___Buffer__append(var_b, var40); /* Direct call string#FlatBuffer#append on */ +standard___standard__FlatBuffer___Buffer__append(var_b, var36); /* Direct call string#FlatBuffer#append on */ } -if (varonce43) { -var44 = varonce43; +if (likely(varonce39!=NULL)) { +var40 = varonce39; } else { -var45 = ": "; -var46 = 2; -var47 = standard___standard__NativeString___to_s_with_length(var45, var46); -var44 = var47; -varonce43 = var44; +var41 = ": "; +var42 = standard___standard__NativeString___to_s_with_length(var41, 2l); +var40 = var42; +varonce39 = var40; } { -standard___standard__FlatBuffer___Buffer__append(var_b, var44); /* Direct call string#FlatBuffer#append on */ +standard___standard__FlatBuffer___Buffer__append(var_b, var40); /* Direct call string#FlatBuffer#append on */ } { { /* Inline model#MParameter#mtype (var_mparameter) on */ -var50 = var_mparameter->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on */ -if (unlikely(var50 == NULL)) { +var45 = var_mparameter->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on */ +if (unlikely(var45 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1690); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1879); +fatal_exit(1); } -var48 = var50; -RET_LABEL49:(void)0; +var43 = var45; +RET_LABEL44:(void)0; } } { -var51 = ((val* (*)(val* self))(var48->class->vft[COLOR_standard__string__Object__to_s]))(var48) /* to_s on */; +var46 = ((val*(*)(val* self))(var43->class->vft[COLOR_standard__string__Object__to_s]))(var43); /* to_s on */ } { -standard___standard__FlatBuffer___Buffer__append(var_b, var51); /* Direct call string#FlatBuffer#append on */ +standard___standard__FlatBuffer___Buffer__append(var_b, var46); /* Direct call string#FlatBuffer#append on */ } { { /* Inline model#MParameter#is_vararg (var_mparameter) on */ -var54 = var_mparameter->attrs[COLOR_nit__model__MParameter___is_vararg].s; /* _is_vararg on */ -var52 = var54; -RET_LABEL53:(void)0; +var49 = var_mparameter->attrs[COLOR_nit__model__MParameter___is_vararg].s; /* _is_vararg on */ +var47 = var49; +RET_LABEL48:(void)0; } } -if (var52){ -if (varonce55) { -var56 = varonce55; +if (var47){ +if (likely(varonce50!=NULL)) { +var51 = varonce50; } else { -var57 = "..."; -var58 = 3; -var59 = standard___standard__NativeString___to_s_with_length(var57, var58); -var56 = var59; -varonce55 = var56; +var52 = "..."; +var53 = standard___standard__NativeString___to_s_with_length(var52, 3l); +var51 = var53; +varonce50 = var51; } { -standard___standard__FlatBuffer___Buffer__append(var_b, var56); /* Direct call string#FlatBuffer#append on */ +standard___standard__FlatBuffer___Buffer__append(var_b, var51); /* Direct call string#FlatBuffer#append on */ } } else { } -var60 = 1; { -var61 = standard___standard__Int___Discrete__successor(var_i, var60); +var54 = standard___standard__Int___Discrete__successor(var_i, 1l); } -var_i = var61; +var_i = var54; } else { goto BREAK_label; } } BREAK_label: (void)0; -if (varonce62) { -var63 = varonce62; +if (likely(varonce55!=NULL)) { +var56 = varonce55; } else { -var64 = ")"; -var65 = 1; -var66 = standard___standard__NativeString___to_s_with_length(var64, var65); -var63 = var66; -varonce62 = var63; +var57 = ")"; +var58 = standard___standard__NativeString___to_s_with_length(var57, 1l); +var56 = var58; +varonce55 = var56; } { -standard___standard__FlatBuffer___Buffer__append(var_b, var63); /* Direct call string#FlatBuffer#append on */ +standard___standard__FlatBuffer___Buffer__append(var_b, var56); /* Direct call string#FlatBuffer#append on */ } } else { } { { /* Inline model#MSignature#return_mtype (self) on */ -var69 = self->attrs[COLOR_nit__model__MSignature___return_mtype].val; /* _return_mtype on */ -var67 = var69; -RET_LABEL68:(void)0; +var61 = self->attrs[COLOR_nit__model__MSignature___return_mtype].val; /* _return_mtype on */ +var59 = var61; +RET_LABEL60:(void)0; } } -var_ret = var67; -var70 = NULL; +var_ret = var59; if (var_ret == NULL) { -var71 = 0; /* is null */ +var62 = 0; /* is null */ } else { -var71 = 1; /* arg is null and recv is not */ +var62 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_ret,var70) on */ -var_other = var70; +{ /* Inline kernel#Object#!= (var_ret,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var74 = ((short int (*)(val* self, val* p0))(var_ret->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ret, var_other) /* == on */; +var65 = ((short int(*)(val* self, val* p0))(var_ret->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ret, var_other); /* == on */ } -var75 = !var74; -var72 = var75; -goto RET_LABEL73; -RET_LABEL73:(void)0; +var66 = !var65; +var63 = var66; +goto RET_LABEL64; +RET_LABEL64:(void)0; } -var71 = var72; +var62 = var63; } -if (var71){ -if (varonce76) { -var77 = varonce76; +if (var62){ +if (likely(varonce67!=NULL)) { +var68 = varonce67; } else { -var78 = ": "; -var79 = 2; -var80 = standard___standard__NativeString___to_s_with_length(var78, var79); -var77 = var80; -varonce76 = var77; +var69 = ": "; +var70 = standard___standard__NativeString___to_s_with_length(var69, 2l); +var68 = var70; +varonce67 = var68; } { -standard___standard__FlatBuffer___Buffer__append(var_b, var77); /* Direct call string#FlatBuffer#append on */ +standard___standard__FlatBuffer___Buffer__append(var_b, var68); /* Direct call string#FlatBuffer#append on */ } { -var81 = ((val* (*)(val* self))(var_ret->class->vft[COLOR_standard__string__Object__to_s]))(var_ret) /* to_s on */; +var71 = ((val*(*)(val* self))(var_ret->class->vft[COLOR_standard__string__Object__to_s]))(var_ret); /* to_s on */ } { -standard___standard__FlatBuffer___Buffer__append(var_b, var81); /* Direct call string#FlatBuffer#append on */ +standard___standard__FlatBuffer___Buffer__append(var_b, var71); /* Direct call string#FlatBuffer#append on */ } } else { } { -var82 = standard___standard__FlatBuffer___Object__to_s(var_b); +var72 = standard___standard__FlatBuffer___Object__to_s(var_b); } -var = var82; +var = var72; goto RET_LABEL; RET_LABEL:; return var; @@ -2300,17 +3497,16 @@ short int var7 /* : Bool */; val* var8 /* : nullable Object */; val* var_p /* var p: MParameter */; val* var9 /* : MParameter */; -val* var11 /* : nullable MType */; -val* var13 /* : nullable MType */; +val* var10 /* : nullable MType */; +val* var12 /* : nullable MType */; val* var_ret /* var ret: nullable MType */; -val* var14 /* : null */; -short int var15 /* : Bool */; -short int var16 /* : Bool */; +short int var13 /* : Bool */; +short int var14 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var18 /* : Bool */; -short int var19 /* : Bool */; -val* var20 /* : MType */; -val* var21 /* : MSignature */; +short int var16 /* : Bool */; +short int var17 /* : Bool */; +val* var18 /* : MType */; +val* var19 /* : MSignature */; val* var_res /* var res: MSignature */; var_mtype = p0; var_anchor = p1; @@ -2326,8 +3522,8 @@ var_params = var1; var4 = self->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ if (unlikely(var4 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1592); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1756); +fatal_exit(1); } var2 = var4; RET_LABEL3:(void)0; @@ -2362,55 +3558,52 @@ goto BREAK_label; } BREAK_label: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_6) on */ -RET_LABEL10:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_6); /* Direct call array#ArrayIterator#finish on */ } { { /* Inline model#MSignature#return_mtype (self) on */ -var13 = self->attrs[COLOR_nit__model__MSignature___return_mtype].val; /* _return_mtype on */ -var11 = var13; -RET_LABEL12:(void)0; +var12 = self->attrs[COLOR_nit__model__MSignature___return_mtype].val; /* _return_mtype on */ +var10 = var12; +RET_LABEL11:(void)0; } } -var_ret = var11; -var14 = NULL; +var_ret = var10; if (var_ret == NULL) { -var15 = 0; /* is null */ +var13 = 0; /* is null */ } else { -var15 = 1; /* arg is null and recv is not */ +var13 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_ret,var14) on */ -var_other = var14; +{ /* Inline kernel#Object#!= (var_ret,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var18 = ((short int (*)(val* self, val* p0))(var_ret->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ret, var_other) /* == on */; +var16 = ((short int(*)(val* self, val* p0))(var_ret->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ret, var_other); /* == on */ } -var19 = !var18; -var16 = var19; -goto RET_LABEL17; -RET_LABEL17:(void)0; +var17 = !var16; +var14 = var17; +goto RET_LABEL15; +RET_LABEL15:(void)0; } -var15 = var16; +var13 = var14; } -if (var15){ +if (var13){ { -var20 = ((val* (*)(val* self, val* p0, val* p1, val* p2, short int p3))(var_ret->class->vft[COLOR_nit__model__MType__resolve_for]))(var_ret, var_mtype, var_anchor, var_mmodule, var_cleanup_virtual) /* resolve_for on */; +var18 = ((val*(*)(val* self, val* p0, val* p1, val* p2, short int p3))(var_ret->class->vft[COLOR_nit__model__MType__resolve_for]))(var_ret, var_mtype, var_anchor, var_mmodule, var_cleanup_virtual); /* resolve_for on */ } -var_ret = var20; +var_ret = var18; } else { } -var21 = NEW_nit__MSignature(&type_nit__MSignature); +var19 = NEW_nit__MSignature(&type_nit__MSignature); { -((void (*)(val* self, val* p0))(var21->class->vft[COLOR_nit__model__MSignature__mparameters_61d]))(var21, var_params) /* mparameters= on */; +((void(*)(val* self, val* p0))(var19->class->vft[COLOR_nit__model__MSignature__mparameters_61d]))(var19, var_params); /* mparameters= on */ } { -((void (*)(val* self, val* p0))(var21->class->vft[COLOR_nit__model__MSignature__return_mtype_61d]))(var21, var_ret) /* return_mtype= on */; +((void(*)(val* self, val* p0))(var19->class->vft[COLOR_nit__model__MSignature__return_mtype_61d]))(var19, var_ret); /* return_mtype= on */ } { -((void (*)(val* self))(var21->class->vft[COLOR_standard__kernel__Object__init]))(var21) /* init on */; +((void(*)(val* self))(var19->class->vft[COLOR_standard__kernel__Object__init]))(var19); /* init on */ } -var_res = var21; +var_res = var19; var = var_res; goto RET_LABEL; RET_LABEL:; @@ -2423,8 +3616,8 @@ val* var1 /* : String */; var1 = self->attrs[COLOR_nit__model__MParameter___name].val; /* _name on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1687); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1876); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -2442,8 +3635,8 @@ val* var1 /* : MType */; var1 = self->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1690); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1879); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -2468,42 +3661,53 @@ void nit___nit__MParameter___is_vararg_61d(val* self, short int p0) { self->attrs[COLOR_nit__model__MParameter___is_vararg].s = p0; /* _is_vararg on */ RET_LABEL:; } +/* method model#MParameter#is_default for (self: MParameter): Bool */ +short int nit___nit__MParameter___is_default(val* self) { +short int var /* : Bool */; +short int var1 /* : Bool */; +var1 = self->attrs[COLOR_nit__model__MParameter___is_default].s; /* _is_default on */ +var = var1; +RET_LABEL:; +return var; +} +/* method model#MParameter#is_default= for (self: MParameter, Bool) */ +void nit___nit__MParameter___is_default_61d(val* self, short int p0) { +self->attrs[COLOR_nit__model__MParameter___is_default].s = p0; /* _is_default on */ +RET_LABEL:; +} /* method model#MParameter#to_s for (self: MParameter): String */ val* nit___nit__MParameter___standard__string__Object__to_s(val* self) { val* var /* : String */; short int var1 /* : Bool */; short int var3 /* : Bool */; -val* var4 /* : String */; -val* var6 /* : String */; +val* var4 /* : NativeArray[String] */; static val* varonce; -val* var7 /* : String */; -char* var8 /* : NativeString */; -long var9 /* : Int */; -val* var10 /* : FlatString */; -val* var11 /* : MType */; -val* var13 /* : MType */; -static val* varonce14; +static val* varonce5; +val* var6 /* : String */; +char* var7 /* : NativeString */; +val* var8 /* : FlatString */; +static val* varonce9; +val* var10 /* : String */; +char* var11 /* : NativeString */; +val* var12 /* : FlatString */; +val* var13 /* : String */; val* var15 /* : String */; -char* var16 /* : NativeString */; -long var17 /* : Int */; -val* var18 /* : FlatString */; -val* var19 /* : Array[Object] */; -long var20 /* : Int */; -val* var21 /* : NativeArray[Object] */; -val* var22 /* : String */; -val* var23 /* : String */; -val* var25 /* : String */; -static val* varonce26; +val* var16 /* : MType */; +val* var18 /* : MType */; +val* var19 /* : String */; +val* var20 /* : String */; +val* var22 /* : NativeArray[String] */; +static val* varonce21; +static val* varonce23; +val* var24 /* : String */; +char* var25 /* : NativeString */; +val* var26 /* : FlatString */; val* var27 /* : String */; -char* var28 /* : NativeString */; -long var29 /* : Int */; -val* var30 /* : FlatString */; -val* var31 /* : MType */; -val* var33 /* : MType */; -val* var34 /* : Array[Object] */; -long var35 /* : Int */; -val* var36 /* : NativeArray[Object] */; -val* var37 /* : String */; +val* var29 /* : String */; +val* var30 /* : MType */; +val* var32 /* : MType */; +val* var33 /* : String */; +val* var34 /* : String */; { { /* Inline model#MParameter#is_vararg (self) on */ var3 = self->attrs[COLOR_nit__model__MParameter___is_vararg].s; /* _is_vararg on */ @@ -2512,114 +3716,115 @@ RET_LABEL2:(void)0; } } if (var1){ +if (unlikely(varonce==NULL)) { +var4 = NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String); +if (likely(varonce5!=NULL)) { +var6 = varonce5; +} else { +var7 = ": "; +var8 = standard___standard__NativeString___to_s_with_length(var7, 2l); +var6 = var8; +varonce5 = var6; +} +((struct instance_standard__NativeArray*)var4)->values[1]=var6; +if (likely(varonce9!=NULL)) { +var10 = varonce9; +} else { +var11 = "..."; +var12 = standard___standard__NativeString___to_s_with_length(var11, 3l); +var10 = var12; +varonce9 = var10; +} +((struct instance_standard__NativeArray*)var4)->values[3]=var10; +} else { +var4 = varonce; +varonce = NULL; +} { { /* Inline model#MParameter#name (self) on */ -var6 = self->attrs[COLOR_nit__model__MParameter___name].val; /* _name on */ -if (unlikely(var6 == NULL)) { +var15 = self->attrs[COLOR_nit__model__MParameter___name].val; /* _name on */ +if (unlikely(var15 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1687); -show_backtrace(1); -} -var4 = var6; -RET_LABEL5:(void)0; +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1876); +fatal_exit(1); } +var13 = var15; +RET_LABEL14:(void)0; } -if (varonce) { -var7 = varonce; -} else { -var8 = ": "; -var9 = 2; -var10 = standard___standard__NativeString___to_s_with_length(var8, var9); -var7 = var10; -varonce = var7; } +((struct instance_standard__NativeArray*)var4)->values[0]=var13; { { /* Inline model#MParameter#mtype (self) on */ -var13 = self->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on */ -if (unlikely(var13 == NULL)) { +var18 = self->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on */ +if (unlikely(var18 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1690); -show_backtrace(1); -} -var11 = var13; -RET_LABEL12:(void)0; +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1879); +fatal_exit(1); } +var16 = var18; +RET_LABEL17:(void)0; } -if (varonce14) { -var15 = varonce14; -} else { -var16 = "..."; -var17 = 3; -var18 = standard___standard__NativeString___to_s_with_length(var16, var17); -var15 = var18; -varonce14 = var15; } -var19 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var19 = array_instance Array[Object] */ -var20 = 4; -var21 = NEW_standard__NativeArray(var20, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var21)->values[0] = (val*) var4; -((struct instance_standard__NativeArray*)var21)->values[1] = (val*) var7; -((struct instance_standard__NativeArray*)var21)->values[2] = (val*) var11; -((struct instance_standard__NativeArray*)var21)->values[3] = (val*) var15; { -((void (*)(val* self, val* p0, long p1))(var19->class->vft[COLOR_standard__array__Array__with_native]))(var19, var21, var20) /* with_native on */; -} +var19 = ((val*(*)(val* self))(var16->class->vft[COLOR_standard__string__Object__to_s]))(var16); /* to_s on */ } +((struct instance_standard__NativeArray*)var4)->values[2]=var19; { -var22 = ((val* (*)(val* self))(var19->class->vft[COLOR_standard__string__Object__to_s]))(var19) /* to_s on */; +var20 = ((val*(*)(val* self))(var4->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var4); /* native_to_s on */ } -var = var22; +varonce = var4; +var = var20; goto RET_LABEL; } else { +if (unlikely(varonce21==NULL)) { +var22 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce23!=NULL)) { +var24 = varonce23; +} else { +var25 = ": "; +var26 = standard___standard__NativeString___to_s_with_length(var25, 2l); +var24 = var26; +varonce23 = var24; +} +((struct instance_standard__NativeArray*)var22)->values[1]=var24; +} else { +var22 = varonce21; +varonce21 = NULL; +} { { /* Inline model#MParameter#name (self) on */ -var25 = self->attrs[COLOR_nit__model__MParameter___name].val; /* _name on */ -if (unlikely(var25 == NULL)) { +var29 = self->attrs[COLOR_nit__model__MParameter___name].val; /* _name on */ +if (unlikely(var29 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1687); -show_backtrace(1); -} -var23 = var25; -RET_LABEL24:(void)0; +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1876); +fatal_exit(1); } +var27 = var29; +RET_LABEL28:(void)0; } -if (varonce26) { -var27 = varonce26; -} else { -var28 = ": "; -var29 = 2; -var30 = standard___standard__NativeString___to_s_with_length(var28, var29); -var27 = var30; -varonce26 = var27; } +((struct instance_standard__NativeArray*)var22)->values[0]=var27; { { /* Inline model#MParameter#mtype (self) on */ -var33 = self->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on */ -if (unlikely(var33 == NULL)) { +var32 = self->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on */ +if (unlikely(var32 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1690); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1879); +fatal_exit(1); } -var31 = var33; -RET_LABEL32:(void)0; +var30 = var32; +RET_LABEL31:(void)0; } } -var34 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var34 = array_instance Array[Object] */ -var35 = 3; -var36 = NEW_standard__NativeArray(var35, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var36)->values[0] = (val*) var23; -((struct instance_standard__NativeArray*)var36)->values[1] = (val*) var27; -((struct instance_standard__NativeArray*)var36)->values[2] = (val*) var31; { -((void (*)(val* self, val* p0, long p1))(var34->class->vft[COLOR_standard__array__Array__with_native]))(var34, var36, var35) /* with_native on */; -} +var33 = ((val*(*)(val* self))(var30->class->vft[COLOR_standard__string__Object__to_s]))(var30); /* to_s on */ } +((struct instance_standard__NativeArray*)var22)->values[2]=var33; { -var37 = ((val* (*)(val* self))(var34->class->vft[COLOR_standard__string__Object__to_s]))(var34) /* to_s on */; +var34 = ((val*(*)(val* self))(var22->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var22); /* native_to_s on */ } -var = var37; +varonce21 = var22; +var = var34; goto RET_LABEL; } RET_LABEL:; @@ -2645,6 +3850,8 @@ val* var11 /* : String */; val* var13 /* : String */; short int var14 /* : Bool */; short int var16 /* : Bool */; +short int var17 /* : Bool */; +short int var19 /* : Bool */; val* var_res /* var res: MParameter */; var_mtype = p0; var_anchor = p1; @@ -2655,15 +3862,15 @@ var_cleanup_virtual = p3; var3 = self->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1690); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1879); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; } } { -var4 = ((short int (*)(val* self))(var1->class->vft[COLOR_nit__model__MType__need_anchor]))(var1) /* need_anchor on */; +var4 = ((short int(*)(val* self))(var1->class->vft[COLOR_nit__model__MType__need_anchor]))(var1); /* need_anchor on */ } var5 = !var4; if (var5){ @@ -2676,15 +3883,15 @@ goto RET_LABEL; var8 = self->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on */ if (unlikely(var8 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1690); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1879); +fatal_exit(1); } var6 = var8; RET_LABEL7:(void)0; } } { -var9 = ((val* (*)(val* self, val* p0, val* p1, val* p2, short int p3))(var6->class->vft[COLOR_nit__model__MType__resolve_for]))(var6, var_mtype, var_anchor, var_mmodule, var_cleanup_virtual) /* resolve_for on */; +var9 = ((val*(*)(val* self, val* p0, val* p1, val* p2, short int p3))(var6->class->vft[COLOR_nit__model__MType__resolve_for]))(var6, var_mtype, var_anchor, var_mmodule, var_cleanup_virtual); /* resolve_for on */ } var_newtype = var9; var10 = NEW_nit__MParameter(&type_nit__MParameter); @@ -2693,8 +3900,8 @@ var10 = NEW_nit__MParameter(&type_nit__MParameter); var13 = self->attrs[COLOR_nit__model__MParameter___name].val; /* _name on */ if (unlikely(var13 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1687); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1876); +fatal_exit(1); } var11 = var13; RET_LABEL12:(void)0; @@ -2708,16 +3915,26 @@ RET_LABEL15:(void)0; } } { -((void (*)(val* self, val* p0))(var10->class->vft[COLOR_nit__model__MParameter__name_61d]))(var10, var11) /* name= on */; +{ /* Inline model#MParameter#is_default (self) on */ +var19 = self->attrs[COLOR_nit__model__MParameter___is_default].s; /* _is_default on */ +var17 = var19; +RET_LABEL18:(void)0; +} +} +{ +((void(*)(val* self, val* p0))(var10->class->vft[COLOR_nit__model__MParameter__name_61d]))(var10, var11); /* name= on */ +} +{ +((void(*)(val* self, val* p0))(var10->class->vft[COLOR_nit__model__MParameter__mtype_61d]))(var10, var_newtype); /* mtype= on */ } { -((void (*)(val* self, val* p0))(var10->class->vft[COLOR_nit__model__MParameter__mtype_61d]))(var10, var_newtype) /* mtype= on */; +((void(*)(val* self, short int p0))(var10->class->vft[COLOR_nit__model__MParameter__is_vararg_61d]))(var10, var14); /* is_vararg= on */ } { -((void (*)(val* self, short int p0))(var10->class->vft[COLOR_nit__model__MParameter__is_vararg_61d]))(var10, var14) /* is_vararg= on */; +((void(*)(val* self, short int p0))(var10->class->vft[COLOR_nit__model__MParameter__is_default_61d]))(var10, var17); /* is_default= on */ } { -((void (*)(val* self))(var10->class->vft[COLOR_standard__kernel__Object__init]))(var10) /* init on */; +((void(*)(val* self))(var10->class->vft[COLOR_standard__kernel__Object__init]))(var10); /* init on */ } var_res = var10; var = var_res; @@ -2736,15 +3953,15 @@ val* var4 /* : Model */; var3 = self->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1690); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1879); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; } } { -var4 = ((val* (*)(val* self))(var1->class->vft[COLOR_nit__model_base__MEntity__model]))(var1) /* model on */; +var4 = ((val*(*)(val* self))(var1->class->vft[COLOR_nit__model_base__MEntity__model]))(var1); /* model on */ } var = var4; goto RET_LABEL; @@ -2754,7 +3971,7 @@ return var; /* method model#MParameter#init for (self: MParameter) */ void nit___nit__MParameter___standard__kernel__Object__init(val* self) { { -((void (*)(val* self))(self->class->vft[COLOR_nit___nit__MParameter___standard__kernel__Object__init]))(self) /* init on */; +((void(*)(val* self))(self->class->vft[COLOR_nit___nit__MParameter___standard__kernel__Object__init]))(self); /* init on */ } RET_LABEL:; } @@ -2765,8 +3982,8 @@ val* var1 /* : MClassDef */; var1 = self->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1736); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1928); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -2784,8 +4001,8 @@ val* var1 /* : String */; var1 = self->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1741); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1933); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -2802,167 +4019,161 @@ val* var /* : String */; short int var1 /* : Bool */; val* var2 /* : String */; val* var3 /* : String */; -val* var5 /* : MClassDef */; -val* var7 /* : MClassDef */; -val* var8 /* : MModule */; -val* var10 /* : MModule */; -val* var11 /* : MVisibility */; -val* var13 /* : MVisibility */; -val* var14 /* : String */; +val* var5 /* : NativeArray[String] */; static val* varonce; -val* var15 /* : String */; -char* var16 /* : NativeString */; -long var17 /* : Int */; -val* var18 /* : FlatString */; -val* var19 /* : MClassDef */; -val* var21 /* : MClassDef */; -val* var22 /* : MClass */; -val* var24 /* : MClass */; -val* var25 /* : String */; -val* var27 /* : String */; -static val* varonce28; -val* var29 /* : String */; -char* var30 /* : NativeString */; -long var31 /* : Int */; -val* var32 /* : FlatString */; +static val* varonce6; +val* var7 /* : String */; +char* var8 /* : NativeString */; +val* var9 /* : FlatString */; +static val* varonce10; +val* var11 /* : String */; +char* var12 /* : NativeString */; +val* var13 /* : FlatString */; +val* var14 /* : MClassDef */; +val* var16 /* : MClassDef */; +val* var17 /* : MModule */; +val* var19 /* : MModule */; +val* var20 /* : MVisibility */; +val* var22 /* : MVisibility */; +val* var23 /* : String */; +val* var24 /* : MClassDef */; +val* var26 /* : MClassDef */; +val* var27 /* : MClass */; +val* var29 /* : MClass */; +val* var30 /* : String */; +val* var32 /* : String */; val* var33 /* : String */; val* var35 /* : String */; -val* var36 /* : Array[Object] */; -long var37 /* : Int */; -val* var38 /* : NativeArray[Object] */; -val* var39 /* : String */; +val* var36 /* : String */; var1 = self->attrs[COLOR_nit__model__MProperty___full_name].val != NULL; /* _full_name on */ if(likely(var1)) { var2 = self->attrs[COLOR_nit__model__MProperty___full_name].val; /* _full_name on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _full_name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1744); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1936); +fatal_exit(1); } } else { { +if (unlikely(varonce==NULL)) { +var5 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce6!=NULL)) { +var7 = varonce6; +} else { +var8 = "::"; +var9 = standard___standard__NativeString___to_s_with_length(var8, 2l); +var7 = var9; +varonce6 = var7; +} +((struct instance_standard__NativeArray*)var5)->values[1]=var7; +if (likely(varonce10!=NULL)) { +var11 = varonce10; +} else { +var12 = "::"; +var13 = standard___standard__NativeString___to_s_with_length(var12, 2l); +var11 = var13; +varonce10 = var11; +} +((struct instance_standard__NativeArray*)var5)->values[3]=var11; +} else { +var5 = varonce; +varonce = NULL; +} { { /* Inline model#MProperty#intro_mclassdef (self) on */ -var7 = self->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ -if (unlikely(var7 == NULL)) { +var16 = self->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ +if (unlikely(var16 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1736); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1928); +fatal_exit(1); } -var5 = var7; -RET_LABEL6:(void)0; +var14 = var16; +RET_LABEL15:(void)0; } } { -{ /* Inline model#MClassDef#mmodule (var5) on */ -var10 = var5->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var10 == NULL)) { +{ /* Inline model#MClassDef#mmodule (var14) on */ +var19 = var14->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var19 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 489); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550); +fatal_exit(1); } -var8 = var10; -RET_LABEL9:(void)0; +var17 = var19; +RET_LABEL18:(void)0; } } { { /* Inline model#MProperty#visibility (self) on */ -var13 = self->attrs[COLOR_nit__model__MProperty___visibility].val; /* _visibility on */ -if (unlikely(var13 == NULL)) { +var22 = self->attrs[COLOR_nit__model__MProperty___visibility].val; /* _visibility on */ +if (unlikely(var22 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1757); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1949); +fatal_exit(1); } -var11 = var13; -RET_LABEL12:(void)0; +var20 = var22; +RET_LABEL21:(void)0; } } { -var14 = nit___nit__MModule___namespace_for(var8, var11); -} -if (varonce) { -var15 = varonce; -} else { -var16 = "::"; -var17 = 2; -var18 = standard___standard__NativeString___to_s_with_length(var16, var17); -var15 = var18; -varonce = var15; +var23 = nit___nit__MModule___namespace_for(var17, var20); } +((struct instance_standard__NativeArray*)var5)->values[0]=var23; { { /* Inline model#MProperty#intro_mclassdef (self) on */ -var21 = self->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ -if (unlikely(var21 == NULL)) { +var26 = self->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ +if (unlikely(var26 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1736); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1928); +fatal_exit(1); } -var19 = var21; -RET_LABEL20:(void)0; +var24 = var26; +RET_LABEL25:(void)0; } } { -{ /* Inline model#MClassDef#mclass (var19) on */ -var24 = var19->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var24 == NULL)) { +{ /* Inline model#MClassDef#mclass (var24) on */ +var29 = var24->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var29 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); } -var22 = var24; -RET_LABEL23:(void)0; +var27 = var29; +RET_LABEL28:(void)0; } } { -{ /* Inline model#MClass#name (var22) on */ -var27 = var22->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ -if (unlikely(var27 == NULL)) { +{ /* Inline model#MClass#name (var27) on */ +var32 = var27->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ +if (unlikely(var32 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 348); -show_backtrace(1); -} -var25 = var27; -RET_LABEL26:(void)0; +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 362); +fatal_exit(1); } +var30 = var32; +RET_LABEL31:(void)0; } -if (varonce28) { -var29 = varonce28; -} else { -var30 = "::"; -var31 = 2; -var32 = standard___standard__NativeString___to_s_with_length(var30, var31); -var29 = var32; -varonce28 = var29; } +((struct instance_standard__NativeArray*)var5)->values[2]=var30; { { /* Inline model#MProperty#name (self) on */ var35 = self->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ if (unlikely(var35 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1741); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1933); +fatal_exit(1); } var33 = var35; RET_LABEL34:(void)0; } } -var36 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var36 = array_instance Array[Object] */ -var37 = 5; -var38 = NEW_standard__NativeArray(var37, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var38)->values[0] = (val*) var14; -((struct instance_standard__NativeArray*)var38)->values[1] = (val*) var15; -((struct instance_standard__NativeArray*)var38)->values[2] = (val*) var25; -((struct instance_standard__NativeArray*)var38)->values[3] = (val*) var29; -((struct instance_standard__NativeArray*)var38)->values[4] = (val*) var33; +((struct instance_standard__NativeArray*)var5)->values[4]=var33; { -((void (*)(val* self, val* p0, long p1))(var36->class->vft[COLOR_standard__array__Array__with_native]))(var36, var38, var37) /* with_native on */; +var36 = ((val*(*)(val* self))(var5->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var5); /* native_to_s on */ } -} -{ -var39 = ((val* (*)(val* self))(var36->class->vft[COLOR_standard__string__Object__to_s]))(var36) /* to_s on */; -} -var3 = var39; +varonce = var5; +var3 = var36; goto RET_LABEL4; RET_LABEL4:(void)0; } @@ -2979,136 +4190,141 @@ val* var /* : String */; short int var1 /* : Bool */; val* var2 /* : String */; val* var3 /* : String */; -val* var5 /* : MClassDef */; -val* var7 /* : MClassDef */; -val* var8 /* : MModule */; -val* var10 /* : MModule */; -val* var11 /* : String */; +val* var5 /* : NativeArray[String] */; static val* varonce; -val* var12 /* : String */; -char* var13 /* : NativeString */; -long var14 /* : Int */; -val* var15 /* : FlatString */; +static val* varonce6; +val* var7 /* : String */; +char* var8 /* : NativeString */; +val* var9 /* : FlatString */; +static val* varonce10; +val* var11 /* : String */; +char* var12 /* : NativeString */; +val* var13 /* : FlatString */; +val* var14 /* : MClassDef */; val* var16 /* : MClassDef */; -val* var18 /* : MClassDef */; -val* var19 /* : MClass */; -val* var21 /* : MClass */; -val* var22 /* : String */; -val* var24 /* : String */; -val* var25 /* : String */; -static val* varonce26; +val* var17 /* : MModule */; +val* var19 /* : MModule */; +val* var20 /* : String */; +val* var21 /* : MClassDef */; +val* var23 /* : MClassDef */; +val* var24 /* : MClass */; +val* var26 /* : MClass */; val* var27 /* : String */; -char* var28 /* : NativeString */; -long var29 /* : Int */; -val* var30 /* : FlatString */; +val* var29 /* : String */; +val* var30 /* : String */; val* var31 /* : String */; val* var33 /* : String */; val* var34 /* : String */; -val* var35 /* : Array[Object] */; -long var36 /* : Int */; -val* var37 /* : NativeArray[Object] */; -val* var38 /* : String */; +val* var35 /* : String */; var1 = self->attrs[COLOR_nit__model__MProperty___c_name].val != NULL; /* _c_name on */ if(likely(var1)) { var2 = self->attrs[COLOR_nit__model__MProperty___c_name].val; /* _c_name on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _c_name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1752); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1944); +fatal_exit(1); } } else { { +if (unlikely(varonce==NULL)) { +var5 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce6!=NULL)) { +var7 = varonce6; +} else { +var8 = "__"; +var9 = standard___standard__NativeString___to_s_with_length(var8, 2l); +var7 = var9; +varonce6 = var7; +} +((struct instance_standard__NativeArray*)var5)->values[1]=var7; +if (likely(varonce10!=NULL)) { +var11 = varonce10; +} else { +var12 = "__"; +var13 = standard___standard__NativeString___to_s_with_length(var12, 2l); +var11 = var13; +varonce10 = var11; +} +((struct instance_standard__NativeArray*)var5)->values[3]=var11; +} else { +var5 = varonce; +varonce = NULL; +} { { /* Inline model#MProperty#intro_mclassdef (self) on */ -var7 = self->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ -if (unlikely(var7 == NULL)) { +var16 = self->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ +if (unlikely(var16 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1736); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1928); +fatal_exit(1); } -var5 = var7; -RET_LABEL6:(void)0; +var14 = var16; +RET_LABEL15:(void)0; } } { -{ /* Inline model#MClassDef#mmodule (var5) on */ -var10 = var5->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var10 == NULL)) { +{ /* Inline model#MClassDef#mmodule (var14) on */ +var19 = var14->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var19 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 489); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550); +fatal_exit(1); } -var8 = var10; -RET_LABEL9:(void)0; +var17 = var19; +RET_LABEL18:(void)0; } } { -var11 = nit___nit__MModule___nit__model_base__MEntity__c_name(var8); -} -if (varonce) { -var12 = varonce; -} else { -var13 = "__"; -var14 = 2; -var15 = standard___standard__NativeString___to_s_with_length(var13, var14); -var12 = var15; -varonce = var12; +var20 = nit___nit__MModule___nit__model_base__MEntity__c_name(var17); } +((struct instance_standard__NativeArray*)var5)->values[0]=var20; { { /* Inline model#MProperty#intro_mclassdef (self) on */ -var18 = self->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ -if (unlikely(var18 == NULL)) { +var23 = self->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ +if (unlikely(var23 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1736); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1928); +fatal_exit(1); } -var16 = var18; -RET_LABEL17:(void)0; +var21 = var23; +RET_LABEL22:(void)0; } } { -{ /* Inline model#MClassDef#mclass (var16) on */ -var21 = var16->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var21 == NULL)) { +{ /* Inline model#MClassDef#mclass (var21) on */ +var26 = var21->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var26 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); } -var19 = var21; -RET_LABEL20:(void)0; +var24 = var26; +RET_LABEL25:(void)0; } } { -{ /* Inline model#MClass#name (var19) on */ -var24 = var19->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ -if (unlikely(var24 == NULL)) { +{ /* Inline model#MClass#name (var24) on */ +var29 = var24->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ +if (unlikely(var29 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 348); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 362); +fatal_exit(1); } -var22 = var24; -RET_LABEL23:(void)0; +var27 = var29; +RET_LABEL28:(void)0; } } { -var25 = standard___standard__Text___to_cmangle(var22); -} -if (varonce26) { -var27 = varonce26; -} else { -var28 = "__"; -var29 = 2; -var30 = standard___standard__NativeString___to_s_with_length(var28, var29); -var27 = var30; -varonce26 = var27; +var30 = standard___standard__Text___to_cmangle(var27); } +((struct instance_standard__NativeArray*)var5)->values[2]=var30; { { /* Inline model#MProperty#name (self) on */ var33 = self->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ if (unlikely(var33 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1741); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1933); +fatal_exit(1); } var31 = var33; RET_LABEL32:(void)0; @@ -3117,23 +4333,12 @@ RET_LABEL32:(void)0; { var34 = standard___standard__Text___to_cmangle(var31); } -var35 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var35 = array_instance Array[Object] */ -var36 = 5; -var37 = NEW_standard__NativeArray(var36, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var37)->values[0] = (val*) var11; -((struct instance_standard__NativeArray*)var37)->values[1] = (val*) var12; -((struct instance_standard__NativeArray*)var37)->values[2] = (val*) var25; -((struct instance_standard__NativeArray*)var37)->values[3] = (val*) var27; -((struct instance_standard__NativeArray*)var37)->values[4] = (val*) var34; -{ -((void (*)(val* self, val* p0, long p1))(var35->class->vft[COLOR_standard__array__Array__with_native]))(var35, var37, var36) /* with_native on */; -} -} +((struct instance_standard__NativeArray*)var5)->values[4]=var34; { -var38 = ((val* (*)(val* self))(var35->class->vft[COLOR_standard__string__Object__to_s]))(var35) /* to_s on */; +var35 = ((val*(*)(val* self))(var5->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var5); /* native_to_s on */ } -var3 = var38; +varonce = var5; +var3 = var35; goto RET_LABEL4; RET_LABEL4:(void)0; } @@ -3151,8 +4356,8 @@ val* var1 /* : MVisibility */; var1 = self->attrs[COLOR_nit__model__MProperty___visibility].val; /* _visibility on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1757); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1949); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -3163,6 +4368,20 @@ void nit___nit__MProperty___visibility_61d(val* self, val* p0) { self->attrs[COLOR_nit__model__MProperty___visibility].val = p0; /* _visibility on */ RET_LABEL:; } +/* method model#MProperty#is_autoinit for (self: MProperty): Bool */ +short int nit___nit__MProperty___is_autoinit(val* self) { +short int var /* : Bool */; +short int var1 /* : Bool */; +var1 = self->attrs[COLOR_nit__model__MProperty___is_autoinit].s; /* _is_autoinit on */ +var = var1; +RET_LABEL:; +return var; +} +/* method model#MProperty#is_autoinit= for (self: MProperty, Bool) */ +void nit___nit__MProperty___is_autoinit_61d(val* self, short int p0) { +self->attrs[COLOR_nit__model__MProperty___is_autoinit].s = p0; /* _is_autoinit on */ +RET_LABEL:; +} /* method model#MProperty#init for (self: MProperty) */ void nit___nit__MProperty___standard__kernel__Object__init(val* self) { val* var /* : MClassDef */; @@ -3183,15 +4402,15 @@ val* var20 /* : String */; val* var21 /* : Array[MProperty] */; val* var23 /* : Array[MProperty] */; { -((void (*)(val* self))(self->class->vft[COLOR_nit___nit__MProperty___standard__kernel__Object__init]))(self) /* init on */; +((void(*)(val* self))(self->class->vft[COLOR_nit___nit__MProperty___standard__kernel__Object__init]))(self); /* init on */ } { { /* Inline model#MProperty#intro_mclassdef (self) on */ var2 = self->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1736); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1928); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -3202,8 +4421,8 @@ RET_LABEL1:(void)0; var5 = var->attrs[COLOR_nit__model__MClassDef___intro_mproperties].val; /* _intro_mproperties on */ if (unlikely(var5 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mproperties"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 620); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 681); +fatal_exit(1); } var3 = var5; RET_LABEL4:(void)0; @@ -3217,8 +4436,8 @@ standard___standard__Array___standard__abstract_collection__SimpleCollection__ad var8 = self->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ if (unlikely(var8 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1736); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1928); +fatal_exit(1); } var6 = var8; RET_LABEL7:(void)0; @@ -3229,8 +4448,8 @@ RET_LABEL7:(void)0; var11 = var6->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ if (unlikely(var11 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 489); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550); +fatal_exit(1); } var9 = var11; RET_LABEL10:(void)0; @@ -3242,7 +4461,7 @@ var14 = var9->attrs[COLOR_nit__mmodule__MModule___model].val; /* _model on attrs[COLOR_nit__model__Model___mproperties_by_name].val; /* if (unlikely(var17 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperties_by_name"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 80); -show_backtrace(1); +fatal_exit(1); } var15 = var17; RET_LABEL16:(void)0; @@ -3266,8 +4485,8 @@ RET_LABEL16:(void)0; var20 = self->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ if (unlikely(var20 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1741); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1933); +fatal_exit(1); } var18 = var20; RET_LABEL19:(void)0; @@ -3282,7 +4501,7 @@ var23 = var_model->attrs[COLOR_nit__model__Model___mproperties].val; /* _mproper if (unlikely(var23 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperties"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 37); -show_backtrace(1); +fatal_exit(1); } var21 = var23; RET_LABEL22:(void)0; @@ -3300,8 +4519,8 @@ val* var1 /* : Array[MPropDef] */; var1 = self->attrs[COLOR_nit__model__MProperty___mpropdefs].val; /* _mpropdefs on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1768); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1963); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -3314,8 +4533,8 @@ val* var1 /* : MPropDef */; var1 = self->attrs[COLOR_nit__model__MProperty___intro].val; /* _intro on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1773); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1968); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -3341,8 +4560,8 @@ var = p0->type->type_table[cltype] == idtype; if (unlikely(!var)) { var_class_name = p0 == NULL ? "null" : p0->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MPROPDEF", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1773); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1968); +fatal_exit(1); } self->attrs[COLOR_nit__model__MProperty___intro].val = p0; /* _intro on */ RET_LABEL:; @@ -3358,8 +4577,8 @@ val* var4 /* : Model */; var3 = self->attrs[COLOR_nit__model__MProperty___intro].val; /* _intro on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1773); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1968); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; @@ -3383,8 +4602,8 @@ val* var3 /* : String */; var3 = self->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1741); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1933); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; @@ -3407,62 +4626,59 @@ val* var4 /* : HashMap2[MModule, MType, Array[MPropDef]] */; val* var6 /* : HashMap2[MModule, MType, Array[MPropDef]] */; val* var7 /* : nullable Object */; val* var_cache /* var cache: nullable Array[MPropDef] */; -val* var8 /* : null */; +short int var8 /* : Bool */; short int var9 /* : Bool */; -short int var10 /* : Bool */; val* var_other /* var other: nullable Object */; +short int var11 /* : Bool */; short int var12 /* : Bool */; -short int var13 /* : Bool */; -val* var14 /* : Array[MPropDef] */; +val* var13 /* : Array[MPropDef] */; val* var_candidates /* var candidates: Array[MPropDef] */; -val* var15 /* : Array[MPropDef] */; -val* var17 /* : Array[MPropDef] */; +val* var14 /* : Array[MPropDef] */; +val* var16 /* : Array[MPropDef] */; val* var_ /* var : Array[MPropDef] */; -val* var18 /* : ArrayIterator[nullable Object] */; -val* var_19 /* var : ArrayIterator[MPropDef] */; -short int var20 /* : Bool */; -val* var21 /* : nullable Object */; +val* var17 /* : ArrayIterator[nullable Object] */; +val* var_18 /* var : ArrayIterator[MPropDef] */; +short int var19 /* : Bool */; +val* var20 /* : nullable Object */; val* var_mpropdef /* var mpropdef: MPropDef */; -val* var22 /* : POSetElement[MModule] */; -val* var24 /* : POSetElement[MModule] */; -val* var25 /* : MClassDef */; -val* var27 /* : MClassDef */; -val* var28 /* : MModule */; -val* var30 /* : MModule */; +val* var21 /* : POSetElement[MModule] */; +val* var23 /* : POSetElement[MModule] */; +val* var24 /* : MClassDef */; +val* var26 /* : MClassDef */; +val* var27 /* : MModule */; +val* var29 /* : MModule */; +short int var30 /* : Bool */; short int var31 /* : Bool */; -short int var32 /* : Bool */; -val* var33 /* : null */; +val* var32 /* : MClassDef */; val* var34 /* : MClassDef */; -val* var36 /* : MClassDef */; +val* var35 /* : MClassType */; val* var37 /* : MClassType */; -val* var39 /* : MClassType */; -short int var40 /* : Bool */; -short int var41 /* : Bool */; -long var44 /* : Int */; -long var46 /* : Int */; -long var47 /* : Int */; -short int var48 /* : Bool */; -short int var50 /* : Bool */; +short int var38 /* : Bool */; +short int var39 /* : Bool */; +long var41 /* : Int */; +long var43 /* : Int */; +short int var44 /* : Bool */; +short int var46 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var51 /* : Bool */; -val* var52 /* : HashMap2[MModule, MType, Array[MPropDef]] */; -val* var54 /* : HashMap2[MModule, MType, Array[MPropDef]] */; -val* var55 /* : Array[MPropDef] */; +short int var47 /* : Bool */; +val* var48 /* : HashMap2[MModule, MType, Array[MPropDef]] */; +val* var50 /* : HashMap2[MModule, MType, Array[MPropDef]] */; +val* var51 /* : Array[MPropDef] */; var_mmodule = p0; var_mtype = p1; { -var1 = ((short int (*)(val* self))(var_mtype->class->vft[COLOR_nit__model__MType__need_anchor]))(var_mtype) /* need_anchor on */; +var1 = ((short int(*)(val* self))(var_mtype->class->vft[COLOR_nit__model__MType__need_anchor]))(var_mtype); /* need_anchor on */ } var2 = !var1; if (unlikely(!var2)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1795); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1990); +fatal_exit(1); } { -var3 = ((val* (*)(val* self))(var_mtype->class->vft[COLOR_nit__model__MType__as_notnullable]))(var_mtype) /* as_notnullable on */; +var3 = ((val*(*)(val* self))(var_mtype->class->vft[COLOR_nit__model__MType__undecorate]))(var_mtype); /* undecorate on */ } var_mtype = var3; { @@ -3470,8 +4686,8 @@ var_mtype = var3; var6 = self->attrs[COLOR_nit__model__MProperty___lookup_definitions_cache].val; /* _lookup_definitions_cache on */ if (unlikely(var6 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lookup_definitions_cache"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1822); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2017); +fatal_exit(1); } var4 = var6; RET_LABEL5:(void)0; @@ -3481,135 +4697,133 @@ RET_LABEL5:(void)0; var7 = more_collections___more_collections__HashMap2____91d_93d(var4, var_mmodule, var_mtype); } var_cache = var7; -var8 = NULL; if (var_cache == NULL) { -var9 = 0; /* is null */ +var8 = 0; /* is null */ } else { -var9 = 1; /* arg is null and recv is not */ +var8 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_cache,var8) on */ -var_other = var8; +{ /* Inline kernel#Object#!= (var_cache,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var12 = ((short int (*)(val* self, val* p0))(var_cache->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_cache, var_other) /* == on */; +var11 = ((short int(*)(val* self, val* p0))(var_cache->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_cache, var_other); /* == on */ } -var13 = !var12; -var10 = var13; -goto RET_LABEL11; -RET_LABEL11:(void)0; +var12 = !var11; +var9 = var12; +goto RET_LABEL10; +RET_LABEL10:(void)0; } -var9 = var10; +var8 = var9; } -if (var9){ +if (var8){ var = var_cache; goto RET_LABEL; } else { } -var14 = NEW_standard__Array(self->type->resolution_table->types[COLOR_standard__Array__nit__model__MProperty__MPROPDEF]); +var13 = NEW_standard__Array(self->type->resolution_table->types[COLOR_standard__Array__nit__model__MProperty__MPROPDEF]); { -standard___standard__Array___standard__kernel__Object__init(var14); /* Direct call array#Array#init on */ +standard___standard__Array___standard__kernel__Object__init(var13); /* Direct call array#Array#init on */ } -var_candidates = var14; +var_candidates = var13; { { /* Inline model#MProperty#mpropdefs (self) on */ -var17 = self->attrs[COLOR_nit__model__MProperty___mpropdefs].val; /* _mpropdefs on */ -if (unlikely(var17 == NULL)) { +var16 = self->attrs[COLOR_nit__model__MProperty___mpropdefs].val; /* _mpropdefs on */ +if (unlikely(var16 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1768); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1963); +fatal_exit(1); } -var15 = var17; -RET_LABEL16:(void)0; +var14 = var16; +RET_LABEL15:(void)0; } } -var_ = var15; +var_ = var14; { -var18 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); +var17 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); } -var_19 = var18; +var_18 = var17; for(;;) { { -var20 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_19); +var19 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_18); } -if (var20){ +if (var19){ { -var21 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_19); +var20 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_18); } -var_mpropdef = var21; +var_mpropdef = var20; { { /* Inline mmodule#MModule#in_importation (var_mmodule) on */ -var24 = var_mmodule->attrs[COLOR_nit__mmodule__MModule___in_importation].val; /* _in_importation on */ -if (unlikely(var24 == NULL)) { +var23 = var_mmodule->attrs[COLOR_nit__mmodule__MModule___in_importation].val; /* _in_importation on */ +if (unlikely(var23 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 96); -show_backtrace(1); +fatal_exit(1); } -var22 = var24; -RET_LABEL23:(void)0; +var21 = var23; +RET_LABEL22:(void)0; } } { { /* Inline model#MPropDef#mclassdef (var_mpropdef) on */ -var27 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ -if (unlikely(var27 == NULL)) { +var26 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ +if (unlikely(var26 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209); +fatal_exit(1); } -var25 = var27; -RET_LABEL26:(void)0; +var24 = var26; +RET_LABEL25:(void)0; } } { -{ /* Inline model#MClassDef#mmodule (var25) on */ -var30 = var25->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var30 == NULL)) { +{ /* Inline model#MClassDef#mmodule (var24) on */ +var29 = var24->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var29 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 489); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550); +fatal_exit(1); } -var28 = var30; -RET_LABEL29:(void)0; +var27 = var29; +RET_LABEL28:(void)0; } } { -var31 = poset___poset__POSetElement____60d_61d(var22, var28); +var30 = poset___poset__POSetElement____60d_61d(var21, var27); } -var32 = !var31; -if (var32){ +var31 = !var30; +if (var31){ goto BREAK_label; } else { } -var33 = NULL; { { /* Inline model#MPropDef#mclassdef (var_mpropdef) on */ -var36 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ -if (unlikely(var36 == NULL)) { +var34 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ +if (unlikely(var34 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209); +fatal_exit(1); } -var34 = var36; -RET_LABEL35:(void)0; +var32 = var34; +RET_LABEL33:(void)0; } } { -{ /* Inline model#MClassDef#bound_mtype (var34) on */ -var39 = var34->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ -if (unlikely(var39 == NULL)) { +{ /* Inline model#MClassDef#bound_mtype (var32) on */ +var37 = var32->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ +if (unlikely(var37 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 495); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 556); +fatal_exit(1); } -var37 = var39; -RET_LABEL38:(void)0; +var35 = var37; +RET_LABEL36:(void)0; } } { -var40 = nit___nit__MType___is_subtype(var_mtype, var_mmodule, var33, var37); +var38 = nit___nit__MType___is_subtype(var_mtype, var_mmodule, ((val*)NULL), var35); } -var41 = !var40; -if (var41){ +var39 = !var38; +if (var39){ goto BREAK_label; } else { } @@ -3618,67 +4832,64 @@ standard___standard__Array___standard__abstract_collection__SimpleCollection__ad } BREAK_label: (void)0; { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_19); /* Direct call array#ArrayIterator#next on */ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_18); /* Direct call array#ArrayIterator#next on */ } } else { -goto BREAK_label42; +goto BREAK_label40; } } -BREAK_label42: (void)0; +BREAK_label40: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_19) on */ -RET_LABEL43:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_18); /* Direct call array#ArrayIterator#finish on */ } { { /* Inline array#AbstractArrayRead#length (var_candidates) on */ -var46 = var_candidates->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ -var44 = var46; -RET_LABEL45:(void)0; +var43 = var_candidates->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ +var41 = var43; +RET_LABEL42:(void)0; } } -var47 = 1; { -{ /* Inline kernel#Int#<= (var44,var47) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var50 = 1; /* easy isa OTHER*/ -if (unlikely(!var50)) { +{ /* Inline kernel#Int#<= (var41,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var46 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var46)) { 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, 409); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533); +fatal_exit(1); } -var51 = var44 <= var47; -var48 = var51; -goto RET_LABEL49; -RET_LABEL49:(void)0; +var47 = var41 <= 1l; +var44 = var47; +goto RET_LABEL45; +RET_LABEL45:(void)0; } } -if (var48){ +if (var44){ { { /* Inline model#MProperty#lookup_definitions_cache (self) on */ -var54 = self->attrs[COLOR_nit__model__MProperty___lookup_definitions_cache].val; /* _lookup_definitions_cache on */ -if (unlikely(var54 == NULL)) { +var50 = self->attrs[COLOR_nit__model__MProperty___lookup_definitions_cache].val; /* _lookup_definitions_cache on */ +if (unlikely(var50 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lookup_definitions_cache"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1822); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2017); +fatal_exit(1); } -var52 = var54; -RET_LABEL53:(void)0; +var48 = var50; +RET_LABEL49:(void)0; } } { -more_collections___more_collections__HashMap2____91d_93d_61d(var52, var_mmodule, var_mtype, var_candidates); /* Direct call more_collections#HashMap2#[]= on */ +more_collections___more_collections__HashMap2____91d_93d_61d(var48, var_mmodule, var_mtype, var_candidates); /* Direct call more_collections#HashMap2#[]= on */ } var = var_candidates; goto RET_LABEL; } else { } { -var55 = nit___nit__MProperty___select_most_specific(self, var_mmodule, var_candidates); +var51 = nit___nit__MProperty___select_most_specific(self, var_mmodule, var_candidates); } -var = var55; +var = var51; goto RET_LABEL; RET_LABEL:; return var; @@ -3690,8 +4901,8 @@ val* var1 /* : HashMap2[MModule, MType, Array[MPropDef]] */; var1 = self->attrs[COLOR_nit__model__MProperty___lookup_definitions_cache].val; /* _lookup_definitions_cache on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lookup_definitions_cache"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1822); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2017); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -3723,53 +4934,51 @@ val* var18 /* : MModule */; val* var20 /* : MModule */; short int var21 /* : Bool */; short int var22 /* : Bool */; -val* var23 /* : null */; -val* var24 /* : MClassDef */; -val* var26 /* : MClassDef */; -val* var27 /* : MClassType */; -val* var29 /* : MClassType */; +val* var23 /* : MClassDef */; +val* var25 /* : MClassDef */; +val* var26 /* : MClassType */; +val* var28 /* : MClassType */; +short int var29 /* : Bool */; short int var30 /* : Bool */; short int var31 /* : Bool */; -short int var32 /* : Bool */; -val* var33 /* : MClassDef */; -val* var35 /* : MClassDef */; -val* var36 /* : MClassType */; -val* var38 /* : MClassType */; -short int var39 /* : Bool */; +val* var32 /* : MClassDef */; +val* var34 /* : MClassDef */; +val* var35 /* : MClassType */; +val* var37 /* : MClassType */; +short int var38 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var41 /* : Bool */; -short int var43 /* : Bool */; -short int var_44 /* var : Bool */; -val* var45 /* : MClassDef */; -val* var47 /* : MClassDef */; -val* var48 /* : MModule */; -val* var50 /* : MModule */; -short int var51 /* : Bool */; -short int var53 /* : Bool */; -short int var55 /* : Bool */; +short int var40 /* : Bool */; +short int var42 /* : Bool */; +short int var_43 /* var : Bool */; +val* var44 /* : MClassDef */; +val* var46 /* : MClassDef */; +val* var47 /* : MModule */; +val* var49 /* : MModule */; +short int var50 /* : Bool */; +short int var52 /* : Bool */; +short int var54 /* : Bool */; +long var56 /* : Int */; long var58 /* : Int */; -long var60 /* : Int */; -long var61 /* : Int */; -short int var62 /* : Bool */; -short int var64 /* : Bool */; +short int var59 /* : Bool */; +short int var61 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var65 /* : Bool */; -val* var66 /* : Array[MPropDef] */; +short int var62 /* : Bool */; +val* var63 /* : Array[MPropDef] */; var_mmodule = p0; var_mtype = p1; { -var1 = ((short int (*)(val* self))(var_mtype->class->vft[COLOR_nit__model__MType__need_anchor]))(var_mtype) /* need_anchor on */; +var1 = ((short int(*)(val* self))(var_mtype->class->vft[COLOR_nit__model__MType__need_anchor]))(var_mtype); /* need_anchor on */ } var2 = !var1; if (unlikely(!var2)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1835); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2030); +fatal_exit(1); } { -var3 = ((val* (*)(val* self))(var_mtype->class->vft[COLOR_nit__model__MType__as_notnullable]))(var_mtype) /* as_notnullable on */; +var3 = ((val*(*)(val* self))(var_mtype->class->vft[COLOR_nit__model__MType__undecorate]))(var_mtype); /* undecorate on */ } var_mtype = var3; var4 = NEW_standard__Array(self->type->resolution_table->types[COLOR_standard__Array__nit__model__MProperty__MPROPDEF]); @@ -3782,8 +4991,8 @@ var_candidates = var4; var7 = self->attrs[COLOR_nit__model__MProperty___mpropdefs].val; /* _mpropdefs on */ if (unlikely(var7 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1768); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1963); +fatal_exit(1); } var5 = var7; RET_LABEL6:(void)0; @@ -3809,7 +5018,7 @@ var14 = var_mmodule->attrs[COLOR_nit__mmodule__MModule___in_importation].val; /* if (unlikely(var14 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 96); -show_backtrace(1); +fatal_exit(1); } var12 = var14; RET_LABEL13:(void)0; @@ -3820,8 +5029,8 @@ RET_LABEL13:(void)0; var17 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ if (unlikely(var17 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209); +fatal_exit(1); } var15 = var17; RET_LABEL16:(void)0; @@ -3832,8 +5041,8 @@ RET_LABEL16:(void)0; var20 = var15->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ if (unlikely(var20 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 489); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550); +fatal_exit(1); } var18 = var20; RET_LABEL19:(void)0; @@ -3847,126 +5056,125 @@ if (var22){ goto BREAK_label; } else { } -var23 = NULL; { { /* Inline model#MPropDef#mclassdef (var_mpropdef) on */ -var26 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ -if (unlikely(var26 == NULL)) { +var25 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ +if (unlikely(var25 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209); +fatal_exit(1); } -var24 = var26; -RET_LABEL25:(void)0; +var23 = var25; +RET_LABEL24:(void)0; } } { -{ /* Inline model#MClassDef#bound_mtype (var24) on */ -var29 = var24->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ -if (unlikely(var29 == NULL)) { +{ /* Inline model#MClassDef#bound_mtype (var23) on */ +var28 = var23->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ +if (unlikely(var28 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 495); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 556); +fatal_exit(1); } -var27 = var29; -RET_LABEL28:(void)0; +var26 = var28; +RET_LABEL27:(void)0; } } { -var30 = nit___nit__MType___is_subtype(var_mtype, var_mmodule, var23, var27); +var29 = nit___nit__MType___is_subtype(var_mtype, var_mmodule, ((val*)NULL), var26); } -var31 = !var30; -if (var31){ +var30 = !var29; +if (var30){ goto BREAK_label; } else { } { { /* Inline model#MPropDef#mclassdef (var_mpropdef) on */ -var35 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ -if (unlikely(var35 == NULL)) { +var34 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ +if (unlikely(var34 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209); +fatal_exit(1); } -var33 = var35; -RET_LABEL34:(void)0; +var32 = var34; +RET_LABEL33:(void)0; } } { -{ /* Inline model#MClassDef#bound_mtype (var33) on */ -var38 = var33->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ -if (unlikely(var38 == NULL)) { +{ /* Inline model#MClassDef#bound_mtype (var32) on */ +var37 = var32->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ +if (unlikely(var37 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 495); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 556); +fatal_exit(1); } -var36 = var38; -RET_LABEL37:(void)0; +var35 = var37; +RET_LABEL36:(void)0; } } { -{ /* Inline kernel#Object#== (var_mtype,var36) on */ -var_other = var36; +{ /* Inline kernel#Object#== (var_mtype,var35) on */ +var_other = var35; { { /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on */ -var43 = var_mtype == var_other; -var41 = var43; -goto RET_LABEL42; -RET_LABEL42:(void)0; +var42 = var_mtype == var_other; +var40 = var42; +goto RET_LABEL41; +RET_LABEL41:(void)0; } } -var39 = var41; -goto RET_LABEL40; -RET_LABEL40:(void)0; +var38 = var40; +goto RET_LABEL39; +RET_LABEL39:(void)0; } } -var_44 = var39; -if (var39){ +var_43 = var38; +if (var38){ { { /* Inline model#MPropDef#mclassdef (var_mpropdef) on */ -var47 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ -if (unlikely(var47 == NULL)) { +var46 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ +if (unlikely(var46 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209); +fatal_exit(1); } -var45 = var47; -RET_LABEL46:(void)0; +var44 = var46; +RET_LABEL45:(void)0; } } { -{ /* Inline model#MClassDef#mmodule (var45) on */ -var50 = var45->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var50 == NULL)) { +{ /* Inline model#MClassDef#mmodule (var44) on */ +var49 = var44->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var49 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 489); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550); +fatal_exit(1); } -var48 = var50; -RET_LABEL49:(void)0; +var47 = var49; +RET_LABEL48:(void)0; } } { -{ /* Inline kernel#Object#== (var_mmodule,var48) on */ -var_other = var48; +{ /* Inline kernel#Object#== (var_mmodule,var47) on */ +var_other = var47; { { /* Inline kernel#Object#is_same_instance (var_mmodule,var_other) on */ -var55 = var_mmodule == var_other; -var53 = var55; -goto RET_LABEL54; -RET_LABEL54:(void)0; +var54 = var_mmodule == var_other; +var52 = var54; +goto RET_LABEL53; +RET_LABEL53:(void)0; } } -var51 = var53; -goto RET_LABEL52; -RET_LABEL52:(void)0; +var50 = var52; +goto RET_LABEL51; +RET_LABEL51:(void)0; } } -var32 = var51; +var31 = var50; } else { -var32 = var_44; +var31 = var_43; } -if (var32){ +if (var31){ goto BREAK_label; } else { } @@ -3978,49 +5186,46 @@ BREAK_label: (void)0; standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_9); /* Direct call array#ArrayIterator#next on */ } } else { -goto BREAK_label56; +goto BREAK_label55; } } -BREAK_label56: (void)0; +BREAK_label55: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_9) on */ -RET_LABEL57:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_9); /* Direct call array#ArrayIterator#finish on */ } { { /* Inline array#AbstractArrayRead#length (var_candidates) on */ -var60 = var_candidates->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ -var58 = var60; -RET_LABEL59:(void)0; +var58 = var_candidates->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ +var56 = var58; +RET_LABEL57:(void)0; } } -var61 = 1; { -{ /* Inline kernel#Int#<= (var58,var61) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var64 = 1; /* easy isa OTHER*/ -if (unlikely(!var64)) { +{ /* Inline kernel#Int#<= (var56,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var61 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var61)) { 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, 409); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533); +fatal_exit(1); } -var65 = var58 <= var61; -var62 = var65; -goto RET_LABEL63; -RET_LABEL63:(void)0; +var62 = var56 <= 1l; +var59 = var62; +goto RET_LABEL60; +RET_LABEL60:(void)0; } } -if (var62){ +if (var59){ var = var_candidates; goto RET_LABEL; } else { } { -var66 = nit___nit__MProperty___select_most_specific(self, var_mmodule, var_candidates); +var63 = nit___nit__MProperty___select_most_specific(self, var_mmodule, var_candidates); } -var = var66; +var = var63; goto RET_LABEL; RET_LABEL:; return var; @@ -4049,72 +5254,66 @@ val* var_cd1 /* var cd1: MClassDef */; val* var10 /* : MClass */; val* var12 /* : MClass */; val* var_c1 /* var c1: MClass */; -short int var13 /* : Bool */; short int var_keep /* var keep: Bool */; -val* var_14 /* var : Array[MPropDef] */; -val* var15 /* : ArrayIterator[nullable Object] */; -val* var_16 /* var : ArrayIterator[MPropDef] */; -short int var17 /* : Bool */; -val* var18 /* : nullable Object */; +val* var_13 /* var : Array[MPropDef] */; +val* var14 /* : ArrayIterator[nullable Object] */; +val* var_15 /* var : ArrayIterator[MPropDef] */; +short int var16 /* : Bool */; +val* var17 /* : nullable Object */; val* var_pd2 /* var pd2: MPropDef */; -short int var19 /* : Bool */; +short int var18 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var21 /* : Bool */; -short int var23 /* : Bool */; -val* var24 /* : MClassDef */; -val* var26 /* : MClassDef */; +short int var20 /* : Bool */; +short int var22 /* : Bool */; +val* var23 /* : MClassDef */; +val* var25 /* : MClassDef */; val* var_cd2 /* var cd2: MClassDef */; -val* var27 /* : MClass */; -val* var29 /* : MClass */; +val* var26 /* : MClass */; +val* var28 /* : MClass */; val* var_c2 /* var c2: MClass */; -val* var30 /* : MClassType */; +val* var29 /* : MClassType */; +val* var31 /* : MClassType */; val* var32 /* : MClassType */; -val* var33 /* : MClassType */; -val* var35 /* : MClassType */; -short int var36 /* : Bool */; -short int var38 /* : Bool */; -short int var40 /* : Bool */; -val* var41 /* : MModule */; -val* var43 /* : MModule */; -val* var44 /* : POSetElement[MModule] */; -val* var46 /* : POSetElement[MModule] */; -val* var47 /* : MModule */; -val* var49 /* : MModule */; -short int var50 /* : Bool */; +val* var34 /* : MClassType */; +short int var35 /* : Bool */; +short int var37 /* : Bool */; +short int var39 /* : Bool */; +val* var40 /* : MModule */; +val* var42 /* : MModule */; +val* var43 /* : POSetElement[MModule] */; +val* var45 /* : POSetElement[MModule] */; +val* var46 /* : MModule */; +val* var48 /* : MModule */; +short int var49 /* : Bool */; short int var51 /* : Bool */; -short int var53 /* : Bool */; +val* var52 /* : MClassType */; val* var54 /* : MClassType */; -val* var56 /* : MClassType */; -val* var57 /* : null */; -val* var58 /* : MClassType */; +val* var55 /* : MClassType */; +val* var57 /* : MClassType */; +short int var58 /* : Bool */; +short int var_59 /* var : Bool */; val* var60 /* : MClassType */; -short int var61 /* : Bool */; -short int var_62 /* var : Bool */; +val* var62 /* : MClassType */; val* var63 /* : MClassType */; val* var65 /* : MClassType */; -val* var66 /* : MClassType */; -val* var68 /* : MClassType */; +short int var66 /* : Bool */; +val* var_other68 /* var other: nullable Object */; short int var69 /* : Bool */; -val* var_other71 /* var other: nullable Object */; +short int var70 /* : Bool */; short int var72 /* : Bool */; -short int var73 /* : Bool */; -short int var74 /* : Bool */; -short int var78 /* : Bool */; +val* var73 /* : Sys */; +val* var74 /* : NativeArray[String] */; static val* varonce; -val* var79 /* : String */; -char* var80 /* : NativeString */; -long var81 /* : Int */; +static val* varonce75; +val* var76 /* : String */; +char* var77 /* : NativeString */; +val* var78 /* : FlatString */; +static val* varonce79; +val* var80 /* : String */; +char* var81 /* : NativeString */; val* var82 /* : FlatString */; -static val* varonce83; +val* var83 /* : String */; val* var84 /* : String */; -char* var85 /* : NativeString */; -long var86 /* : Int */; -val* var87 /* : FlatString */; -val* var88 /* : String */; -val* var89 /* : Array[Object] */; -long var90 /* : Int */; -val* var91 /* : NativeArray[Object] */; -val* var92 /* : String */; /* Covariant cast for argument 1 (candidates) isa Array[MPROPDEF] */ /* isa Array[MPROPDEF] */ type_struct = self->type->resolution_table->types[COLOR_standard__Array__nit__model__MProperty__MPROPDEF]; @@ -4128,8 +5327,8 @@ var1 = p1->type->type_table[cltype] == idtype; if (unlikely(!var1)) { var_class_name = p1 == NULL ? "null" : p1->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Array[MPROPDEF]", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1857); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2052); +fatal_exit(1); } var_mmodule = p0; var_candidates = p1; @@ -4157,8 +5356,8 @@ var_pd1 = var6; var9 = var_pd1->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ if (unlikely(var9 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209); +fatal_exit(1); } var7 = var9; RET_LABEL8:(void)0; @@ -4170,253 +5369,247 @@ var_cd1 = var7; var12 = var_cd1->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ if (unlikely(var12 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); } var10 = var12; RET_LABEL11:(void)0; } } var_c1 = var10; -var13 = 1; -var_keep = var13; -var_14 = var_candidates; +var_keep = 1; +var_13 = var_candidates; { -var15 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_14); +var14 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_13); } -var_16 = var15; +var_15 = var14; for(;;) { { -var17 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_16); +var16 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_15); } -if (var17){ +if (var16){ { -var18 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_16); +var17 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_15); } -var_pd2 = var18; +var_pd2 = var17; { { /* Inline kernel#Object#== (var_pd2,var_pd1) on */ var_other = var_pd1; { { /* Inline kernel#Object#is_same_instance (var_pd2,var_other) on */ -var23 = var_pd2 == var_other; -var21 = var23; -goto RET_LABEL22; -RET_LABEL22:(void)0; +var22 = var_pd2 == var_other; +var20 = var22; +goto RET_LABEL21; +RET_LABEL21:(void)0; } } -var19 = var21; -goto RET_LABEL20; -RET_LABEL20:(void)0; +var18 = var20; +goto RET_LABEL19; +RET_LABEL19:(void)0; } } -if (var19){ +if (var18){ goto BREAK_label; } else { } { { /* Inline model#MPropDef#mclassdef (var_pd2) on */ -var26 = var_pd2->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ -if (unlikely(var26 == NULL)) { +var25 = var_pd2->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ +if (unlikely(var25 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209); +fatal_exit(1); } -var24 = var26; -RET_LABEL25:(void)0; +var23 = var25; +RET_LABEL24:(void)0; } } -var_cd2 = var24; +var_cd2 = var23; { { /* Inline model#MClassDef#mclass (var_cd2) on */ -var29 = var_cd2->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var29 == NULL)) { +var28 = var_cd2->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var28 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); } -var27 = var29; -RET_LABEL28:(void)0; +var26 = var28; +RET_LABEL27:(void)0; } } -var_c2 = var27; +var_c2 = var26; { { /* Inline model#MClass#mclass_type (var_c2) on */ -var32 = var_c2->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ -if (unlikely(var32 == NULL)) { +var31 = var_c2->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ +if (unlikely(var31 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 438); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 484); +fatal_exit(1); } -var30 = var32; -RET_LABEL31:(void)0; +var29 = var31; +RET_LABEL30:(void)0; } } { { /* Inline model#MClass#mclass_type (var_c1) on */ -var35 = var_c1->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ -if (unlikely(var35 == NULL)) { +var34 = var_c1->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ +if (unlikely(var34 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 438); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 484); +fatal_exit(1); } -var33 = var35; -RET_LABEL34:(void)0; +var32 = var34; +RET_LABEL33:(void)0; } } { -{ /* Inline kernel#Object#== (var30,var33) on */ -var_other = var33; +{ /* Inline kernel#Object#== (var29,var32) on */ +var_other = var32; { -{ /* Inline kernel#Object#is_same_instance (var30,var_other) on */ -var40 = var30 == var_other; -var38 = var40; -goto RET_LABEL39; -RET_LABEL39:(void)0; +{ /* Inline kernel#Object#is_same_instance (var29,var_other) on */ +var39 = var29 == var_other; +var37 = var39; +goto RET_LABEL38; +RET_LABEL38:(void)0; } } -var36 = var38; -goto RET_LABEL37; -RET_LABEL37:(void)0; +var35 = var37; +goto RET_LABEL36; +RET_LABEL36:(void)0; } } -if (var36){ +if (var35){ { { /* Inline model#MClassDef#mmodule (var_cd2) on */ -var43 = var_cd2->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var43 == NULL)) { +var42 = var_cd2->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var42 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 489); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550); +fatal_exit(1); } -var41 = var43; -RET_LABEL42:(void)0; +var40 = var42; +RET_LABEL41:(void)0; } } { -{ /* Inline mmodule#MModule#in_importation (var41) on */ -var46 = var41->attrs[COLOR_nit__mmodule__MModule___in_importation].val; /* _in_importation on */ -if (unlikely(var46 == NULL)) { +{ /* Inline mmodule#MModule#in_importation (var40) on */ +var45 = var40->attrs[COLOR_nit__mmodule__MModule___in_importation].val; /* _in_importation on */ +if (unlikely(var45 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 96); -show_backtrace(1); +fatal_exit(1); } -var44 = var46; -RET_LABEL45:(void)0; +var43 = var45; +RET_LABEL44:(void)0; } } { { /* Inline model#MClassDef#mmodule (var_cd1) on */ -var49 = var_cd1->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var49 == NULL)) { +var48 = var_cd1->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var48 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 489); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550); +fatal_exit(1); } -var47 = var49; -RET_LABEL48:(void)0; +var46 = var48; +RET_LABEL47:(void)0; } } { -var50 = poset___poset__POSetElement____60d(var44, var47); +var49 = poset___poset__POSetElement____60d(var43, var46); } -if (var50){ -var51 = 0; -var_keep = var51; -goto BREAK_label52; +if (var49){ +var_keep = 0; +goto BREAK_label50; } else { } } else { { { /* Inline model#MClassDef#bound_mtype (var_cd2) on */ -var56 = var_cd2->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ -if (unlikely(var56 == NULL)) { +var54 = var_cd2->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ +if (unlikely(var54 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 495); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 556); +fatal_exit(1); } -var54 = var56; -RET_LABEL55:(void)0; +var52 = var54; +RET_LABEL53:(void)0; } } -var57 = NULL; { { /* Inline model#MClassDef#bound_mtype (var_cd1) on */ -var60 = var_cd1->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ -if (unlikely(var60 == NULL)) { +var57 = var_cd1->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ +if (unlikely(var57 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 495); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 556); +fatal_exit(1); } -var58 = var60; -RET_LABEL59:(void)0; +var55 = var57; +RET_LABEL56:(void)0; } } { -var61 = nit___nit__MType___is_subtype(var54, var_mmodule, var57, var58); +var58 = nit___nit__MType___is_subtype(var52, var_mmodule, ((val*)NULL), var55); } -var_62 = var61; -if (var61){ +var_59 = var58; +if (var58){ { { /* Inline model#MClassDef#bound_mtype (var_cd2) on */ -var65 = var_cd2->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ -if (unlikely(var65 == NULL)) { +var62 = var_cd2->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ +if (unlikely(var62 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 495); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 556); +fatal_exit(1); } -var63 = var65; -RET_LABEL64:(void)0; +var60 = var62; +RET_LABEL61:(void)0; } } { { /* Inline model#MClassDef#bound_mtype (var_cd1) on */ -var68 = var_cd1->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ -if (unlikely(var68 == NULL)) { +var65 = var_cd1->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ +if (unlikely(var65 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 495); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 556); +fatal_exit(1); } -var66 = var68; -RET_LABEL67:(void)0; +var63 = var65; +RET_LABEL64:(void)0; } } { -{ /* Inline kernel#Object#!= (var63,var66) on */ -var_other71 = var66; +{ /* Inline kernel#Object#!= (var60,var63) on */ +var_other68 = var63; { -var72 = ((short int (*)(val* self, val* p0))(var63->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var63, var_other71) /* == on */; +var69 = ((short int(*)(val* self, val* p0))(var60->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var60, var_other68); /* == on */ } -var73 = !var72; -var69 = var73; -goto RET_LABEL70; -RET_LABEL70:(void)0; +var70 = !var69; +var66 = var70; +goto RET_LABEL67; +RET_LABEL67:(void)0; } } -var53 = var69; +var51 = var66; } else { -var53 = var_62; +var51 = var_59; } -if (var53){ -var74 = 0; -var_keep = var74; -goto BREAK_label52; +if (var51){ +var_keep = 0; +goto BREAK_label50; } else { } } BREAK_label: (void)0; { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_16); /* Direct call array#ArrayIterator#next on */ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_15); /* Direct call array#ArrayIterator#next on */ } } else { -goto BREAK_label52; +goto BREAK_label50; } } -BREAK_label52: (void)0; +BREAK_label50: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_16) on */ -RET_LABEL75:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_15); /* Direct call array#ArrayIterator#finish on */ } if (var_keep){ { @@ -4428,55 +5621,51 @@ standard___standard__Array___standard__abstract_collection__SimpleCollection__ad standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_4); /* Direct call array#ArrayIterator#next on */ } } else { -goto BREAK_label76; +goto BREAK_label71; } } -BREAK_label76: (void)0; +BREAK_label71: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_4) on */ -RET_LABEL77:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_4); /* Direct call array#ArrayIterator#finish on */ } { -var78 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_res); +var72 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_res); } -if (var78){ -if (varonce) { -var79 = varonce; +if (var72){ +var73 = glob_sys; +if (unlikely(varonce==NULL)) { +var74 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String); +if (likely(varonce75!=NULL)) { +var76 = varonce75; } else { -var80 = "All lost! "; -var81 = 10; -var82 = standard___standard__NativeString___to_s_with_length(var80, var81); -var79 = var82; -varonce = var79; +var77 = "All lost! "; +var78 = standard___standard__NativeString___to_s_with_length(var77, 10l); +var76 = var78; +varonce75 = var76; } -if (varonce83) { -var84 = varonce83; +((struct instance_standard__NativeArray*)var74)->values[0]=var76; } else { -var85 = ", "; -var86 = 2; -var87 = standard___standard__NativeString___to_s_with_length(var85, var86); -var84 = var87; -varonce83 = var84; +var74 = varonce; +varonce = NULL; } -{ -var88 = standard__string___Collection___join(var_candidates, var84); +if (likely(varonce79!=NULL)) { +var80 = varonce79; +} else { +var81 = ", "; +var82 = standard___standard__NativeString___to_s_with_length(var81, 2l); +var80 = var82; +varonce79 = var80; } -var89 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var89 = array_instance Array[Object] */ -var90 = 2; -var91 = NEW_standard__NativeArray(var90, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var91)->values[0] = (val*) var79; -((struct instance_standard__NativeArray*)var91)->values[1] = (val*) var88; { -((void (*)(val* self, val* p0, long p1))(var89->class->vft[COLOR_standard__array__Array__with_native]))(var89, var91, var90) /* with_native on */; -} +var83 = standard__string___Collection___join(var_candidates, var80); } +((struct instance_standard__NativeArray*)var74)->values[1]=var83; { -var92 = ((val* (*)(val* self))(var89->class->vft[COLOR_standard__string__Object__to_s]))(var89) /* to_s on */; +var84 = ((val*(*)(val* self))(var74->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var74); /* native_to_s on */ } +varonce = var74; { -standard__file___Object___print(self, var92); /* Direct call file#Object#print on */ +standard__file___Sys___print(var73, var84); /* Direct call file#Sys#print on */ } } else { } @@ -4515,58 +5704,55 @@ val* var2 /* : HashMap2[MModule, MType, Array[MPropDef]] */; val* var4 /* : HashMap2[MModule, MType, Array[MPropDef]] */; val* var5 /* : nullable Object */; val* var_cache /* var cache: nullable Array[MPropDef] */; -val* var6 /* : null */; +short int var6 /* : Bool */; short int var7 /* : Bool */; -short int var8 /* : Bool */; val* var_other /* var other: nullable Object */; +short int var9 /* : Bool */; short int var10 /* : Bool */; short int var11 /* : Bool */; short int var12 /* : Bool */; short int var13 /* : Bool */; -short int var14 /* : Bool */; -val* var15 /* : Array[MPropDef] */; +val* var14 /* : Array[MPropDef] */; val* var_candidates /* var candidates: Array[MPropDef] */; -val* var16 /* : Array[MPropDef] */; -val* var18 /* : Array[MPropDef] */; +val* var15 /* : Array[MPropDef] */; +val* var17 /* : Array[MPropDef] */; val* var_ /* var : Array[MPropDef] */; -val* var19 /* : ArrayIterator[nullable Object] */; -val* var_20 /* var : ArrayIterator[MPropDef] */; -short int var21 /* : Bool */; -val* var22 /* : nullable Object */; +val* var18 /* : ArrayIterator[nullable Object] */; +val* var_19 /* var : ArrayIterator[MPropDef] */; +short int var20 /* : Bool */; +val* var21 /* : nullable Object */; val* var_mpropdef /* var mpropdef: MPropDef */; -val* var23 /* : POSetElement[MModule] */; -val* var25 /* : POSetElement[MModule] */; -val* var26 /* : MClassDef */; -val* var28 /* : MClassDef */; -val* var29 /* : MModule */; -val* var31 /* : MModule */; +val* var22 /* : POSetElement[MModule] */; +val* var24 /* : POSetElement[MModule] */; +val* var25 /* : MClassDef */; +val* var27 /* : MClassDef */; +val* var28 /* : MModule */; +val* var30 /* : MModule */; +short int var31 /* : Bool */; short int var32 /* : Bool */; -short int var33 /* : Bool */; -val* var34 /* : null */; +val* var33 /* : MClassDef */; val* var35 /* : MClassDef */; -val* var37 /* : MClassDef */; +val* var36 /* : MClassType */; val* var38 /* : MClassType */; -val* var40 /* : MClassType */; -short int var41 /* : Bool */; -short int var42 /* : Bool */; -long var45 /* : Int */; -long var47 /* : Int */; -long var48 /* : Int */; -short int var49 /* : Bool */; -short int var51 /* : Bool */; +short int var39 /* : Bool */; +short int var40 /* : Bool */; +long var42 /* : Int */; +long var44 /* : Int */; +short int var45 /* : Bool */; +short int var47 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var52 /* : Bool */; +short int var48 /* : Bool */; +val* var49 /* : HashMap2[MModule, MType, Array[MPropDef]] */; +val* var51 /* : HashMap2[MModule, MType, Array[MPropDef]] */; +val* var52 /* : Array[nullable Object] */; val* var53 /* : HashMap2[MModule, MType, Array[MPropDef]] */; val* var55 /* : HashMap2[MModule, MType, Array[MPropDef]] */; -val* var56 /* : Array[nullable Object] */; -val* var57 /* : HashMap2[MModule, MType, Array[MPropDef]] */; -val* var59 /* : HashMap2[MModule, MType, Array[MPropDef]] */; var_mmodule = p0; var_mtype = p1; { -var1 = ((val* (*)(val* self))(var_mtype->class->vft[COLOR_nit__model__MType__as_notnullable]))(var_mtype) /* as_notnullable on */; +var1 = ((val*(*)(val* self))(var_mtype->class->vft[COLOR_nit__model__MType__undecorate]))(var_mtype); /* undecorate on */ } var_mtype = var1; { @@ -4574,8 +5760,8 @@ var_mtype = var1; var4 = self->attrs[COLOR_nit__model__MProperty___lookup_all_definitions_cache].val; /* _lookup_all_definitions_cache on */ if (unlikely(var4 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lookup_all_definitions_cache"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1945); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2140); +fatal_exit(1); } var2 = var4; RET_LABEL3:(void)0; @@ -4585,152 +5771,150 @@ RET_LABEL3:(void)0; var5 = more_collections___more_collections__HashMap2____91d_93d(var2, var_mmodule, var_mtype); } var_cache = var5; -var6 = NULL; if (var_cache == NULL) { -var7 = 0; /* is null */ +var6 = 0; /* is null */ } else { -var7 = 1; /* arg is null and recv is not */ +var6 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_cache,var6) on */ -var_other = var6; +{ /* Inline kernel#Object#!= (var_cache,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var10 = ((short int (*)(val* self, val* p0))(var_cache->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_cache, var_other) /* == on */; +var9 = ((short int(*)(val* self, val* p0))(var_cache->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_cache, var_other); /* == on */ } -var11 = !var10; -var8 = var11; -goto RET_LABEL9; -RET_LABEL9:(void)0; +var10 = !var9; +var7 = var10; +goto RET_LABEL8; +RET_LABEL8:(void)0; } -var7 = var8; +var6 = var7; } -if (var7){ +if (var6){ var = var_cache; goto RET_LABEL; } else { } { -var12 = ((short int (*)(val* self))(var_mtype->class->vft[COLOR_nit__model__MType__need_anchor]))(var_mtype) /* need_anchor on */; +var11 = ((short int(*)(val* self))(var_mtype->class->vft[COLOR_nit__model__MType__need_anchor]))(var_mtype); /* need_anchor on */ } -var13 = !var12; -if (unlikely(!var13)) { +var12 = !var11; +if (unlikely(!var12)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1919); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2114); +fatal_exit(1); } { -var14 = nit___nit__MType___has_mproperty(var_mtype, var_mmodule, self); +var13 = nit___nit__MType___has_mproperty(var_mtype, var_mmodule, self); } -if (unlikely(!var14)) { +if (unlikely(!var13)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1920); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2115); +fatal_exit(1); } -var15 = NEW_standard__Array(self->type->resolution_table->types[COLOR_standard__Array__nit__model__MProperty__MPROPDEF]); +var14 = NEW_standard__Array(self->type->resolution_table->types[COLOR_standard__Array__nit__model__MProperty__MPROPDEF]); { -standard___standard__Array___standard__kernel__Object__init(var15); /* Direct call array#Array#init on */ +standard___standard__Array___standard__kernel__Object__init(var14); /* Direct call array#Array#init on */ } -var_candidates = var15; +var_candidates = var14; { { /* Inline model#MProperty#mpropdefs (self) on */ -var18 = self->attrs[COLOR_nit__model__MProperty___mpropdefs].val; /* _mpropdefs on */ -if (unlikely(var18 == NULL)) { +var17 = self->attrs[COLOR_nit__model__MProperty___mpropdefs].val; /* _mpropdefs on */ +if (unlikely(var17 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1768); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1963); +fatal_exit(1); } -var16 = var18; -RET_LABEL17:(void)0; +var15 = var17; +RET_LABEL16:(void)0; } } -var_ = var16; +var_ = var15; { -var19 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); +var18 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); } -var_20 = var19; +var_19 = var18; for(;;) { { -var21 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_20); +var20 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_19); } -if (var21){ +if (var20){ { -var22 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_20); +var21 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_19); } -var_mpropdef = var22; +var_mpropdef = var21; { { /* Inline mmodule#MModule#in_importation (var_mmodule) on */ -var25 = var_mmodule->attrs[COLOR_nit__mmodule__MModule___in_importation].val; /* _in_importation on */ -if (unlikely(var25 == NULL)) { +var24 = var_mmodule->attrs[COLOR_nit__mmodule__MModule___in_importation].val; /* _in_importation on */ +if (unlikely(var24 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 96); -show_backtrace(1); +fatal_exit(1); } -var23 = var25; -RET_LABEL24:(void)0; +var22 = var24; +RET_LABEL23:(void)0; } } { { /* Inline model#MPropDef#mclassdef (var_mpropdef) on */ -var28 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ -if (unlikely(var28 == NULL)) { +var27 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ +if (unlikely(var27 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209); +fatal_exit(1); } -var26 = var28; -RET_LABEL27:(void)0; +var25 = var27; +RET_LABEL26:(void)0; } } { -{ /* Inline model#MClassDef#mmodule (var26) on */ -var31 = var26->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var31 == NULL)) { +{ /* Inline model#MClassDef#mmodule (var25) on */ +var30 = var25->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var30 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 489); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550); +fatal_exit(1); } -var29 = var31; -RET_LABEL30:(void)0; +var28 = var30; +RET_LABEL29:(void)0; } } { -var32 = poset___poset__POSetElement____60d_61d(var23, var29); +var31 = poset___poset__POSetElement____60d_61d(var22, var28); } -var33 = !var32; -if (var33){ +var32 = !var31; +if (var32){ goto BREAK_label; } else { } -var34 = NULL; { { /* Inline model#MPropDef#mclassdef (var_mpropdef) on */ -var37 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ -if (unlikely(var37 == NULL)) { +var35 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ +if (unlikely(var35 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209); +fatal_exit(1); } -var35 = var37; -RET_LABEL36:(void)0; +var33 = var35; +RET_LABEL34:(void)0; } } { -{ /* Inline model#MClassDef#bound_mtype (var35) on */ -var40 = var35->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ -if (unlikely(var40 == NULL)) { +{ /* Inline model#MClassDef#bound_mtype (var33) on */ +var38 = var33->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ +if (unlikely(var38 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 495); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 556); +fatal_exit(1); } -var38 = var40; -RET_LABEL39:(void)0; +var36 = var38; +RET_LABEL37:(void)0; } } { -var41 = nit___nit__MType___is_subtype(var_mtype, var_mmodule, var34, var38); +var39 = nit___nit__MType___is_subtype(var_mtype, var_mmodule, ((val*)NULL), var36); } -var42 = !var41; -if (var42){ +var40 = !var39; +if (var40){ goto BREAK_label; } else { } @@ -4739,58 +5923,55 @@ standard___standard__Array___standard__abstract_collection__SimpleCollection__ad } BREAK_label: (void)0; { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_20); /* Direct call array#ArrayIterator#next on */ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_19); /* Direct call array#ArrayIterator#next on */ } } else { -goto BREAK_label43; +goto BREAK_label41; } } -BREAK_label43: (void)0; +BREAK_label41: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_20) on */ -RET_LABEL44:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_19); /* Direct call array#ArrayIterator#finish on */ } { { /* Inline array#AbstractArrayRead#length (var_candidates) on */ -var47 = var_candidates->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ -var45 = var47; -RET_LABEL46:(void)0; +var44 = var_candidates->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ +var42 = var44; +RET_LABEL43:(void)0; } } -var48 = 1; { -{ /* Inline kernel#Int#<= (var45,var48) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var51 = 1; /* easy isa OTHER*/ -if (unlikely(!var51)) { +{ /* Inline kernel#Int#<= (var42,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var47 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var47)) { 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, 409); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533); +fatal_exit(1); } -var52 = var45 <= var48; -var49 = var52; -goto RET_LABEL50; -RET_LABEL50:(void)0; +var48 = var42 <= 1l; +var45 = var48; +goto RET_LABEL46; +RET_LABEL46:(void)0; } } -if (var49){ +if (var45){ { { /* Inline model#MProperty#lookup_all_definitions_cache (self) on */ -var55 = self->attrs[COLOR_nit__model__MProperty___lookup_all_definitions_cache].val; /* _lookup_all_definitions_cache on */ -if (unlikely(var55 == NULL)) { +var51 = self->attrs[COLOR_nit__model__MProperty___lookup_all_definitions_cache].val; /* _lookup_all_definitions_cache on */ +if (unlikely(var51 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lookup_all_definitions_cache"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1945); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2140); +fatal_exit(1); } -var53 = var55; -RET_LABEL54:(void)0; +var49 = var51; +RET_LABEL50:(void)0; } } { -more_collections___more_collections__HashMap2____91d_93d_61d(var53, var_mmodule, var_mtype, var_candidates); /* Direct call more_collections#HashMap2#[]= on */ +more_collections___more_collections__HashMap2____91d_93d_61d(var49, var_mmodule, var_mtype, var_candidates); /* Direct call more_collections#HashMap2#[]= on */ } var = var_candidates; goto RET_LABEL; @@ -4800,23 +5981,23 @@ goto RET_LABEL; nit__model___MModule___linearize_mpropdefs(var_mmodule, var_candidates); /* Direct call model#MModule#linearize_mpropdefs on */ } { -var56 = standard___standard__AbstractArrayRead___reversed(var_candidates); +var52 = standard___standard__AbstractArrayRead___reversed(var_candidates); } -var_candidates = var56; +var_candidates = var52; { { /* Inline model#MProperty#lookup_all_definitions_cache (self) on */ -var59 = self->attrs[COLOR_nit__model__MProperty___lookup_all_definitions_cache].val; /* _lookup_all_definitions_cache on */ -if (unlikely(var59 == NULL)) { +var55 = self->attrs[COLOR_nit__model__MProperty___lookup_all_definitions_cache].val; /* _lookup_all_definitions_cache on */ +if (unlikely(var55 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lookup_all_definitions_cache"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1945); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2140); +fatal_exit(1); } -var57 = var59; -RET_LABEL58:(void)0; +var53 = var55; +RET_LABEL54:(void)0; } } { -more_collections___more_collections__HashMap2____91d_93d_61d(var57, var_mmodule, var_mtype, var_candidates); /* Direct call more_collections#HashMap2#[]= on */ +more_collections___more_collections__HashMap2____91d_93d_61d(var53, var_mmodule, var_mtype, var_candidates); /* Direct call more_collections#HashMap2#[]= on */ } var = var_candidates; goto RET_LABEL; @@ -4830,8 +6011,8 @@ val* var1 /* : HashMap2[MModule, MType, Array[MPropDef]] */; var1 = self->attrs[COLOR_nit__model__MProperty___lookup_all_definitions_cache].val; /* _lookup_all_definitions_cache on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lookup_all_definitions_cache"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1945); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2140); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -4912,6 +6093,120 @@ goto RET_LABEL; RET_LABEL:; return var; } +/* method model#MMethod#is_null_safe for (self: MMethod): Bool */ +short int nit___nit__MMethod___is_null_safe(val* self) { +short int var /* : Bool */; +short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var3 /* : String */; +val* var5 /* : String */; +static val* varonce; +val* var6 /* : String */; +char* var7 /* : NativeString */; +val* var8 /* : FlatString */; +short int var9 /* : Bool */; +short int var_ /* var : Bool */; +val* var10 /* : String */; +val* var12 /* : String */; +static val* varonce13; +val* var14 /* : String */; +char* var15 /* : NativeString */; +val* var16 /* : FlatString */; +short int var17 /* : Bool */; +short int var_18 /* var : Bool */; +val* var19 /* : String */; +val* var21 /* : String */; +static val* varonce22; +val* var23 /* : String */; +char* var24 /* : NativeString */; +val* var25 /* : FlatString */; +short int var26 /* : Bool */; +{ +{ /* Inline model#MProperty#name (self) on */ +var5 = self->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ +if (unlikely(var5 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1933); +fatal_exit(1); +} +var3 = var5; +RET_LABEL4:(void)0; +} +} +if (likely(varonce!=NULL)) { +var6 = varonce; +} else { +var7 = "=="; +var8 = standard___standard__NativeString___to_s_with_length(var7, 2l); +var6 = var8; +varonce = var6; +} +{ +var9 = ((short int(*)(val* self, val* p0))(var3->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var3, var6); /* == on */ +} +var_ = var9; +if (var9){ +var2 = var_; +} else { +{ +{ /* Inline model#MProperty#name (self) on */ +var12 = self->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ +if (unlikely(var12 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1933); +fatal_exit(1); +} +var10 = var12; +RET_LABEL11:(void)0; +} +} +if (likely(varonce13!=NULL)) { +var14 = varonce13; +} else { +var15 = "!="; +var16 = standard___standard__NativeString___to_s_with_length(var15, 2l); +var14 = var16; +varonce13 = var14; +} +{ +var17 = ((short int(*)(val* self, val* p0))(var10->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var10, var14); /* == on */ +} +var2 = var17; +} +var_18 = var2; +if (var2){ +var1 = var_18; +} else { +{ +{ /* Inline model#MProperty#name (self) on */ +var21 = self->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ +if (unlikely(var21 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1933); +fatal_exit(1); +} +var19 = var21; +RET_LABEL20:(void)0; +} +} +if (likely(varonce22!=NULL)) { +var23 = varonce22; +} else { +var24 = "is_same_instance"; +var25 = standard___standard__NativeString___to_s_with_length(var24, 16l); +var23 = var25; +varonce22 = var23; +} +{ +var26 = ((short int(*)(val* self, val* p0))(var19->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var19, var23); /* == on */ +} +var1 = var26; +} +var = var1; +goto RET_LABEL; +RET_LABEL:; +return var; +} /* method model#MVirtualTypeProp#mvirtualtype for (self: MVirtualTypeProp): MVirtualType */ val* nit___nit__MVirtualTypeProp___mvirtualtype(val* self) { val* var /* : MVirtualType */; @@ -4919,8 +6214,8 @@ val* var1 /* : MVirtualType */; var1 = self->attrs[COLOR_nit__model__MVirtualTypeProp___mvirtualtype].val; /* _mvirtualtype on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mvirtualtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1992); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2191); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -4933,8 +6228,8 @@ val* var1 /* : MClassDef */; var1 = self->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -4952,8 +6247,8 @@ val* var1 /* : MProperty */; var1 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -4979,8 +6274,8 @@ var = p0->type->type_table[cltype] == idtype; if (unlikely(!var)) { var_class_name = p0 == NULL ? "null" : p0->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MPROPERTY", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } self->attrs[COLOR_nit__model__MPropDef___mproperty].val = p0; /* _mproperty on */ RET_LABEL:; @@ -4992,8 +6287,8 @@ val* var1 /* : Location */; var1 = self->attrs[COLOR_nit__model__MPropDef___location].val; /* _location on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2016); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2215); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -5035,29 +6330,29 @@ int cltype; int idtype; const struct type* type_struct; const char* var_class_name; -val* var36 /* : MClassDef */; -val* var38 /* : MClassDef */; +val* var36 /* : NativeArray[String] */; static val* varonce; -val* var39 /* : String */; -char* var40 /* : NativeString */; -long var41 /* : Int */; -val* var42 /* : FlatString */; -val* var43 /* : MProperty */; +static val* varonce37; +val* var38 /* : String */; +char* var39 /* : NativeString */; +val* var40 /* : FlatString */; +val* var41 /* : MClassDef */; +val* var43 /* : MClassDef */; +val* var44 /* : String */; val* var45 /* : MProperty */; -val* var46 /* : Array[Object] */; -long var47 /* : Int */; -val* var48 /* : NativeArray[Object] */; +val* var47 /* : MProperty */; +val* var48 /* : String */; val* var49 /* : String */; { -((void (*)(val* self))(self->class->vft[COLOR_nit___nit__MPropDef___standard__kernel__Object__init]))(self) /* init on */; +((void(*)(val* self))(self->class->vft[COLOR_nit___nit__MPropDef___standard__kernel__Object__init]))(self); /* init on */ } { { /* Inline model#MPropDef#mclassdef (self) on */ var2 = self->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -5068,8 +6363,8 @@ RET_LABEL1:(void)0; var5 = var->attrs[COLOR_nit__model__MClassDef___mpropdefs].val; /* _mpropdefs on */ if (unlikely(var5 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 623); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 684); +fatal_exit(1); } var3 = var5; RET_LABEL4:(void)0; @@ -5083,8 +6378,8 @@ standard___standard__Array___standard__abstract_collection__SimpleCollection__ad var8 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ if (unlikely(var8 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } var6 = var8; RET_LABEL7:(void)0; @@ -5095,8 +6390,8 @@ RET_LABEL7:(void)0; var11 = var6->attrs[COLOR_nit__model__MProperty___mpropdefs].val; /* _mpropdefs on */ if (unlikely(var11 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdefs"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1768); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1963); +fatal_exit(1); } var9 = var11; RET_LABEL10:(void)0; @@ -5110,8 +6405,8 @@ standard___standard__Array___standard__abstract_collection__SimpleCollection__ad var14 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ if (unlikely(var14 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } var12 = var14; RET_LABEL13:(void)0; @@ -5122,8 +6417,8 @@ RET_LABEL13:(void)0; var17 = var12->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ if (unlikely(var17 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1736); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1928); +fatal_exit(1); } var15 = var17; RET_LABEL16:(void)0; @@ -5134,8 +6429,8 @@ RET_LABEL16:(void)0; var20 = self->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ if (unlikely(var20 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209); +fatal_exit(1); } var18 = var20; RET_LABEL19:(void)0; @@ -5163,8 +6458,8 @@ if (var21){ var28 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ if (unlikely(var28 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } var26 = var28; RET_LABEL27:(void)0; @@ -5174,16 +6469,16 @@ var29 = var26->attrs[COLOR_nit__model__MProperty___intro].val != NULL; /* _intro var30 = !var29; if (unlikely(!var30)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2024); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2223); +fatal_exit(1); } { { /* Inline model#MPropDef#mproperty (self) on */ var33 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ if (unlikely(var33 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } var31 = var33; RET_LABEL32:(void)0; @@ -5204,8 +6499,8 @@ var35 = self->type->type_table[cltype] == idtype; if (unlikely(!var35)) { var_class_name = self == NULL ? "null" : self->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MPROPDEF", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1773); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1968); +fatal_exit(1); } var31->attrs[COLOR_nit__model__MProperty___intro].val = self; /* _intro on */ RET_LABEL34:(void)0; @@ -5213,53 +6508,57 @@ RET_LABEL34:(void)0; } } else { } +if (unlikely(varonce==NULL)) { +var36 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce37!=NULL)) { +var38 = varonce37; +} else { +var39 = "#"; +var40 = standard___standard__NativeString___to_s_with_length(var39, 1l); +var38 = var40; +varonce37 = var38; +} +((struct instance_standard__NativeArray*)var36)->values[1]=var38; +} else { +var36 = varonce; +varonce = NULL; +} { { /* Inline model#MPropDef#mclassdef (self) on */ -var38 = self->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ -if (unlikely(var38 == NULL)) { +var43 = self->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ +if (unlikely(var43 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209); +fatal_exit(1); } -var36 = var38; -RET_LABEL37:(void)0; +var41 = var43; +RET_LABEL42:(void)0; } } -if (varonce) { -var39 = varonce; -} else { -var40 = "#"; -var41 = 1; -var42 = standard___standard__NativeString___to_s_with_length(var40, var41); -var39 = var42; -varonce = var39; +{ +var44 = ((val*(*)(val* self))(var41->class->vft[COLOR_standard__string__Object__to_s]))(var41); /* to_s on */ } +((struct instance_standard__NativeArray*)var36)->values[0]=var44; { { /* Inline model#MPropDef#mproperty (self) on */ -var45 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var45 == NULL)) { +var47 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var47 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } -var43 = var45; -RET_LABEL44:(void)0; +var45 = var47; +RET_LABEL46:(void)0; } } -var46 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var46 = array_instance Array[Object] */ -var47 = 3; -var48 = NEW_standard__NativeArray(var47, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var48)->values[0] = (val*) var36; -((struct instance_standard__NativeArray*)var48)->values[1] = (val*) var39; -((struct instance_standard__NativeArray*)var48)->values[2] = (val*) var43; { -((void (*)(val* self, val* p0, long p1))(var46->class->vft[COLOR_standard__array__Array__with_native]))(var46, var48, var47) /* with_native on */; -} +var48 = ((val*(*)(val* self))(var45->class->vft[COLOR_standard__string__Object__to_s]))(var45); /* to_s on */ } +((struct instance_standard__NativeArray*)var36)->values[2]=var48; { -var49 = ((val* (*)(val* self))(var46->class->vft[COLOR_standard__string__Object__to_s]))(var46) /* to_s on */; +var49 = ((val*(*)(val* self))(var36->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var36); /* native_to_s on */ } +varonce = var36; { { /* Inline model#MPropDef#to_s= (self,var49) on */ self->attrs[COLOR_nit__model__MPropDef___to_s].val = var49; /* _to_s on */ @@ -5280,8 +6579,8 @@ val* var6 /* : String */; var3 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; @@ -5292,8 +6591,8 @@ RET_LABEL2:(void)0; var6 = var1->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ if (unlikely(var6 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1741); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1933); +fatal_exit(1); } var4 = var6; RET_LABEL5:(void)0; @@ -5318,132 +6617,128 @@ val* var10 /* : String */; static val* varonce; val* var11 /* : String */; char* var12 /* : NativeString */; -long var13 /* : Int */; -val* var14 /* : FlatString */; -val* var15 /* : MClassDef */; -val* var17 /* : MClassDef */; -val* var18 /* : MClass */; -val* var20 /* : MClass */; -val* var21 /* : MProperty */; -val* var23 /* : MProperty */; -val* var24 /* : MClassDef */; -val* var26 /* : MClassDef */; -val* var27 /* : MClass */; -val* var29 /* : MClass */; -short int var30 /* : Bool */; +val* var13 /* : FlatString */; +val* var14 /* : MClassDef */; +val* var16 /* : MClassDef */; +val* var17 /* : MClass */; +val* var19 /* : MClass */; +val* var20 /* : MProperty */; +val* var22 /* : MProperty */; +val* var23 /* : MClassDef */; +val* var25 /* : MClassDef */; +val* var26 /* : MClass */; +val* var28 /* : MClass */; +short int var29 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var32 /* : Bool */; -short int var34 /* : Bool */; -val* var35 /* : String */; -val* var36 /* : MClassDef */; -val* var38 /* : MClassDef */; -val* var39 /* : MModule */; -val* var41 /* : MModule */; -val* var42 /* : nullable MProject */; -val* var43 /* : MProperty */; -val* var45 /* : MProperty */; -val* var46 /* : MClassDef */; -val* var48 /* : MClassDef */; -val* var49 /* : MModule */; -val* var51 /* : MModule */; -val* var52 /* : nullable MProject */; +short int var31 /* : Bool */; +short int var33 /* : Bool */; +val* var34 /* : String */; +val* var35 /* : MClassDef */; +val* var37 /* : MClassDef */; +val* var38 /* : MModule */; +val* var40 /* : MModule */; +val* var41 /* : nullable MProject */; +val* var42 /* : MProperty */; +val* var44 /* : MProperty */; +val* var45 /* : MClassDef */; +val* var47 /* : MClassDef */; +val* var48 /* : MModule */; +val* var50 /* : MModule */; +val* var51 /* : nullable MProject */; +short int var52 /* : Bool */; short int var53 /* : Bool */; -short int var54 /* : Bool */; -val* var_other56 /* var other: nullable Object */; +val* var_other55 /* var other: nullable Object */; +short int var56 /* : Bool */; short int var57 /* : Bool */; -short int var58 /* : Bool */; -val* var59 /* : MProperty */; -val* var61 /* : MProperty */; -val* var62 /* : MClassDef */; -val* var64 /* : MClassDef */; -val* var65 /* : MModule */; -val* var67 /* : MModule */; -val* var68 /* : String */; -static val* varonce69; -val* var70 /* : String */; -char* var71 /* : NativeString */; -long var72 /* : Int */; -val* var73 /* : FlatString */; +val* var58 /* : MProperty */; +val* var60 /* : MProperty */; +val* var61 /* : MClassDef */; +val* var63 /* : MClassDef */; +val* var64 /* : MModule */; +val* var66 /* : MModule */; +val* var67 /* : String */; +static val* varonce68; +val* var69 /* : String */; +char* var70 /* : NativeString */; +val* var71 /* : FlatString */; +val* var72 /* : MProperty */; val* var74 /* : MProperty */; -val* var76 /* : MProperty */; +val* var75 /* : MVisibility */; val* var77 /* : MVisibility */; +val* var78 /* : Sys */; val* var79 /* : MVisibility */; -val* var80 /* : MVisibility */; -short int var81 /* : Bool */; -val* var82 /* : MClassDef */; -val* var84 /* : MClassDef */; -val* var85 /* : MModule */; -val* var87 /* : MModule */; -val* var88 /* : MClassDef */; -val* var90 /* : MClassDef */; -val* var91 /* : MClass */; -val* var93 /* : MClass */; -val* var94 /* : MVisibility */; -val* var96 /* : MVisibility */; -val* var97 /* : String */; -val* var98 /* : MProperty */; -val* var100 /* : MProperty */; -val* var101 /* : MClassDef */; -val* var103 /* : MClassDef */; -val* var104 /* : MModule */; -val* var106 /* : MModule */; -val* var107 /* : nullable MProject */; -short int var108 /* : Bool */; +short int var80 /* : Bool */; +val* var81 /* : MClassDef */; +val* var83 /* : MClassDef */; +val* var84 /* : MModule */; +val* var86 /* : MModule */; +val* var87 /* : MClassDef */; +val* var89 /* : MClassDef */; +val* var90 /* : MClass */; +val* var92 /* : MClass */; +val* var93 /* : MVisibility */; +val* var95 /* : MVisibility */; +val* var96 /* : String */; +val* var97 /* : MProperty */; +val* var99 /* : MProperty */; +val* var100 /* : MClassDef */; +val* var102 /* : MClassDef */; +val* var103 /* : MModule */; +val* var105 /* : MModule */; +val* var106 /* : nullable MProject */; +short int var107 /* : Bool */; +short int var109 /* : Bool */; short int var110 /* : Bool */; -short int var111 /* : Bool */; -static val* varonce112; -val* var113 /* : String */; -char* var114 /* : NativeString */; -long var115 /* : Int */; -val* var116 /* : FlatString */; +static val* varonce111; +val* var112 /* : String */; +char* var113 /* : NativeString */; +val* var114 /* : FlatString */; +val* var115 /* : MProperty */; val* var117 /* : MProperty */; -val* var119 /* : MProperty */; +val* var118 /* : MClassDef */; val* var120 /* : MClassDef */; -val* var122 /* : MClassDef */; +val* var121 /* : MModule */; val* var123 /* : MModule */; -val* var125 /* : MModule */; +val* var124 /* : String */; val* var126 /* : String */; +static val* varonce127; val* var128 /* : String */; -static val* varonce129; -val* var130 /* : String */; -char* var131 /* : NativeString */; -long var132 /* : Int */; -val* var133 /* : FlatString */; -val* var134 /* : MClassDef */; -val* var136 /* : MClassDef */; -val* var137 /* : MClass */; -val* var139 /* : MClass */; -val* var140 /* : MProperty */; -val* var142 /* : MProperty */; -val* var143 /* : MClassDef */; -val* var145 /* : MClassDef */; -val* var146 /* : MClass */; -val* var148 /* : MClass */; +char* var129 /* : NativeString */; +val* var130 /* : FlatString */; +val* var131 /* : MClassDef */; +val* var133 /* : MClassDef */; +val* var134 /* : MClass */; +val* var136 /* : MClass */; +val* var137 /* : MProperty */; +val* var139 /* : MProperty */; +val* var140 /* : MClassDef */; +val* var142 /* : MClassDef */; +val* var143 /* : MClass */; +val* var145 /* : MClass */; +short int var146 /* : Bool */; +short int var148 /* : Bool */; short int var149 /* : Bool */; -short int var151 /* : Bool */; -short int var152 /* : Bool */; -val* var153 /* : MProperty */; -val* var155 /* : MProperty */; -val* var156 /* : MClassDef */; -val* var158 /* : MClassDef */; -val* var159 /* : String */; -static val* varonce160; -val* var161 /* : String */; -char* var162 /* : NativeString */; -long var163 /* : Int */; -val* var164 /* : FlatString */; -val* var165 /* : MProperty */; -val* var167 /* : MProperty */; -val* var168 /* : String */; -val* var170 /* : String */; -val* var171 /* : String */; +val* var150 /* : MProperty */; +val* var152 /* : MProperty */; +val* var153 /* : MClassDef */; +val* var155 /* : MClassDef */; +val* var156 /* : String */; +static val* varonce157; +val* var158 /* : String */; +char* var159 /* : NativeString */; +val* var160 /* : FlatString */; +val* var161 /* : MProperty */; +val* var163 /* : MProperty */; +val* var164 /* : String */; +val* var166 /* : String */; +val* var167 /* : String */; var1 = self->attrs[COLOR_nit__model__MPropDef___full_name].val != NULL; /* _full_name on */ if(likely(var1)) { var2 = self->attrs[COLOR_nit__model__MPropDef___full_name].val; /* _full_name on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _full_name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2033); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2232); +fatal_exit(1); } } else { { @@ -5451,7 +6746,7 @@ var5 = NEW_standard__FlatBuffer(&type_standard__FlatBuffer); { { /* Inline string#FlatBuffer#init (var5) on */ { -((void (*)(val* self))(var5->class->vft[COLOR_standard___standard__FlatBuffer___standard__kernel__Object__init]))(var5) /* init on */; +((void(*)(val* self))(var5->class->vft[COLOR_standard___standard__FlatBuffer___standard__kernel__Object__init]))(var5); /* init on */ } RET_LABEL6:(void)0; } @@ -5462,8 +6757,8 @@ var_res = var5; var9 = self->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ if (unlikely(var9 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209); +fatal_exit(1); } var7 = var9; RET_LABEL8:(void)0; @@ -5475,13 +6770,12 @@ var10 = nit___nit__MClassDef___nit__model_base__MEntity__full_name(var7); { standard___standard__FlatBuffer___Buffer__append(var_res, var10); /* Direct call string#FlatBuffer#append on */ } -if (varonce) { +if (likely(varonce!=NULL)) { var11 = varonce; } else { var12 = "#"; -var13 = 1; -var14 = standard___standard__NativeString___to_s_with_length(var12, var13); -var11 = var14; +var13 = standard___standard__NativeString___to_s_with_length(var12, 1l); +var11 = var13; varonce = var11; } { @@ -5489,445 +6783,443 @@ standard___standard__FlatBuffer___Buffer__append(var_res, var11); /* Direct call } { { /* Inline model#MPropDef#mclassdef (self) on */ -var17 = self->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ -if (unlikely(var17 == NULL)) { +var16 = self->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ +if (unlikely(var16 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209); +fatal_exit(1); } -var15 = var17; -RET_LABEL16:(void)0; +var14 = var16; +RET_LABEL15:(void)0; } } { -{ /* Inline model#MClassDef#mclass (var15) on */ -var20 = var15->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var20 == NULL)) { +{ /* Inline model#MClassDef#mclass (var14) on */ +var19 = var14->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var19 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); } -var18 = var20; -RET_LABEL19:(void)0; +var17 = var19; +RET_LABEL18:(void)0; } } { { /* Inline model#MPropDef#mproperty (self) on */ -var23 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var23 == NULL)) { +var22 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var22 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } -var21 = var23; -RET_LABEL22:(void)0; +var20 = var22; +RET_LABEL21:(void)0; } } { -{ /* Inline model#MProperty#intro_mclassdef (var21) on */ -var26 = var21->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ -if (unlikely(var26 == NULL)) { +{ /* Inline model#MProperty#intro_mclassdef (var20) on */ +var25 = var20->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ +if (unlikely(var25 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1736); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1928); +fatal_exit(1); } -var24 = var26; -RET_LABEL25:(void)0; +var23 = var25; +RET_LABEL24:(void)0; } } { -{ /* Inline model#MClassDef#mclass (var24) on */ -var29 = var24->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var29 == NULL)) { +{ /* Inline model#MClassDef#mclass (var23) on */ +var28 = var23->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var28 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); } -var27 = var29; -RET_LABEL28:(void)0; +var26 = var28; +RET_LABEL27:(void)0; } } { -{ /* Inline kernel#Object#== (var18,var27) on */ -var_other = var27; +{ /* Inline kernel#Object#== (var17,var26) on */ +var_other = var26; { -{ /* Inline kernel#Object#is_same_instance (var18,var_other) on */ -var34 = var18 == var_other; -var32 = var34; -goto RET_LABEL33; -RET_LABEL33:(void)0; +{ /* Inline kernel#Object#is_same_instance (var17,var_other) on */ +var33 = var17 == var_other; +var31 = var33; +goto RET_LABEL32; +RET_LABEL32:(void)0; } } -var30 = var32; -goto RET_LABEL31; -RET_LABEL31:(void)0; +var29 = var31; +goto RET_LABEL30; +RET_LABEL30:(void)0; } } -if (var30){ +if (var29){ { -var35 = nit___nit__MPropDef___nit__model_base__MEntity__name(self); +var34 = nit___nit__MPropDef___nit__model_base__MEntity__name(self); } { -standard___standard__FlatBuffer___Buffer__append(var_res, var35); /* Direct call string#FlatBuffer#append on */ +standard___standard__FlatBuffer___Buffer__append(var_res, var34); /* Direct call string#FlatBuffer#append on */ } } else { { { /* Inline model#MPropDef#mclassdef (self) on */ -var38 = self->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ -if (unlikely(var38 == NULL)) { +var37 = self->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ +if (unlikely(var37 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209); +fatal_exit(1); } -var36 = var38; -RET_LABEL37:(void)0; +var35 = var37; +RET_LABEL36:(void)0; } } { -{ /* Inline model#MClassDef#mmodule (var36) on */ -var41 = var36->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var41 == NULL)) { +{ /* Inline model#MClassDef#mmodule (var35) on */ +var40 = var35->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var40 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 489); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550); +fatal_exit(1); } -var39 = var41; -RET_LABEL40:(void)0; +var38 = var40; +RET_LABEL39:(void)0; } } { -var42 = nit___nit__MModule___mproject(var39); +var41 = nit___nit__MModule___mproject(var38); } { { /* Inline model#MPropDef#mproperty (self) on */ -var45 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var45 == NULL)) { +var44 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var44 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } -var43 = var45; -RET_LABEL44:(void)0; +var42 = var44; +RET_LABEL43:(void)0; } } { -{ /* Inline model#MProperty#intro_mclassdef (var43) on */ -var48 = var43->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ -if (unlikely(var48 == NULL)) { +{ /* Inline model#MProperty#intro_mclassdef (var42) on */ +var47 = var42->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ +if (unlikely(var47 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1736); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1928); +fatal_exit(1); } -var46 = var48; -RET_LABEL47:(void)0; +var45 = var47; +RET_LABEL46:(void)0; } } { -{ /* Inline model#MClassDef#mmodule (var46) on */ -var51 = var46->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var51 == NULL)) { +{ /* Inline model#MClassDef#mmodule (var45) on */ +var50 = var45->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var50 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 489); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550); +fatal_exit(1); } -var49 = var51; -RET_LABEL50:(void)0; +var48 = var50; +RET_LABEL49:(void)0; } } { -var52 = nit___nit__MModule___mproject(var49); +var51 = nit___nit__MModule___mproject(var48); } -if (var42 == NULL) { -var53 = (var52 != NULL); +if (var41 == NULL) { +var52 = (var51 != NULL); } else { -{ /* Inline kernel#Object#!= (var42,var52) on */ -var_other56 = var52; +{ /* Inline kernel#Object#!= (var41,var51) on */ +var_other55 = var51; { -var57 = ((short int (*)(val* self, val* p0))(var42->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var42, var_other56) /* == on */; +var56 = ((short int(*)(val* self, val* p0))(var41->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var41, var_other55); /* == on */ } -var58 = !var57; -var54 = var58; -goto RET_LABEL55; -RET_LABEL55:(void)0; +var57 = !var56; +var53 = var57; +goto RET_LABEL54; +RET_LABEL54:(void)0; } -var53 = var54; +var52 = var53; } -if (var53){ +if (var52){ { { /* Inline model#MPropDef#mproperty (self) on */ -var61 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var61 == NULL)) { +var60 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var60 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } -var59 = var61; -RET_LABEL60:(void)0; +var58 = var60; +RET_LABEL59:(void)0; } } { -{ /* Inline model#MProperty#intro_mclassdef (var59) on */ -var64 = var59->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ -if (unlikely(var64 == NULL)) { +{ /* Inline model#MProperty#intro_mclassdef (var58) on */ +var63 = var58->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ +if (unlikely(var63 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1736); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1928); +fatal_exit(1); } -var62 = var64; -RET_LABEL63:(void)0; +var61 = var63; +RET_LABEL62:(void)0; } } { -{ /* Inline model#MClassDef#mmodule (var62) on */ -var67 = var62->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var67 == NULL)) { +{ /* Inline model#MClassDef#mmodule (var61) on */ +var66 = var61->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var66 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 489); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550); +fatal_exit(1); } -var65 = var67; -RET_LABEL66:(void)0; +var64 = var66; +RET_LABEL65:(void)0; } } { -var68 = nit___nit__MModule___nit__model_base__MEntity__full_name(var65); +var67 = nit___nit__MModule___nit__model_base__MEntity__full_name(var64); } { -standard___standard__FlatBuffer___Buffer__append(var_res, var68); /* Direct call string#FlatBuffer#append on */ +standard___standard__FlatBuffer___Buffer__append(var_res, var67); /* Direct call string#FlatBuffer#append on */ } -if (varonce69) { -var70 = varonce69; +if (likely(varonce68!=NULL)) { +var69 = varonce68; } else { -var71 = "::"; -var72 = 2; -var73 = standard___standard__NativeString___to_s_with_length(var71, var72); -var70 = var73; -varonce69 = var70; +var70 = "::"; +var71 = standard___standard__NativeString___to_s_with_length(var70, 2l); +var69 = var71; +varonce68 = var69; } { -standard___standard__FlatBuffer___Buffer__append(var_res, var70); /* Direct call string#FlatBuffer#append on */ +standard___standard__FlatBuffer___Buffer__append(var_res, var69); /* Direct call string#FlatBuffer#append on */ } } else { { { /* Inline model#MPropDef#mproperty (self) on */ -var76 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var76 == NULL)) { +var74 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var74 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } -var74 = var76; -RET_LABEL75:(void)0; +var72 = var74; +RET_LABEL73:(void)0; } } { -{ /* Inline model#MProperty#visibility (var74) on */ -var79 = var74->attrs[COLOR_nit__model__MProperty___visibility].val; /* _visibility on */ -if (unlikely(var79 == NULL)) { +{ /* Inline model#MProperty#visibility (var72) on */ +var77 = var72->attrs[COLOR_nit__model__MProperty___visibility].val; /* _visibility on */ +if (unlikely(var77 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1757); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1949); +fatal_exit(1); } -var77 = var79; -RET_LABEL78:(void)0; +var75 = var77; +RET_LABEL76:(void)0; } } +var78 = glob_sys; { -var80 = nit__model_base___standard__Object___private_visibility(self); +var79 = nit__model_base___standard__Sys___private_visibility(var78); } { -var81 = standard___standard__Comparable____60d_61d(var77, var80); +var80 = standard___standard__Comparable____60d_61d(var75, var79); } -if (var81){ +if (var80){ { { /* Inline model#MPropDef#mclassdef (self) on */ -var84 = self->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ -if (unlikely(var84 == NULL)) { +var83 = self->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ +if (unlikely(var83 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209); +fatal_exit(1); } -var82 = var84; -RET_LABEL83:(void)0; +var81 = var83; +RET_LABEL82:(void)0; } } { -{ /* Inline model#MClassDef#mmodule (var82) on */ -var87 = var82->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var87 == NULL)) { +{ /* Inline model#MClassDef#mmodule (var81) on */ +var86 = var81->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var86 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 489); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550); +fatal_exit(1); } -var85 = var87; -RET_LABEL86:(void)0; +var84 = var86; +RET_LABEL85:(void)0; } } { { /* Inline model#MPropDef#mclassdef (self) on */ -var90 = self->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ -if (unlikely(var90 == NULL)) { +var89 = self->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ +if (unlikely(var89 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209); +fatal_exit(1); } -var88 = var90; -RET_LABEL89:(void)0; +var87 = var89; +RET_LABEL88:(void)0; } } { -{ /* Inline model#MClassDef#mclass (var88) on */ -var93 = var88->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var93 == NULL)) { +{ /* Inline model#MClassDef#mclass (var87) on */ +var92 = var87->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var92 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); } -var91 = var93; -RET_LABEL92:(void)0; +var90 = var92; +RET_LABEL91:(void)0; } } { -{ /* Inline model#MClass#visibility (var91) on */ -var96 = var91->attrs[COLOR_nit__model__MClass___visibility].val; /* _visibility on */ -if (unlikely(var96 == NULL)) { +{ /* Inline model#MClass#visibility (var90) on */ +var95 = var90->attrs[COLOR_nit__model__MClass___visibility].val; /* _visibility on */ +if (unlikely(var95 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 403); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 440); +fatal_exit(1); } -var94 = var96; -RET_LABEL95:(void)0; +var93 = var95; +RET_LABEL94:(void)0; } } { -var97 = nit___nit__MModule___namespace_for(var85, var94); +var96 = nit___nit__MModule___namespace_for(var84, var93); } { { /* Inline model#MPropDef#mproperty (self) on */ -var100 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var100 == NULL)) { +var99 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var99 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } -var98 = var100; -RET_LABEL99:(void)0; +var97 = var99; +RET_LABEL98:(void)0; } } { -{ /* Inline model#MProperty#intro_mclassdef (var98) on */ -var103 = var98->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ -if (unlikely(var103 == NULL)) { +{ /* Inline model#MProperty#intro_mclassdef (var97) on */ +var102 = var97->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ +if (unlikely(var102 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1736); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1928); +fatal_exit(1); } -var101 = var103; -RET_LABEL102:(void)0; +var100 = var102; +RET_LABEL101:(void)0; } } { -{ /* Inline model#MClassDef#mmodule (var101) on */ -var106 = var101->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var106 == NULL)) { +{ /* Inline model#MClassDef#mmodule (var100) on */ +var105 = var100->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var105 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 489); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550); +fatal_exit(1); } -var104 = var106; -RET_LABEL105:(void)0; +var103 = var105; +RET_LABEL104:(void)0; } } { -var107 = nit___nit__MModule___mproject(var104); +var106 = nit___nit__MModule___mproject(var103); } { -{ /* Inline kernel#Object#!= (var97,var107) on */ -var_other56 = var107; +{ /* Inline kernel#Object#!= (var96,var106) on */ +var_other55 = var106; { -var110 = ((short int (*)(val* self, val* p0))(var97->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var97, var_other56) /* == on */; +var109 = ((short int(*)(val* self, val* p0))(var96->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var96, var_other55); /* == on */ } -var111 = !var110; -var108 = var111; -goto RET_LABEL109; -RET_LABEL109:(void)0; +var110 = !var109; +var107 = var110; +goto RET_LABEL108; +RET_LABEL108:(void)0; } } -if (var108){ -if (varonce112) { -var113 = varonce112; +if (var107){ +if (likely(varonce111!=NULL)) { +var112 = varonce111; } else { -var114 = "::"; -var115 = 2; -var116 = standard___standard__NativeString___to_s_with_length(var114, var115); -var113 = var116; -varonce112 = var113; +var113 = "::"; +var114 = standard___standard__NativeString___to_s_with_length(var113, 2l); +var112 = var114; +varonce111 = var112; } { -standard___standard__FlatBuffer___Buffer__append(var_res, var113); /* Direct call string#FlatBuffer#append on */ +standard___standard__FlatBuffer___Buffer__append(var_res, var112); /* Direct call string#FlatBuffer#append on */ } { { /* Inline model#MPropDef#mproperty (self) on */ -var119 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var119 == NULL)) { +var117 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var117 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } -var117 = var119; -RET_LABEL118:(void)0; +var115 = var117; +RET_LABEL116:(void)0; } } { -{ /* Inline model#MProperty#intro_mclassdef (var117) on */ -var122 = var117->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ -if (unlikely(var122 == NULL)) { +{ /* Inline model#MProperty#intro_mclassdef (var115) on */ +var120 = var115->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ +if (unlikely(var120 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1736); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1928); +fatal_exit(1); } -var120 = var122; -RET_LABEL121:(void)0; +var118 = var120; +RET_LABEL119:(void)0; } } { -{ /* Inline model#MClassDef#mmodule (var120) on */ -var125 = var120->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var125 == NULL)) { +{ /* Inline model#MClassDef#mmodule (var118) on */ +var123 = var118->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var123 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 489); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550); +fatal_exit(1); } -var123 = var125; -RET_LABEL124:(void)0; +var121 = var123; +RET_LABEL122:(void)0; } } { -{ /* Inline mmodule#MModule#name (var123) on */ -var128 = var123->attrs[COLOR_nit__mmodule__MModule___name].val; /* _name on */ -if (unlikely(var128 == NULL)) { +{ /* Inline mmodule#MModule#name (var121) on */ +var126 = var121->attrs[COLOR_nit__mmodule__MModule___name].val; /* _name on */ +if (unlikely(var126 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 87); -show_backtrace(1); +fatal_exit(1); } -var126 = var128; -RET_LABEL127:(void)0; +var124 = var126; +RET_LABEL125:(void)0; } } { -standard___standard__FlatBuffer___Buffer__append(var_res, var126); /* Direct call string#FlatBuffer#append on */ +standard___standard__FlatBuffer___Buffer__append(var_res, var124); /* Direct call string#FlatBuffer#append on */ } -if (varonce129) { -var130 = varonce129; +if (likely(varonce127!=NULL)) { +var128 = varonce127; } else { -var131 = "::"; -var132 = 2; -var133 = standard___standard__NativeString___to_s_with_length(var131, var132); -var130 = var133; -varonce129 = var130; +var129 = "::"; +var130 = standard___standard__NativeString___to_s_with_length(var129, 2l); +var128 = var130; +varonce127 = var128; } { -standard___standard__FlatBuffer___Buffer__append(var_res, var130); /* Direct call string#FlatBuffer#append on */ +standard___standard__FlatBuffer___Buffer__append(var_res, var128); /* Direct call string#FlatBuffer#append on */ } } else { } @@ -5936,153 +7228,152 @@ standard___standard__FlatBuffer___Buffer__append(var_res, var130); /* Direct cal } { { /* Inline model#MPropDef#mclassdef (self) on */ -var136 = self->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ -if (unlikely(var136 == NULL)) { +var133 = self->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ +if (unlikely(var133 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209); +fatal_exit(1); +} +var131 = var133; +RET_LABEL132:(void)0; +} +} +{ +{ /* Inline model#MClassDef#mclass (var131) on */ +var136 = var131->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var136 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); } var134 = var136; RET_LABEL135:(void)0; } } { -{ /* Inline model#MClassDef#mclass (var134) on */ -var139 = var134->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +{ /* Inline model#MPropDef#mproperty (self) on */ +var139 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ if (unlikely(var139 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } var137 = var139; RET_LABEL138:(void)0; } } { -{ /* Inline model#MPropDef#mproperty (self) on */ -var142 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +{ /* Inline model#MProperty#intro_mclassdef (var137) on */ +var142 = var137->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ if (unlikely(var142 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1928); +fatal_exit(1); } var140 = var142; RET_LABEL141:(void)0; } } { -{ /* Inline model#MProperty#intro_mclassdef (var140) on */ -var145 = var140->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ +{ /* Inline model#MClassDef#mclass (var140) on */ +var145 = var140->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ if (unlikely(var145 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1736); -show_backtrace(1); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); } var143 = var145; RET_LABEL144:(void)0; } } { -{ /* Inline model#MClassDef#mclass (var143) on */ -var148 = var143->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var148 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); -} -var146 = var148; -RET_LABEL147:(void)0; -} -} -{ -{ /* Inline kernel#Object#!= (var137,var146) on */ -var_other56 = var146; +{ /* Inline kernel#Object#!= (var134,var143) on */ +var_other55 = var143; { -var151 = ((short int (*)(val* self, val* p0))(var137->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var137, var_other56) /* == on */; +var148 = ((short int(*)(val* self, val* p0))(var134->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var134, var_other55); /* == on */ } -var152 = !var151; -var149 = var152; -goto RET_LABEL150; -RET_LABEL150:(void)0; +var149 = !var148; +var146 = var149; +goto RET_LABEL147; +RET_LABEL147:(void)0; } } -if (var149){ +if (var146){ { { /* Inline model#MPropDef#mproperty (self) on */ -var155 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var155 == NULL)) { +var152 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var152 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } -var153 = var155; -RET_LABEL154:(void)0; +var150 = var152; +RET_LABEL151:(void)0; } } { -{ /* Inline model#MProperty#intro_mclassdef (var153) on */ -var158 = var153->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ -if (unlikely(var158 == NULL)) { +{ /* Inline model#MProperty#intro_mclassdef (var150) on */ +var155 = var150->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ +if (unlikely(var155 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1736); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1928); +fatal_exit(1); } -var156 = var158; -RET_LABEL157:(void)0; +var153 = var155; +RET_LABEL154:(void)0; } } { -var159 = nit___nit__MClassDef___nit__model_base__MEntity__name(var156); +var156 = nit___nit__MClassDef___nit__model_base__MEntity__name(var153); } { -standard___standard__FlatBuffer___Buffer__append(var_res, var159); /* Direct call string#FlatBuffer#append on */ +standard___standard__FlatBuffer___Buffer__append(var_res, var156); /* Direct call string#FlatBuffer#append on */ } -if (varonce160) { -var161 = varonce160; +if (likely(varonce157!=NULL)) { +var158 = varonce157; } else { -var162 = "::"; -var163 = 2; -var164 = standard___standard__NativeString___to_s_with_length(var162, var163); -var161 = var164; -varonce160 = var161; +var159 = "::"; +var160 = standard___standard__NativeString___to_s_with_length(var159, 2l); +var158 = var160; +varonce157 = var158; } { -standard___standard__FlatBuffer___Buffer__append(var_res, var161); /* Direct call string#FlatBuffer#append on */ +standard___standard__FlatBuffer___Buffer__append(var_res, var158); /* Direct call string#FlatBuffer#append on */ } } else { } { { /* Inline model#MPropDef#mproperty (self) on */ -var167 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var167 == NULL)) { +var163 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var163 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } -var165 = var167; -RET_LABEL166:(void)0; +var161 = var163; +RET_LABEL162:(void)0; } } { -{ /* Inline model#MProperty#name (var165) on */ -var170 = var165->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ -if (unlikely(var170 == NULL)) { +{ /* Inline model#MProperty#name (var161) on */ +var166 = var161->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ +if (unlikely(var166 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1741); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1933); +fatal_exit(1); } -var168 = var170; -RET_LABEL169:(void)0; +var164 = var166; +RET_LABEL165:(void)0; } } { -standard___standard__FlatBuffer___Buffer__append(var_res, var168); /* Direct call string#FlatBuffer#append on */ +standard___standard__FlatBuffer___Buffer__append(var_res, var164); /* Direct call string#FlatBuffer#append on */ } } { -var171 = standard___standard__FlatBuffer___Object__to_s(var_res); +var167 = standard___standard__FlatBuffer___Object__to_s(var_res); } -var3 = var171; +var3 = var167; goto RET_LABEL4; RET_LABEL4:(void)0; } @@ -6107,87 +7398,84 @@ val* var10 /* : String */; static val* varonce; val* var11 /* : String */; char* var12 /* : NativeString */; -long var13 /* : Int */; -val* var14 /* : FlatString */; -val* var15 /* : MClassDef */; -val* var17 /* : MClassDef */; -val* var18 /* : MClass */; -val* var20 /* : MClass */; -val* var21 /* : MProperty */; -val* var23 /* : MProperty */; -val* var24 /* : MClassDef */; -val* var26 /* : MClassDef */; -val* var27 /* : MClass */; -val* var29 /* : MClass */; -short int var30 /* : Bool */; +val* var13 /* : FlatString */; +val* var14 /* : MClassDef */; +val* var16 /* : MClassDef */; +val* var17 /* : MClass */; +val* var19 /* : MClass */; +val* var20 /* : MProperty */; +val* var22 /* : MProperty */; +val* var23 /* : MClassDef */; +val* var25 /* : MClassDef */; +val* var26 /* : MClass */; +val* var28 /* : MClass */; +short int var29 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var32 /* : Bool */; -short int var34 /* : Bool */; +short int var31 /* : Bool */; +short int var33 /* : Bool */; +val* var34 /* : String */; val* var35 /* : String */; -val* var36 /* : String */; -val* var37 /* : MClassDef */; -val* var39 /* : MClassDef */; -val* var40 /* : MModule */; -val* var42 /* : MModule */; -val* var43 /* : MProperty */; -val* var45 /* : MProperty */; -val* var46 /* : MClassDef */; -val* var48 /* : MClassDef */; -val* var49 /* : MModule */; -val* var51 /* : MModule */; -short int var52 /* : Bool */; -val* var_other54 /* var other: nullable Object */; +val* var36 /* : MClassDef */; +val* var38 /* : MClassDef */; +val* var39 /* : MModule */; +val* var41 /* : MModule */; +val* var42 /* : MProperty */; +val* var44 /* : MProperty */; +val* var45 /* : MClassDef */; +val* var47 /* : MClassDef */; +val* var48 /* : MModule */; +val* var50 /* : MModule */; +short int var51 /* : Bool */; +val* var_other53 /* var other: nullable Object */; +short int var54 /* : Bool */; short int var55 /* : Bool */; -short int var56 /* : Bool */; -val* var57 /* : MProperty */; -val* var59 /* : MProperty */; -val* var60 /* : MClassDef */; -val* var62 /* : MClassDef */; -val* var63 /* : MModule */; -val* var65 /* : MModule */; -val* var66 /* : String */; -static val* varonce67; -val* var68 /* : String */; -char* var69 /* : NativeString */; -long var70 /* : Int */; -val* var71 /* : FlatString */; +val* var56 /* : MProperty */; +val* var58 /* : MProperty */; +val* var59 /* : MClassDef */; +val* var61 /* : MClassDef */; +val* var62 /* : MModule */; +val* var64 /* : MModule */; +val* var65 /* : String */; +static val* varonce66; +val* var67 /* : String */; +char* var68 /* : NativeString */; +val* var69 /* : FlatString */; +val* var70 /* : MClassDef */; val* var72 /* : MClassDef */; -val* var74 /* : MClassDef */; +val* var73 /* : MClass */; val* var75 /* : MClass */; -val* var77 /* : MClass */; +val* var76 /* : MProperty */; val* var78 /* : MProperty */; -val* var80 /* : MProperty */; +val* var79 /* : MClassDef */; val* var81 /* : MClassDef */; -val* var83 /* : MClassDef */; +val* var82 /* : MClass */; val* var84 /* : MClass */; -val* var86 /* : MClass */; +short int var85 /* : Bool */; short int var87 /* : Bool */; -short int var89 /* : Bool */; -short int var90 /* : Bool */; +short int var88 /* : Bool */; +val* var89 /* : MProperty */; val* var91 /* : MProperty */; -val* var93 /* : MProperty */; +val* var92 /* : MClassDef */; val* var94 /* : MClassDef */; -val* var96 /* : MClassDef */; -val* var97 /* : String */; +val* var95 /* : String */; +val* var96 /* : String */; +static val* varonce97; val* var98 /* : String */; -static val* varonce99; -val* var100 /* : String */; -char* var101 /* : NativeString */; -long var102 /* : Int */; -val* var103 /* : FlatString */; -val* var104 /* : MProperty */; -val* var106 /* : MProperty */; +char* var99 /* : NativeString */; +val* var100 /* : FlatString */; +val* var101 /* : MProperty */; +val* var103 /* : MProperty */; +val* var104 /* : String */; +val* var106 /* : String */; val* var107 /* : String */; -val* var109 /* : String */; -val* var110 /* : String */; -val* var111 /* : String */; +val* var108 /* : String */; var1 = self->attrs[COLOR_nit__model__MPropDef___c_name].val != NULL; /* _c_name on */ if(likely(var1)) { var2 = self->attrs[COLOR_nit__model__MPropDef___c_name].val; /* _c_name on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _c_name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2082); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2281); +fatal_exit(1); } } else { { @@ -6195,7 +7483,7 @@ var5 = NEW_standard__FlatBuffer(&type_standard__FlatBuffer); { { /* Inline string#FlatBuffer#init (var5) on */ { -((void (*)(val* self))(var5->class->vft[COLOR_standard___standard__FlatBuffer___standard__kernel__Object__init]))(var5) /* init on */; +((void(*)(val* self))(var5->class->vft[COLOR_standard___standard__FlatBuffer___standard__kernel__Object__init]))(var5); /* init on */ } RET_LABEL6:(void)0; } @@ -6206,8 +7494,8 @@ var_res = var5; var9 = self->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ if (unlikely(var9 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209); +fatal_exit(1); } var7 = var9; RET_LABEL8:(void)0; @@ -6219,13 +7507,12 @@ var10 = nit___nit__MClassDef___nit__model_base__MEntity__c_name(var7); { standard___standard__FlatBuffer___Buffer__append(var_res, var10); /* Direct call string#FlatBuffer#append on */ } -if (varonce) { +if (likely(varonce!=NULL)) { var11 = varonce; } else { var12 = "___"; -var13 = 3; -var14 = standard___standard__NativeString___to_s_with_length(var12, var13); -var11 = var14; +var13 = standard___standard__NativeString___to_s_with_length(var12, 3l); +var11 = var13; varonce = var11; } { @@ -6233,375 +7520,373 @@ standard___standard__FlatBuffer___Buffer__append(var_res, var11); /* Direct call } { { /* Inline model#MPropDef#mclassdef (self) on */ -var17 = self->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ -if (unlikely(var17 == NULL)) { +var16 = self->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ +if (unlikely(var16 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209); +fatal_exit(1); } -var15 = var17; -RET_LABEL16:(void)0; +var14 = var16; +RET_LABEL15:(void)0; } } { -{ /* Inline model#MClassDef#mclass (var15) on */ -var20 = var15->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var20 == NULL)) { +{ /* Inline model#MClassDef#mclass (var14) on */ +var19 = var14->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var19 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); } -var18 = var20; -RET_LABEL19:(void)0; +var17 = var19; +RET_LABEL18:(void)0; } } { { /* Inline model#MPropDef#mproperty (self) on */ -var23 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var23 == NULL)) { +var22 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var22 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } -var21 = var23; -RET_LABEL22:(void)0; +var20 = var22; +RET_LABEL21:(void)0; } } { -{ /* Inline model#MProperty#intro_mclassdef (var21) on */ -var26 = var21->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ -if (unlikely(var26 == NULL)) { +{ /* Inline model#MProperty#intro_mclassdef (var20) on */ +var25 = var20->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ +if (unlikely(var25 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1736); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1928); +fatal_exit(1); } -var24 = var26; -RET_LABEL25:(void)0; +var23 = var25; +RET_LABEL24:(void)0; } } { -{ /* Inline model#MClassDef#mclass (var24) on */ -var29 = var24->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var29 == NULL)) { +{ /* Inline model#MClassDef#mclass (var23) on */ +var28 = var23->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var28 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); } -var27 = var29; -RET_LABEL28:(void)0; +var26 = var28; +RET_LABEL27:(void)0; } } { -{ /* Inline kernel#Object#== (var18,var27) on */ -var_other = var27; +{ /* Inline kernel#Object#== (var17,var26) on */ +var_other = var26; { -{ /* Inline kernel#Object#is_same_instance (var18,var_other) on */ -var34 = var18 == var_other; -var32 = var34; -goto RET_LABEL33; -RET_LABEL33:(void)0; +{ /* Inline kernel#Object#is_same_instance (var17,var_other) on */ +var33 = var17 == var_other; +var31 = var33; +goto RET_LABEL32; +RET_LABEL32:(void)0; } } -var30 = var32; -goto RET_LABEL31; -RET_LABEL31:(void)0; +var29 = var31; +goto RET_LABEL30; +RET_LABEL30:(void)0; } } -if (var30){ +if (var29){ { -var35 = nit___nit__MPropDef___nit__model_base__MEntity__name(self); +var34 = nit___nit__MPropDef___nit__model_base__MEntity__name(self); } { -var36 = standard___standard__Text___to_cmangle(var35); +var35 = standard___standard__Text___to_cmangle(var34); } { -standard___standard__FlatBuffer___Buffer__append(var_res, var36); /* Direct call string#FlatBuffer#append on */ +standard___standard__FlatBuffer___Buffer__append(var_res, var35); /* Direct call string#FlatBuffer#append on */ } } else { { { /* Inline model#MPropDef#mclassdef (self) on */ -var39 = self->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ -if (unlikely(var39 == NULL)) { +var38 = self->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ +if (unlikely(var38 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209); +fatal_exit(1); } -var37 = var39; -RET_LABEL38:(void)0; +var36 = var38; +RET_LABEL37:(void)0; } } { -{ /* Inline model#MClassDef#mmodule (var37) on */ -var42 = var37->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var42 == NULL)) { +{ /* Inline model#MClassDef#mmodule (var36) on */ +var41 = var36->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var41 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 489); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550); +fatal_exit(1); } -var40 = var42; -RET_LABEL41:(void)0; +var39 = var41; +RET_LABEL40:(void)0; } } { { /* Inline model#MPropDef#mproperty (self) on */ -var45 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var45 == NULL)) { +var44 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var44 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } -var43 = var45; -RET_LABEL44:(void)0; +var42 = var44; +RET_LABEL43:(void)0; } } { -{ /* Inline model#MProperty#intro_mclassdef (var43) on */ -var48 = var43->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ -if (unlikely(var48 == NULL)) { +{ /* Inline model#MProperty#intro_mclassdef (var42) on */ +var47 = var42->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ +if (unlikely(var47 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1736); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1928); +fatal_exit(1); } -var46 = var48; -RET_LABEL47:(void)0; +var45 = var47; +RET_LABEL46:(void)0; } } { -{ /* Inline model#MClassDef#mmodule (var46) on */ -var51 = var46->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var51 == NULL)) { +{ /* Inline model#MClassDef#mmodule (var45) on */ +var50 = var45->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var50 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 489); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550); +fatal_exit(1); } -var49 = var51; -RET_LABEL50:(void)0; +var48 = var50; +RET_LABEL49:(void)0; } } { -{ /* Inline kernel#Object#!= (var40,var49) on */ -var_other54 = var49; +{ /* Inline kernel#Object#!= (var39,var48) on */ +var_other53 = var48; { -var55 = ((short int (*)(val* self, val* p0))(var40->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var40, var_other54) /* == on */; +var54 = ((short int(*)(val* self, val* p0))(var39->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var39, var_other53); /* == on */ } -var56 = !var55; -var52 = var56; -goto RET_LABEL53; -RET_LABEL53:(void)0; +var55 = !var54; +var51 = var55; +goto RET_LABEL52; +RET_LABEL52:(void)0; } } -if (var52){ +if (var51){ { { /* Inline model#MPropDef#mproperty (self) on */ -var59 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var59 == NULL)) { +var58 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var58 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } -var57 = var59; -RET_LABEL58:(void)0; +var56 = var58; +RET_LABEL57:(void)0; } } { -{ /* Inline model#MProperty#intro_mclassdef (var57) on */ -var62 = var57->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ -if (unlikely(var62 == NULL)) { +{ /* Inline model#MProperty#intro_mclassdef (var56) on */ +var61 = var56->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ +if (unlikely(var61 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1736); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1928); +fatal_exit(1); } -var60 = var62; -RET_LABEL61:(void)0; +var59 = var61; +RET_LABEL60:(void)0; } } { -{ /* Inline model#MClassDef#mmodule (var60) on */ -var65 = var60->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var65 == NULL)) { +{ /* Inline model#MClassDef#mmodule (var59) on */ +var64 = var59->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var64 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 489); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550); +fatal_exit(1); } -var63 = var65; -RET_LABEL64:(void)0; +var62 = var64; +RET_LABEL63:(void)0; } } { -var66 = nit___nit__MModule___nit__model_base__MEntity__c_name(var63); +var65 = nit___nit__MModule___nit__model_base__MEntity__c_name(var62); } { -standard___standard__FlatBuffer___Buffer__append(var_res, var66); /* Direct call string#FlatBuffer#append on */ +standard___standard__FlatBuffer___Buffer__append(var_res, var65); /* Direct call string#FlatBuffer#append on */ } -if (varonce67) { -var68 = varonce67; +if (likely(varonce66!=NULL)) { +var67 = varonce66; } else { -var69 = "__"; -var70 = 2; -var71 = standard___standard__NativeString___to_s_with_length(var69, var70); -var68 = var71; -varonce67 = var68; +var68 = "__"; +var69 = standard___standard__NativeString___to_s_with_length(var68, 2l); +var67 = var69; +varonce66 = var67; } { -standard___standard__FlatBuffer___Buffer__append(var_res, var68); /* Direct call string#FlatBuffer#append on */ +standard___standard__FlatBuffer___Buffer__append(var_res, var67); /* Direct call string#FlatBuffer#append on */ } } else { } { { /* Inline model#MPropDef#mclassdef (self) on */ -var74 = self->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ -if (unlikely(var74 == NULL)) { +var72 = self->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ +if (unlikely(var72 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209); +fatal_exit(1); } -var72 = var74; -RET_LABEL73:(void)0; +var70 = var72; +RET_LABEL71:(void)0; } } { -{ /* Inline model#MClassDef#mclass (var72) on */ -var77 = var72->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var77 == NULL)) { +{ /* Inline model#MClassDef#mclass (var70) on */ +var75 = var70->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var75 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); } -var75 = var77; -RET_LABEL76:(void)0; +var73 = var75; +RET_LABEL74:(void)0; } } { { /* Inline model#MPropDef#mproperty (self) on */ -var80 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var80 == NULL)) { +var78 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var78 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } -var78 = var80; -RET_LABEL79:(void)0; +var76 = var78; +RET_LABEL77:(void)0; } } { -{ /* Inline model#MProperty#intro_mclassdef (var78) on */ -var83 = var78->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ -if (unlikely(var83 == NULL)) { +{ /* Inline model#MProperty#intro_mclassdef (var76) on */ +var81 = var76->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ +if (unlikely(var81 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1736); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1928); +fatal_exit(1); } -var81 = var83; -RET_LABEL82:(void)0; +var79 = var81; +RET_LABEL80:(void)0; } } { -{ /* Inline model#MClassDef#mclass (var81) on */ -var86 = var81->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var86 == NULL)) { +{ /* Inline model#MClassDef#mclass (var79) on */ +var84 = var79->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var84 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); } -var84 = var86; -RET_LABEL85:(void)0; +var82 = var84; +RET_LABEL83:(void)0; } } { -{ /* Inline kernel#Object#!= (var75,var84) on */ -var_other54 = var84; +{ /* Inline kernel#Object#!= (var73,var82) on */ +var_other53 = var82; { -var89 = ((short int (*)(val* self, val* p0))(var75->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var75, var_other54) /* == on */; +var87 = ((short int(*)(val* self, val* p0))(var73->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var73, var_other53); /* == on */ } -var90 = !var89; -var87 = var90; -goto RET_LABEL88; -RET_LABEL88:(void)0; +var88 = !var87; +var85 = var88; +goto RET_LABEL86; +RET_LABEL86:(void)0; } } -if (var87){ +if (var85){ { { /* Inline model#MPropDef#mproperty (self) on */ -var93 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var93 == NULL)) { +var91 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var91 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } -var91 = var93; -RET_LABEL92:(void)0; +var89 = var91; +RET_LABEL90:(void)0; } } { -{ /* Inline model#MProperty#intro_mclassdef (var91) on */ -var96 = var91->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ -if (unlikely(var96 == NULL)) { +{ /* Inline model#MProperty#intro_mclassdef (var89) on */ +var94 = var89->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ +if (unlikely(var94 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1736); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1928); +fatal_exit(1); } -var94 = var96; -RET_LABEL95:(void)0; +var92 = var94; +RET_LABEL93:(void)0; } } { -var97 = nit___nit__MClassDef___nit__model_base__MEntity__name(var94); +var95 = nit___nit__MClassDef___nit__model_base__MEntity__name(var92); } { -var98 = standard___standard__Text___to_cmangle(var97); +var96 = standard___standard__Text___to_cmangle(var95); } { -standard___standard__FlatBuffer___Buffer__append(var_res, var98); /* Direct call string#FlatBuffer#append on */ +standard___standard__FlatBuffer___Buffer__append(var_res, var96); /* Direct call string#FlatBuffer#append on */ } -if (varonce99) { -var100 = varonce99; +if (likely(varonce97!=NULL)) { +var98 = varonce97; } else { -var101 = "__"; -var102 = 2; -var103 = standard___standard__NativeString___to_s_with_length(var101, var102); -var100 = var103; -varonce99 = var100; +var99 = "__"; +var100 = standard___standard__NativeString___to_s_with_length(var99, 2l); +var98 = var100; +varonce97 = var98; } { -standard___standard__FlatBuffer___Buffer__append(var_res, var100); /* Direct call string#FlatBuffer#append on */ +standard___standard__FlatBuffer___Buffer__append(var_res, var98); /* Direct call string#FlatBuffer#append on */ } } else { } { { /* Inline model#MPropDef#mproperty (self) on */ -var106 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var106 == NULL)) { +var103 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var103 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } -var104 = var106; -RET_LABEL105:(void)0; +var101 = var103; +RET_LABEL102:(void)0; } } { -{ /* Inline model#MProperty#name (var104) on */ -var109 = var104->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ -if (unlikely(var109 == NULL)) { +{ /* Inline model#MProperty#name (var101) on */ +var106 = var101->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ +if (unlikely(var106 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1741); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1933); +fatal_exit(1); } -var107 = var109; -RET_LABEL108:(void)0; +var104 = var106; +RET_LABEL105:(void)0; } } { -var110 = standard___standard__Text___to_cmangle(var107); +var107 = standard___standard__Text___to_cmangle(var104); } { -standard___standard__FlatBuffer___Buffer__append(var_res, var110); /* Direct call string#FlatBuffer#append on */ +standard___standard__FlatBuffer___Buffer__append(var_res, var107); /* Direct call string#FlatBuffer#append on */ } } { -var111 = standard___standard__FlatBuffer___Object__to_s(var_res); +var108 = standard___standard__FlatBuffer___Object__to_s(var_res); } -var3 = var111; +var3 = var108; goto RET_LABEL4; RET_LABEL4:(void)0; } @@ -6623,8 +7908,8 @@ val* var4 /* : Model */; var3 = self->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; @@ -6645,8 +7930,8 @@ val* var1 /* : String */; var1 = self->attrs[COLOR_nit__model__MPropDef___to_s].val; /* _to_s on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _to_s"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2104); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2303); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -6673,8 +7958,8 @@ short int var11 /* : Bool */; var3 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; @@ -6685,8 +7970,8 @@ RET_LABEL2:(void)0; var6 = var1->attrs[COLOR_nit__model__MProperty___intro].val; /* _intro on */ if (unlikely(var6 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1773); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1968); +fatal_exit(1); } var4 = var6; RET_LABEL5:(void)0; @@ -6745,21 +8030,21 @@ const char* var_class_name; var_mmodule = p0; var_mtype = p1; { -var1 = ((short int (*)(val* self))(var_mtype->class->vft[COLOR_nit__model__MType__need_anchor]))(var_mtype) /* need_anchor on */; +var1 = ((short int(*)(val* self))(var_mtype->class->vft[COLOR_nit__model__MType__need_anchor]))(var_mtype); /* need_anchor on */ } var2 = !var1; if (unlikely(!var2)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2118); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2317); +fatal_exit(1); } { { /* Inline model#MPropDef#mproperty (self) on */ var5 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ if (unlikely(var5 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } var3 = var5; RET_LABEL4:(void)0; @@ -6786,7 +8071,7 @@ var10 = standard__array___standard__array__ArrayIterator___standard__abstract_co { /* Inline kernel#Object#!= (var10,self) on */ var_other = self; { -var13 = ((short int (*)(val* self, val* p0))(var10->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var10, var_other) /* == on */; +var13 = ((short int(*)(val* self, val* p0))(var10->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var10, var_other); /* == on */ } var14 = !var13; var11 = var14; @@ -6812,8 +8097,8 @@ var15 = standard__array___standard__array__ArrayIterator___standard__abstract_co } if (unlikely(!var15)) { PRINT_ERROR("Runtime error: %s", "Assert \'has_property\' failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2123); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2322); +fatal_exit(1); } { standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_i); /* Direct call array#ArrayIterator#next on */ @@ -6823,8 +8108,8 @@ var16 = standard__array___standard__array__ArrayIterator___standard__abstract_co } if (unlikely(!var16)) { PRINT_ERROR("Runtime error: %s", "Assert \'has_next_property\' failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2125); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2324); +fatal_exit(1); } { var17 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_i); @@ -6841,8 +8126,8 @@ var18 = var17->type->type_table[cltype] == idtype; if (unlikely(!var18)) { var_class_name = var17 == NULL ? "null" : var17->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MPROPDEF", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2126); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2325); +fatal_exit(1); } var = var17; goto RET_LABEL; @@ -6884,8 +8169,8 @@ val* var1 /* : Array[MProperty] */; var1 = self->attrs[COLOR_nit__model__MMethodDef___initializers].val; /* _initializers on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2146); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2345); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -6996,8 +8281,8 @@ val* var1 /* : String */; var1 = self->attrs[COLOR_nit__model__MClassKind___to_s].val; /* _to_s on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _to_s"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2408); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -7026,210 +8311,214 @@ RET_LABEL:; short int nit___nit__MClassKind___can_specialize(val* self, val* p0) { short int var /* : Bool */; val* var_other /* var other: MClassKind */; -val* var1 /* : MClassKind */; -short int var2 /* : Bool */; -val* var_other4 /* var other: nullable Object */; -short int var5 /* : Bool */; -short int var7 /* : Bool */; +val* var1 /* : Sys */; +val* var2 /* : MClassKind */; +short int var3 /* : Bool */; +val* var_other5 /* var other: nullable Object */; +short int var6 /* : Bool */; short int var8 /* : Bool */; short int var9 /* : Bool */; -val* var10 /* : MClassKind */; -short int var11 /* : Bool */; -short int var13 /* : Bool */; -short int var15 /* : Bool */; +val* var10 /* : Sys */; +val* var11 /* : MClassKind */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; +short int var16 /* : Bool */; short int var_ /* var : Bool */; -val* var16 /* : MClassKind */; -short int var17 /* : Bool */; +val* var17 /* : Sys */; +val* var18 /* : MClassKind */; short int var19 /* : Bool */; short int var21 /* : Bool */; -short int var22 /* : Bool */; -val* var23 /* : MClassKind */; -short int var24 /* : Bool */; +short int var23 /* : Bool */; +val* var24 /* : Sys */; +val* var25 /* : MClassKind */; short int var26 /* : Bool */; short int var28 /* : Bool */; -short int var29 /* : Bool */; +short int var30 /* : Bool */; short int var31 /* : Bool */; short int var33 /* : Bool */; -short int var34 /* : Bool */; -val* var35 /* : MClassKind */; +short int var35 /* : Bool */; short int var36 /* : Bool */; -short int var38 /* : Bool */; -short int var40 /* : Bool */; -short int var_41 /* var : Bool */; -val* var42 /* : MClassKind */; +val* var37 /* : Sys */; +val* var38 /* : MClassKind */; +short int var39 /* : Bool */; +short int var41 /* : Bool */; short int var43 /* : Bool */; -short int var45 /* : Bool */; +short int var_44 /* var : Bool */; +val* var45 /* : Sys */; +val* var46 /* : MClassKind */; short int var47 /* : Bool */; -short int var48 /* : Bool */; short int var49 /* : Bool */; +short int var51 /* : Bool */; var_other = p0; +var1 = glob_sys; { -var1 = nit__model___standard__Object___interface_kind(self); +var2 = nit__model___standard__Sys___interface_kind(var1); } { -{ /* Inline kernel#Object#== (var_other,var1) on */ -var_other4 = var1; +{ /* Inline kernel#Object#== (var_other,var2) on */ +var_other5 = var2; { -{ /* Inline kernel#Object#is_same_instance (var_other,var_other4) on */ -var7 = var_other == var_other4; -var5 = var7; -goto RET_LABEL6; -RET_LABEL6:(void)0; +{ /* Inline kernel#Object#is_same_instance (var_other,var_other5) on */ +var8 = var_other == var_other5; +var6 = var8; +goto RET_LABEL7; +RET_LABEL7:(void)0; } } -var2 = var5; -goto RET_LABEL3; -RET_LABEL3:(void)0; +var3 = var6; +goto RET_LABEL4; +RET_LABEL4:(void)0; } } -if (var2){ -var8 = 1; -var = var8; +if (var3){ +var = 1; goto RET_LABEL; } else { } +var10 = glob_sys; { -var10 = nit__model___standard__Object___interface_kind(self); +var11 = nit__model___standard__Sys___interface_kind(var10); } { -{ /* Inline kernel#Object#== (self,var10) on */ -var_other4 = var10; +{ /* Inline kernel#Object#== (self,var11) on */ +var_other5 = var11; { -{ /* Inline kernel#Object#is_same_instance (self,var_other4) on */ -var15 = self == var_other4; -var13 = var15; -goto RET_LABEL14; -RET_LABEL14:(void)0; +{ /* Inline kernel#Object#is_same_instance (self,var_other5) on */ +var16 = self == var_other5; +var14 = var16; +goto RET_LABEL15; +RET_LABEL15:(void)0; } } -var11 = var13; -goto RET_LABEL12; -RET_LABEL12:(void)0; +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; } } -var_ = var11; -if (var11){ +var_ = var12; +if (var12){ var9 = var_; } else { +var17 = glob_sys; { -var16 = nit__model___standard__Object___enum_kind(self); +var18 = nit__model___standard__Sys___enum_kind(var17); } { -{ /* Inline kernel#Object#== (self,var16) on */ -var_other4 = var16; +{ /* Inline kernel#Object#== (self,var18) on */ +var_other5 = var18; { -{ /* Inline kernel#Object#is_same_instance (self,var_other4) on */ -var21 = self == var_other4; +{ /* Inline kernel#Object#is_same_instance (self,var_other5) on */ +var23 = self == var_other5; +var21 = var23; +goto RET_LABEL22; +RET_LABEL22:(void)0; +} +} var19 = var21; goto RET_LABEL20; RET_LABEL20:(void)0; } } -var17 = var19; -goto RET_LABEL18; -RET_LABEL18:(void)0; -} -} -var9 = var17; +var9 = var19; } if (var9){ -var22 = 0; -var = var22; +var = 0; goto RET_LABEL; } else { +var24 = glob_sys; { -var23 = nit__model___standard__Object___extern_kind(self); +var25 = nit__model___standard__Sys___extern_kind(var24); } { -{ /* Inline kernel#Object#== (self,var23) on */ -var_other4 = var23; +{ /* Inline kernel#Object#== (self,var25) on */ +var_other5 = var25; { -{ /* Inline kernel#Object#is_same_instance (self,var_other4) on */ -var28 = self == var_other4; +{ /* Inline kernel#Object#is_same_instance (self,var_other5) on */ +var30 = self == var_other5; +var28 = var30; +goto RET_LABEL29; +RET_LABEL29:(void)0; +} +} var26 = var28; goto RET_LABEL27; RET_LABEL27:(void)0; } } -var24 = var26; -goto RET_LABEL25; -RET_LABEL25:(void)0; -} -} -if (var24){ +if (var26){ { { /* Inline kernel#Object#== (self,var_other) on */ -var_other4 = var_other; +var_other5 = var_other; { -{ /* Inline kernel#Object#is_same_instance (self,var_other4) on */ -var33 = self == var_other4; +{ /* Inline kernel#Object#is_same_instance (self,var_other5) on */ +var35 = self == var_other5; +var33 = var35; +goto RET_LABEL34; +RET_LABEL34:(void)0; +} +} var31 = var33; goto RET_LABEL32; RET_LABEL32:(void)0; } } -var29 = var31; -goto RET_LABEL30; -RET_LABEL30:(void)0; -} -} -var = var29; +var = var31; goto RET_LABEL; } else { +var37 = glob_sys; { -var35 = nit__model___standard__Object___enum_kind(self); +var38 = nit__model___standard__Sys___enum_kind(var37); } { -{ /* Inline kernel#Object#== (var_other,var35) on */ -var_other4 = var35; +{ /* Inline kernel#Object#== (var_other,var38) on */ +var_other5 = var38; { -{ /* Inline kernel#Object#is_same_instance (var_other,var_other4) on */ -var40 = var_other == var_other4; -var38 = var40; -goto RET_LABEL39; -RET_LABEL39:(void)0; +{ /* Inline kernel#Object#is_same_instance (var_other,var_other5) on */ +var43 = var_other == var_other5; +var41 = var43; +goto RET_LABEL42; +RET_LABEL42:(void)0; } } -var36 = var38; -goto RET_LABEL37; -RET_LABEL37:(void)0; +var39 = var41; +goto RET_LABEL40; +RET_LABEL40:(void)0; } } -var_41 = var36; -if (var36){ -var34 = var_41; +var_44 = var39; +if (var39){ +var36 = var_44; } else { +var45 = glob_sys; { -var42 = nit__model___standard__Object___extern_kind(self); +var46 = nit__model___standard__Sys___extern_kind(var45); } { -{ /* Inline kernel#Object#== (var_other,var42) on */ -var_other4 = var42; +{ /* Inline kernel#Object#== (var_other,var46) on */ +var_other5 = var46; { -{ /* Inline kernel#Object#is_same_instance (var_other,var_other4) on */ -var47 = var_other == var_other4; -var45 = var47; -goto RET_LABEL46; -RET_LABEL46:(void)0; +{ /* Inline kernel#Object#is_same_instance (var_other,var_other5) on */ +var51 = var_other == var_other5; +var49 = var51; +goto RET_LABEL50; +RET_LABEL50:(void)0; } } -var43 = var45; -goto RET_LABEL44; -RET_LABEL44:(void)0; +var47 = var49; +goto RET_LABEL48; +RET_LABEL48:(void)0; } } -var34 = var43; +var36 = var47; } -if (var34){ -var48 = 0; -var = var48; +if (var36){ +var = 0; goto RET_LABEL; } else { } } } -var49 = 1; -var = var49; +var = 1; goto RET_LABEL; RET_LABEL:; return var; @@ -7237,12 +8526,12 @@ return var; /* method model#MClassKind#init for (self: MClassKind) */ void nit___nit__MClassKind___standard__kernel__Object__init(val* self) { { -((void (*)(val* self))(self->class->vft[COLOR_nit___nit__MClassKind___standard__kernel__Object__init]))(self) /* init on */; +((void(*)(val* self))(self->class->vft[COLOR_nit___nit__MClassKind___standard__kernel__Object__init]))(self); /* init on */ } RET_LABEL:; } -/* method model#Object#abstract_kind for (self: Object): MClassKind */ -val* nit__model___standard__Object___abstract_kind(val* self) { +/* method model#Sys#abstract_kind for (self: Sys): MClassKind */ +val* nit__model___standard__Sys___abstract_kind(val* self) { val* var /* : MClassKind */; static val* varonce; static int varonce_guard; @@ -7251,31 +8540,27 @@ val* var2 /* : MClassKind */; static val* varonce3; val* var4 /* : String */; char* var5 /* : NativeString */; -long var6 /* : Int */; -val* var7 /* : FlatString */; -short int var8 /* : Bool */; -if (varonce_guard) { +val* var6 /* : FlatString */; +if (likely(varonce_guard)) { var1 = varonce; } else { var2 = NEW_nit__MClassKind(&type_nit__MClassKind); -if (varonce3) { +if (likely(varonce3!=NULL)) { var4 = varonce3; } else { var5 = "abstract class"; -var6 = 14; -var7 = standard___standard__NativeString___to_s_with_length(var5, var6); -var4 = var7; +var6 = standard___standard__NativeString___to_s_with_length(var5, 14l); +var4 = var6; varonce3 = var4; } -var8 = 1; { -((void (*)(val* self, val* p0))(var2->class->vft[COLOR_nit__model__MClassKind__to_s_61d]))(var2, var4) /* to_s= on */; +((void(*)(val* self, val* p0))(var2->class->vft[COLOR_nit__model__MClassKind__to_s_61d]))(var2, var4); /* to_s= on */ } { -((void (*)(val* self, short int p0))(var2->class->vft[COLOR_nit__model__MClassKind__need_init_61d]))(var2, var8) /* need_init= on */; +((void(*)(val* self, short int p0))(var2->class->vft[COLOR_nit__model__MClassKind__need_init_61d]))(var2, 1); /* need_init= on */ } { -((void (*)(val* self))(var2->class->vft[COLOR_standard__kernel__Object__init]))(var2) /* init on */; +((void(*)(val* self))(var2->class->vft[COLOR_standard__kernel__Object__init]))(var2); /* init on */ } var1 = var2; varonce = var1; @@ -7286,8 +8571,8 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method model#Object#concrete_kind for (self: Object): MClassKind */ -val* nit__model___standard__Object___concrete_kind(val* self) { +/* method model#Sys#concrete_kind for (self: Sys): MClassKind */ +val* nit__model___standard__Sys___concrete_kind(val* self) { val* var /* : MClassKind */; static val* varonce; static int varonce_guard; @@ -7296,31 +8581,27 @@ val* var2 /* : MClassKind */; static val* varonce3; val* var4 /* : String */; char* var5 /* : NativeString */; -long var6 /* : Int */; -val* var7 /* : FlatString */; -short int var8 /* : Bool */; -if (varonce_guard) { +val* var6 /* : FlatString */; +if (likely(varonce_guard)) { var1 = varonce; } else { var2 = NEW_nit__MClassKind(&type_nit__MClassKind); -if (varonce3) { +if (likely(varonce3!=NULL)) { var4 = varonce3; } else { var5 = "class"; -var6 = 5; -var7 = standard___standard__NativeString___to_s_with_length(var5, var6); -var4 = var7; +var6 = standard___standard__NativeString___to_s_with_length(var5, 5l); +var4 = var6; varonce3 = var4; } -var8 = 1; { -((void (*)(val* self, val* p0))(var2->class->vft[COLOR_nit__model__MClassKind__to_s_61d]))(var2, var4) /* to_s= on */; +((void(*)(val* self, val* p0))(var2->class->vft[COLOR_nit__model__MClassKind__to_s_61d]))(var2, var4); /* to_s= on */ } { -((void (*)(val* self, short int p0))(var2->class->vft[COLOR_nit__model__MClassKind__need_init_61d]))(var2, var8) /* need_init= on */; +((void(*)(val* self, short int p0))(var2->class->vft[COLOR_nit__model__MClassKind__need_init_61d]))(var2, 1); /* need_init= on */ } { -((void (*)(val* self))(var2->class->vft[COLOR_standard__kernel__Object__init]))(var2) /* init on */; +((void(*)(val* self))(var2->class->vft[COLOR_standard__kernel__Object__init]))(var2); /* init on */ } var1 = var2; varonce = var1; @@ -7331,8 +8612,8 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method model#Object#interface_kind for (self: Object): MClassKind */ -val* nit__model___standard__Object___interface_kind(val* self) { +/* method model#Sys#interface_kind for (self: Sys): MClassKind */ +val* nit__model___standard__Sys___interface_kind(val* self) { val* var /* : MClassKind */; static val* varonce; static int varonce_guard; @@ -7341,31 +8622,27 @@ val* var2 /* : MClassKind */; static val* varonce3; val* var4 /* : String */; char* var5 /* : NativeString */; -long var6 /* : Int */; -val* var7 /* : FlatString */; -short int var8 /* : Bool */; -if (varonce_guard) { +val* var6 /* : FlatString */; +if (likely(varonce_guard)) { var1 = varonce; } else { var2 = NEW_nit__MClassKind(&type_nit__MClassKind); -if (varonce3) { +if (likely(varonce3!=NULL)) { var4 = varonce3; } else { var5 = "interface"; -var6 = 9; -var7 = standard___standard__NativeString___to_s_with_length(var5, var6); -var4 = var7; +var6 = standard___standard__NativeString___to_s_with_length(var5, 9l); +var4 = var6; varonce3 = var4; } -var8 = 0; { -((void (*)(val* self, val* p0))(var2->class->vft[COLOR_nit__model__MClassKind__to_s_61d]))(var2, var4) /* to_s= on */; +((void(*)(val* self, val* p0))(var2->class->vft[COLOR_nit__model__MClassKind__to_s_61d]))(var2, var4); /* to_s= on */ } { -((void (*)(val* self, short int p0))(var2->class->vft[COLOR_nit__model__MClassKind__need_init_61d]))(var2, var8) /* need_init= on */; +((void(*)(val* self, short int p0))(var2->class->vft[COLOR_nit__model__MClassKind__need_init_61d]))(var2, 0); /* need_init= on */ } { -((void (*)(val* self))(var2->class->vft[COLOR_standard__kernel__Object__init]))(var2) /* init on */; +((void(*)(val* self))(var2->class->vft[COLOR_standard__kernel__Object__init]))(var2); /* init on */ } var1 = var2; varonce = var1; @@ -7376,8 +8653,8 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method model#Object#enum_kind for (self: Object): MClassKind */ -val* nit__model___standard__Object___enum_kind(val* self) { +/* method model#Sys#enum_kind for (self: Sys): MClassKind */ +val* nit__model___standard__Sys___enum_kind(val* self) { val* var /* : MClassKind */; static val* varonce; static int varonce_guard; @@ -7386,31 +8663,27 @@ val* var2 /* : MClassKind */; static val* varonce3; val* var4 /* : String */; char* var5 /* : NativeString */; -long var6 /* : Int */; -val* var7 /* : FlatString */; -short int var8 /* : Bool */; -if (varonce_guard) { +val* var6 /* : FlatString */; +if (likely(varonce_guard)) { var1 = varonce; } else { var2 = NEW_nit__MClassKind(&type_nit__MClassKind); -if (varonce3) { +if (likely(varonce3!=NULL)) { var4 = varonce3; } else { var5 = "enum"; -var6 = 4; -var7 = standard___standard__NativeString___to_s_with_length(var5, var6); -var4 = var7; +var6 = standard___standard__NativeString___to_s_with_length(var5, 4l); +var4 = var6; varonce3 = var4; } -var8 = 0; { -((void (*)(val* self, val* p0))(var2->class->vft[COLOR_nit__model__MClassKind__to_s_61d]))(var2, var4) /* to_s= on */; +((void(*)(val* self, val* p0))(var2->class->vft[COLOR_nit__model__MClassKind__to_s_61d]))(var2, var4); /* to_s= on */ } { -((void (*)(val* self, short int p0))(var2->class->vft[COLOR_nit__model__MClassKind__need_init_61d]))(var2, var8) /* need_init= on */; +((void(*)(val* self, short int p0))(var2->class->vft[COLOR_nit__model__MClassKind__need_init_61d]))(var2, 0); /* need_init= on */ } { -((void (*)(val* self))(var2->class->vft[COLOR_standard__kernel__Object__init]))(var2) /* init on */; +((void(*)(val* self))(var2->class->vft[COLOR_standard__kernel__Object__init]))(var2); /* init on */ } var1 = var2; varonce = var1; @@ -7421,8 +8694,8 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method model#Object#extern_kind for (self: Object): MClassKind */ -val* nit__model___standard__Object___extern_kind(val* self) { +/* method model#Sys#extern_kind for (self: Sys): MClassKind */ +val* nit__model___standard__Sys___extern_kind(val* self) { val* var /* : MClassKind */; static val* varonce; static int varonce_guard; @@ -7431,31 +8704,27 @@ val* var2 /* : MClassKind */; static val* varonce3; val* var4 /* : String */; char* var5 /* : NativeString */; -long var6 /* : Int */; -val* var7 /* : FlatString */; -short int var8 /* : Bool */; -if (varonce_guard) { +val* var6 /* : FlatString */; +if (likely(varonce_guard)) { var1 = varonce; } else { var2 = NEW_nit__MClassKind(&type_nit__MClassKind); -if (varonce3) { +if (likely(varonce3!=NULL)) { var4 = varonce3; } else { var5 = "extern class"; -var6 = 12; -var7 = standard___standard__NativeString___to_s_with_length(var5, var6); -var4 = var7; +var6 = standard___standard__NativeString___to_s_with_length(var5, 12l); +var4 = var6; varonce3 = var4; } -var8 = 0; { -((void (*)(val* self, val* p0))(var2->class->vft[COLOR_nit__model__MClassKind__to_s_61d]))(var2, var4) /* to_s= on */; +((void(*)(val* self, val* p0))(var2->class->vft[COLOR_nit__model__MClassKind__to_s_61d]))(var2, var4); /* to_s= on */ } { -((void (*)(val* self, short int p0))(var2->class->vft[COLOR_nit__model__MClassKind__need_init_61d]))(var2, var8) /* need_init= on */; +((void(*)(val* self, short int p0))(var2->class->vft[COLOR_nit__model__MClassKind__need_init_61d]))(var2, 0); /* need_init= on */ } { -((void (*)(val* self))(var2->class->vft[COLOR_standard__kernel__Object__init]))(var2) /* init on */; +((void(*)(val* self))(var2->class->vft[COLOR_standard__kernel__Object__init]))(var2); /* init on */ } var1 = var2; varonce = var1;