X-Git-Url: http://nitlanguage.org diff --git a/c_src/nit__modelize_property.sep.1.c b/c_src/nit__modelize_property.sep.1.c index 3941324..4ccc72f 100644 --- a/c_src/nit__modelize_property.sep.1.c +++ b/c_src/nit__modelize_property.sep.1.c @@ -7,7 +7,7 @@ var1 = self->attrs[COLOR_nit__modelize_property__ToolContext___modelize_property if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelize_property_phase"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 24); -show_backtrace(1); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -26,20 +26,19 @@ val* var6 /* : nullable Object */; val* var_nclassdef /* var nclassdef: AClassdef */; val* var7 /* : nullable Array[AClassdef] */; val* var9 /* : nullable Array[AClassdef] */; -val* var10 /* : null */; +short int var10 /* : Bool */; short int var11 /* : Bool */; -short int var12 /* : Bool */; -val* var13 /* : ToolContext */; -val* var15 /* : ToolContext */; -val* var16 /* : ModelBuilder */; +val* var12 /* : ToolContext */; +val* var14 /* : ToolContext */; +val* var15 /* : ModelBuilder */; var_nmodule = p0; { { /* Inline parser_nodes#AModule#n_classdefs (var_nmodule) on */ var2 = var_nmodule->attrs[COLOR_nit__parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 919); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1096); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -52,11 +51,11 @@ var3 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(v var_4 = var3; for(;;) { { -var5 = ((short int (*)(val* self))(var_4->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_4) /* is_ok on */; +var5 = ((short int(*)(val* self))((((long)var_4&3)?class_info[((long)var_4&3)]:var_4->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_4); /* is_ok on */ } if (var5){ { -var6 = ((val* (*)(val* self))(var_4->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_4) /* item on */; +var6 = ((val*(*)(val* self))((((long)var_4&3)?class_info[((long)var_4&3)]:var_4->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_4); /* item on */ } var_nclassdef = var6; { @@ -66,51 +65,48 @@ var7 = var9; RET_LABEL8:(void)0; } } -var10 = NULL; if (var7 == NULL) { -var11 = 1; /* is null */ +var10 = 1; /* is null */ } else { -var11 = 0; /* arg is null but recv is not */ +var10 = 0; /* arg is null but recv is not */ } if (0) { -var12 = standard___standard__Array___standard__kernel__Object___61d_61d(var7, var10); -var11 = var12; +var11 = standard___standard__Array___standard__kernel__Object___61d_61d(var7, ((val*)NULL)); +var10 = var11; } -if (var11){ +if (var10){ goto BREAK_label; } else { } { { /* Inline phase#Phase#toolcontext (self) on */ -var15 = self->attrs[COLOR_nit__phase__Phase___toolcontext].val; /* _toolcontext on */ -if (unlikely(var15 == NULL)) { +var14 = self->attrs[COLOR_nit__phase__Phase___toolcontext].val; /* _toolcontext on */ +if (unlikely(var14 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 201); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 200); +fatal_exit(1); } -var13 = var15; -RET_LABEL14:(void)0; +var12 = var14; +RET_LABEL13:(void)0; } } { -var16 = nit__modelbuilder_base___ToolContext___modelbuilder(var13); +var15 = nit__modelbuilder_base___ToolContext___modelbuilder(var12); } { -nit__modelize_property___ModelBuilder___build_properties(var16, var_nclassdef); /* Direct call modelize_property#ModelBuilder#build_properties on */ +nit__modelize_property___ModelBuilder___build_properties(var15, var_nclassdef); /* Direct call modelize_property#ModelBuilder#build_properties on */ } BREAK_label: (void)0; { -((void (*)(val* self))(var_4->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_4) /* next on */; +((void(*)(val* self))((((long)var_4&3)?class_info[((long)var_4&3)]:var_4->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_4); /* next on */ } } else { -goto BREAK_label17; +goto BREAK_label16; } } -BREAK_label17: (void)0; +BREAK_label16: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_4) on */ -RET_LABEL18:(void)0; -} +((void(*)(val* self))((((long)var_4&3)?class_info[((long)var_4&3)]:var_4->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_4); /* finish on */ } RET_LABEL:; } @@ -122,7 +118,7 @@ var1 = self->attrs[COLOR_nit__modelize_property__ModelBuilder___mpropdef2npropde if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 40); -show_backtrace(1); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -136,34 +132,31 @@ val* var1 /* : HashMap[MPropDef, APropdef] */; val* var3 /* : HashMap[MPropDef, APropdef] */; val* var4 /* : nullable Object */; val* var_res /* var res: nullable Object */; -val* var5 /* : null */; +short int var5 /* : Bool */; short int var6 /* : Bool */; -short int var7 /* : Bool */; val* var_other /* var other: nullable Object */; +short int var8 /* : Bool */; short int var9 /* : Bool */; -short int var10 /* : Bool */; -val* var11 /* : ToolContext */; -val* var13 /* : ToolContext */; +val* var10 /* : ToolContext */; +val* var12 /* : ToolContext */; +short int var13 /* : Bool */; short int var14 /* : Bool */; -short int var15 /* : Bool */; int cltype; int idtype; short int var_ /* var : Bool */; -val* var16 /* : MProperty */; -val* var18 /* : MProperty */; -short int var19 /* : Bool */; -short int var21 /* : Bool */; -val* var22 /* : HashMap[MClassDef, AClassdef] */; -val* var24 /* : HashMap[MClassDef, AClassdef] */; -val* var25 /* : MClassDef */; -val* var27 /* : MClassDef */; -val* var28 /* : nullable Object */; -val* var29 /* : null */; -short int var30 /* : Bool */; +val* var15 /* : MProperty */; +val* var17 /* : MProperty */; +short int var18 /* : Bool */; +short int var20 /* : Bool */; +val* var21 /* : HashMap[MClassDef, AClassdef] */; +val* var23 /* : HashMap[MClassDef, AClassdef] */; +val* var24 /* : MClassDef */; +val* var26 /* : MClassDef */; +val* var27 /* : nullable Object */; +short int var28 /* : Bool */; +short int var29 /* : Bool */; short int var31 /* : Bool */; -short int var33 /* : Bool */; -short int var34 /* : Bool */; -val* var35 /* : null */; +short int var32 /* : Bool */; var_mpropdef = p0; { { /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (self) on */ @@ -171,7 +164,7 @@ var3 = self->attrs[COLOR_nit__modelize_property__ModelBuilder___mpropdef2npropde if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 40); -show_backtrace(1); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; @@ -181,40 +174,39 @@ RET_LABEL2:(void)0; var4 = standard___standard__HashMap___standard__abstract_collection__MapRead__get_or_null(var1, var_mpropdef); } var_res = var4; -var5 = NULL; if (var_res == NULL) { -var6 = 0; /* is null */ +var5 = 0; /* is null */ } else { -var6 = 1; /* arg is null and recv is not */ +var5 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_res,var5) on */ -var_other = var5; +{ /* Inline kernel#Object#!= (var_res,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var9 = ((short int (*)(val* self, val* p0))(var_res->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_res, var_other) /* == on */; +var8 = ((short int(*)(val* self, val* p0))(var_res->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_res, var_other); /* == on */ } -var10 = !var9; -var7 = var10; -goto RET_LABEL8; -RET_LABEL8:(void)0; +var9 = !var8; +var6 = var9; +goto RET_LABEL7; +RET_LABEL7:(void)0; } -var6 = var7; +var5 = var6; } -if (var6){ +if (var5){ { { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ -var13 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var13 == NULL)) { +var12 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var12 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +fatal_exit(1); } -var11 = var13; -RET_LABEL12:(void)0; +var10 = var12; +RET_LABEL11:(void)0; } } { -nit__phase___ToolContext___run_phases_on_npropdef(var11, var_res); /* Direct call phase#ToolContext#run_phases_on_npropdef on */ +nit__phase___ToolContext___run_phases_on_npropdef(var10, var_res); /* Direct call phase#ToolContext#run_phases_on_npropdef on */ } var = var_res; goto RET_LABEL; @@ -224,92 +216,90 @@ goto RET_LABEL; cltype = type_nit__MMethodDef.color; idtype = type_nit__MMethodDef.id; if(cltype >= var_mpropdef->type->table_size) { -var15 = 0; +var14 = 0; } else { -var15 = var_mpropdef->type->type_table[cltype] == idtype; +var14 = var_mpropdef->type->type_table[cltype] == idtype; } -var_ = var15; -if (var15){ +var_ = var14; +if (var14){ { { /* Inline model#MPropDef#mproperty (var_mpropdef) on */ -var18 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var18 == NULL)) { +var17 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var17 == 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); } -var16 = var18; -RET_LABEL17:(void)0; +var15 = var17; +RET_LABEL16:(void)0; } } { -{ /* Inline model#MMethod#is_root_init (var16) on */ -var21 = var16->attrs[COLOR_nit__model__MMethod___is_root_init].s; /* _is_root_init on */ -var19 = var21; -RET_LABEL20:(void)0; +{ /* Inline model#MMethod#is_root_init (var15) on */ +var20 = var15->attrs[COLOR_nit__model__MMethod___is_root_init].s; /* _is_root_init on */ +var18 = var20; +RET_LABEL19:(void)0; } } -var14 = var19; +var13 = var18; } else { -var14 = var_; +var13 = var_; } -if (var14){ +if (var13){ { { /* Inline modelize_class#ModelBuilder#mclassdef2nclassdef (self) on */ -var24 = self->attrs[COLOR_nit__modelize_class__ModelBuilder___mclassdef2nclassdef].val; /* _mclassdef2nclassdef on */ -if (unlikely(var24 == NULL)) { +var23 = self->attrs[COLOR_nit__modelize_class__ModelBuilder___mclassdef2nclassdef].val; /* _mclassdef2nclassdef on */ +if (unlikely(var23 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef2nclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 426); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 449); +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; } } { -var28 = standard___standard__HashMap___standard__abstract_collection__MapRead__get_or_null(var22, var25); +var27 = standard___standard__HashMap___standard__abstract_collection__MapRead__get_or_null(var21, var24); } -var_res = var28; -var29 = NULL; +var_res = var27; if (var_res == NULL) { -var30 = 0; /* is null */ +var28 = 0; /* is null */ } else { -var30 = 1; /* arg is null and recv is not */ +var28 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_res,var29) on */ -var_other = var29; +{ /* Inline kernel#Object#!= (var_res,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var33 = ((short int (*)(val* self, val* p0))(var_res->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_res, var_other) /* == on */; +var31 = ((short int(*)(val* self, val* p0))(var_res->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_res, var_other); /* == on */ } -var34 = !var33; -var31 = var34; -goto RET_LABEL32; -RET_LABEL32:(void)0; +var32 = !var31; +var29 = var32; +goto RET_LABEL30; +RET_LABEL30:(void)0; } -var30 = var31; +var28 = var29; } -if (var30){ +if (var28){ var = var_res; goto RET_LABEL; } else { } } else { } -var35 = NULL; -var = var35; +var = ((val*)NULL); goto RET_LABEL; RET_LABEL:; return var; @@ -324,25 +314,24 @@ val* var2 /* : HashMap[MClassDef, AClassdef] */; val* var4 /* : HashMap[MClassDef, AClassdef] */; val* var5 /* : nullable Object */; val* var_n /* var n: nullable AClassdef */; -val* var6 /* : null */; +short int var6 /* : Bool */; short int var7 /* : Bool */; -short int var8 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var10 /* : Bool */; -short int var12 /* : Bool */; -val* var13 /* : ANodes[APropdef] */; -val* var15 /* : ANodes[APropdef] */; +short int var9 /* : Bool */; +short int var11 /* : Bool */; +val* var12 /* : ANodes[APropdef] */; +val* var14 /* : ANodes[APropdef] */; val* var_ /* var : ANodes[APropdef] */; -val* var16 /* : Iterator[ANode] */; -val* var_17 /* var : Iterator[APropdef] */; -short int var18 /* : Bool */; -val* var19 /* : nullable Object */; +val* var15 /* : Iterator[ANode] */; +val* var_16 /* var : Iterator[APropdef] */; +short int var17 /* : Bool */; +val* var18 /* : nullable Object */; val* var_npropdef /* var npropdef: APropdef */; -short int var20 /* : Bool */; +short int var19 /* : Bool */; int cltype; int idtype; -val* var21 /* : ToolContext */; -val* var23 /* : ToolContext */; +val* var20 /* : ToolContext */; +val* var22 /* : ToolContext */; var_mclassdef = p0; var1 = NEW_standard__Array(&type_standard__Array__nit__AAttrPropdef); { @@ -354,8 +343,8 @@ var_res = var1; var4 = self->attrs[COLOR_nit__modelize_class__ModelBuilder___mclassdef2nclassdef].val; /* _mclassdef2nclassdef on */ if (unlikely(var4 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef2nclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 426); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 449); +fatal_exit(1); } var2 = var4; RET_LABEL3:(void)0; @@ -365,83 +354,82 @@ RET_LABEL3:(void)0; var5 = standard___standard__HashMap___standard__abstract_collection__MapRead__get_or_null(var2, var_mclassdef); } var_n = var5; -var6 = NULL; if (var_n == NULL) { -var7 = 1; /* is null */ +var6 = 1; /* is null */ } else { -var7 = 0; /* arg is null but recv is not */ +var6 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_n,var6) on */ -var_other = var6; +{ /* Inline kernel#Object#== (var_n,((val*)NULL)) on */ +var_other = ((val*)NULL); { { /* Inline kernel#Object#is_same_instance (var_n,var_other) on */ -var12 = var_n == var_other; -var10 = var12; -goto RET_LABEL11; -RET_LABEL11:(void)0; +var11 = var_n == var_other; +var9 = var11; +goto RET_LABEL10; +RET_LABEL10:(void)0; } } -var8 = var10; -goto RET_LABEL9; -RET_LABEL9:(void)0; +var7 = var9; +goto RET_LABEL8; +RET_LABEL8:(void)0; } -var7 = var8; +var6 = var7; } -if (var7){ +if (var6){ var = var_res; goto RET_LABEL; } else { } { { /* Inline parser_nodes#AClassdef#n_propdefs (var_n) on */ -var15 = var_n->attrs[COLOR_nit__parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ -if (unlikely(var15 == NULL)) { +var14 = var_n->attrs[COLOR_nit__parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ +if (unlikely(var14 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1012); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1189); +fatal_exit(1); } -var13 = var15; -RET_LABEL14:(void)0; +var12 = var14; +RET_LABEL13:(void)0; } } -var_ = var13; +var_ = var12; { -var16 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_); +var15 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_); } -var_17 = var16; +var_16 = var15; for(;;) { { -var18 = ((short int (*)(val* self))(var_17->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_17) /* is_ok on */; +var17 = ((short int(*)(val* self))((((long)var_16&3)?class_info[((long)var_16&3)]:var_16->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_16); /* is_ok on */ } -if (var18){ +if (var17){ { -var19 = ((val* (*)(val* self))(var_17->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_17) /* item on */; +var18 = ((val*(*)(val* self))((((long)var_16&3)?class_info[((long)var_16&3)]:var_16->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_16); /* item on */ } -var_npropdef = var19; +var_npropdef = var18; /* isa AAttrPropdef */ cltype = type_nit__AAttrPropdef.color; idtype = type_nit__AAttrPropdef.id; if(cltype >= var_npropdef->type->table_size) { -var20 = 0; +var19 = 0; } else { -var20 = var_npropdef->type->type_table[cltype] == idtype; +var19 = var_npropdef->type->type_table[cltype] == idtype; } -if (var20){ +if (var19){ { { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ -var23 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var23 == NULL)) { +var22 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var22 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +fatal_exit(1); } -var21 = var23; -RET_LABEL22:(void)0; +var20 = var22; +RET_LABEL21:(void)0; } } { -nit__phase___ToolContext___run_phases_on_npropdef(var21, var_npropdef); /* Direct call phase#ToolContext#run_phases_on_npropdef on */ +nit__phase___ToolContext___run_phases_on_npropdef(var20, var_npropdef); /* Direct call phase#ToolContext#run_phases_on_npropdef on */ } { standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res, var_npropdef); /* Direct call array#Array#add on */ @@ -449,7 +437,7 @@ standard___standard__Array___standard__abstract_collection__SimpleCollection__ad } else { } { -((void (*)(val* self))(var_17->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_17) /* next on */; +((void(*)(val* self))((((long)var_16&3)?class_info[((long)var_16&3)]:var_16->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_16); /* next on */ } } else { goto BREAK_label; @@ -457,9 +445,7 @@ goto BREAK_label; } BREAK_label: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_17) on */ -RET_LABEL24:(void)0; -} +((void(*)(val* self))((((long)var_16&3)?class_info[((long)var_16&3)]:var_16->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_16); /* finish on */ } var = var_res; goto RET_LABEL; @@ -471,66 +457,122 @@ void nit__modelize_property___ModelBuilder___build_properties(val* self, val* p0 val* var_nclassdef /* var nclassdef: AClassdef */; short int var /* : Bool */; short int var2 /* : Bool */; -short int var3 /* : Bool */; -val* var5 /* : nullable MClassDef */; -val* var7 /* : nullable MClassDef */; -val* var_mclassdef /* var mclassdef: MClassDef */; -val* var8 /* : nullable POSetElement[MClassDef] */; -val* var10 /* : nullable POSetElement[MClassDef] */; -val* var11 /* : null */; -short int var12 /* : Bool */; -short int var13 /* : Bool */; +val* var4 /* : nullable MClassDef */; +val* var6 /* : nullable MClassDef */; +val* var_mclassdef /* var mclassdef: nullable MClassDef */; +short int var7 /* : Bool */; +short int var8 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var15 /* : Bool */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; +val* var13 /* : nullable POSetElement[MClassDef] */; +val* var15 /* : nullable POSetElement[MClassDef] */; +short int var16 /* : Bool */; short int var17 /* : Bool */; -val* var18 /* : nullable POSetElement[MClassDef] */; -val* var20 /* : nullable POSetElement[MClassDef] */; -val* var21 /* : Collection[nullable Object] */; +short int var19 /* : Bool */; +short int var21 /* : Bool */; +val* var22 /* : nullable POSetElement[MClassDef] */; +val* var24 /* : nullable POSetElement[MClassDef] */; +val* var25 /* : Collection[nullable Object] */; val* var_ /* var : Collection[MClassDef] */; -val* var22 /* : Iterator[nullable Object] */; -val* var_23 /* var : Iterator[MClassDef] */; -short int var24 /* : Bool */; -val* var25 /* : nullable Object */; +val* var26 /* : Iterator[nullable Object] */; +val* var_27 /* var : Iterator[MClassDef] */; +short int var28 /* : Bool */; +val* var29 /* : nullable Object */; val* var_superclassdef /* var superclassdef: MClassDef */; -val* var26 /* : HashMap[MClassDef, AClassdef] */; -val* var28 /* : HashMap[MClassDef, AClassdef] */; -short int var29 /* : Bool */; -short int var30 /* : Bool */; -val* var31 /* : HashMap[MClassDef, AClassdef] */; -val* var33 /* : HashMap[MClassDef, AClassdef] */; -val* var34 /* : nullable Object */; -val* var37 /* : nullable Array[AClassdef] */; -val* var39 /* : nullable Array[AClassdef] */; -val* var_40 /* var : nullable Array[AClassdef] */; -val* var41 /* : ArrayIterator[nullable Object] */; -val* var_42 /* var : ArrayIterator[AClassdef] */; -short int var43 /* : Bool */; -val* var44 /* : nullable Object */; +val* var30 /* : HashMap[MClassDef, AClassdef] */; +val* var32 /* : HashMap[MClassDef, AClassdef] */; +short int var33 /* : Bool */; +short int var34 /* : Bool */; +val* var35 /* : HashMap[MClassDef, AClassdef] */; +val* var37 /* : HashMap[MClassDef, AClassdef] */; +val* var38 /* : nullable Object */; +val* var40 /* : nullable Array[AClassdef] */; +val* var42 /* : nullable Array[AClassdef] */; +val* var_43 /* var : nullable Array[AClassdef] */; +val* var44 /* : ArrayIterator[nullable Object] */; +val* var_45 /* var : ArrayIterator[AClassdef] */; +short int var46 /* : Bool */; +val* var47 /* : nullable Object */; val* var_nclassdef2 /* var nclassdef2: AClassdef */; -val* var45 /* : ANodes[APropdef] */; -val* var47 /* : ANodes[APropdef] */; -val* var_48 /* var : ANodes[APropdef] */; -val* var49 /* : Iterator[ANode] */; -val* var_50 /* var : Iterator[APropdef] */; -short int var51 /* : Bool */; -val* var52 /* : nullable Object */; +val* var48 /* : ANodes[APropdef] */; +val* var50 /* : ANodes[APropdef] */; +val* var_51 /* var : ANodes[APropdef] */; +val* var52 /* : Iterator[ANode] */; +val* var_53 /* var : Iterator[APropdef] */; +short int var54 /* : Bool */; +val* var55 /* : nullable Object */; val* var_npropdef /* var npropdef: APropdef */; -val* var55 /* : ANodes[APropdef] */; val* var57 /* : ANodes[APropdef] */; -val* var_58 /* var : ANodes[APropdef] */; -val* var59 /* : Iterator[ANode] */; -val* var_60 /* var : Iterator[APropdef] */; -short int var61 /* : Bool */; -val* var62 /* : nullable Object */; -val* var_npropdef63 /* var npropdef: APropdef */; -val* var66 /* : ANodes[APropdef] */; -val* var68 /* : ANodes[APropdef] */; -val* var_69 /* var : ANodes[APropdef] */; -val* var70 /* : Iterator[ANode] */; -val* var_71 /* var : Iterator[APropdef] */; -short int var72 /* : Bool */; -val* var73 /* : nullable Object */; -val* var_npropdef74 /* var npropdef: APropdef */; +val* var59 /* : ANodes[APropdef] */; +val* var_60 /* var : ANodes[APropdef] */; +val* var61 /* : Iterator[ANode] */; +val* var_62 /* var : Iterator[APropdef] */; +short int var63 /* : Bool */; +val* var64 /* : nullable Object */; +val* var_npropdef65 /* var npropdef: APropdef */; +val* var67 /* : ANodes[APropdef] */; +val* var69 /* : ANodes[APropdef] */; +val* var_70 /* var : ANodes[APropdef] */; +val* var71 /* : Iterator[ANode] */; +val* var_72 /* var : Iterator[APropdef] */; +short int var73 /* : Bool */; +val* var74 /* : nullable Object */; +val* var_npropdef75 /* var npropdef: APropdef */; +short int var76 /* : Bool */; +int cltype; +int idtype; +short int var77 /* : Bool */; +val* var79 /* : nullable MPropDef */; +val* var81 /* : nullable MPropDef */; +val* var_mpropdef /* var mpropdef: nullable MVirtualTypeDef */; +short int var82 /* : Bool */; +short int var83 /* : Bool */; +short int var85 /* : Bool */; +short int var87 /* : Bool */; +val* var88 /* : nullable MType */; +val* var90 /* : nullable MType */; +short int var91 /* : Bool */; +short int var92 /* : Bool */; +short int var94 /* : Bool */; +short int var96 /* : Bool */; +val* var97 /* : MProperty */; +val* var99 /* : MProperty */; +val* var100 /* : MClassType */; +val* var102 /* : MClassType */; +val* var103 /* : MModule */; +val* var105 /* : MModule */; +short int var106 /* : Bool */; +short int var107 /* : Bool */; +val* var108 /* : MModule */; +val* var110 /* : MModule */; +val* var111 /* : Model */; +val* var113 /* : Model */; +val* var114 /* : MNullType */; +val* var116 /* : MNullType */; +val* var119 /* : ANodes[APropdef] */; +val* var121 /* : ANodes[APropdef] */; +val* var_122 /* var : ANodes[APropdef] */; +val* var123 /* : Iterator[ANode] */; +val* var_124 /* var : Iterator[APropdef] */; +short int var125 /* : Bool */; +val* var126 /* : nullable Object */; +val* var_npropdef127 /* var npropdef: APropdef */; +short int var128 /* : Bool */; +int cltype129; +int idtype130; +short int var131 /* : Bool */; +val* var134 /* : ANodes[APropdef] */; +val* var136 /* : ANodes[APropdef] */; +val* var_137 /* var : ANodes[APropdef] */; +val* var138 /* : Iterator[ANode] */; +val* var_139 /* var : Iterator[APropdef] */; +short int var140 /* : Bool */; +val* var141 /* : nullable Object */; +val* var_npropdef142 /* var npropdef: APropdef */; +short int var143 /* : Bool */; +int cltype144; +int idtype145; var_nclassdef = p0; { { /* Inline modelize_property#AClassdef#build_properties_is_done (var_nclassdef) on */ @@ -543,307 +585,586 @@ if (var){ goto RET_LABEL; } else { } -var3 = 1; { -{ /* Inline modelize_property#AClassdef#build_properties_is_done= (var_nclassdef,var3) on */ -var_nclassdef->attrs[COLOR_nit__modelize_property__AClassdef___build_properties_is_done].s = var3; /* _build_properties_is_done on */ -RET_LABEL4:(void)0; +{ /* Inline modelize_property#AClassdef#build_properties_is_done= (var_nclassdef,1) on */ +var_nclassdef->attrs[COLOR_nit__modelize_property__AClassdef___build_properties_is_done].s = 1; /* _build_properties_is_done on */ +RET_LABEL3:(void)0; } } { { /* Inline modelize_class#AClassdef#mclassdef (var_nclassdef) on */ -var7 = var_nclassdef->attrs[COLOR_nit__modelize_class__AClassdef___mclassdef].val; /* _mclassdef on */ -var5 = var7; -RET_LABEL6:(void)0; +var6 = var_nclassdef->attrs[COLOR_nit__modelize_class__AClassdef___mclassdef].val; /* _mclassdef on */ +var4 = var6; +RET_LABEL5:(void)0; } } -if (unlikely(var5 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 89); -show_backtrace(1); +var_mclassdef = var4; +if (var_mclassdef == NULL) { +var7 = 1; /* is null */ +} else { +var7 = 0; /* arg is null but recv is not */ } -var_mclassdef = var5; +if (0) { +{ /* Inline kernel#Object#== (var_mclassdef,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline model#MClassDef#in_hierarchy (var_mclassdef) on */ -var10 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___in_hierarchy].val; /* _in_hierarchy on */ +{ /* Inline kernel#Object#is_same_instance (var_mclassdef,var_other) on */ +var12 = var_mclassdef == var_other; +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; +} +} var8 = var10; +goto RET_LABEL9; RET_LABEL9:(void)0; } +var7 = var8; +} +if (var7){ +goto RET_LABEL; +} else { +} +{ +{ /* Inline model#MClassDef#in_hierarchy (var_mclassdef) on */ +var15 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___in_hierarchy].val; /* _in_hierarchy on */ +var13 = var15; +RET_LABEL14:(void)0; +} } -var11 = NULL; -if (var8 == NULL) { -var12 = 1; /* is null */ +if (var13 == NULL) { +var16 = 1; /* is null */ } else { -var12 = 0; /* arg is null but recv is not */ +var16 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var8,var11) on */ -var_other = var11; +{ /* Inline kernel#Object#== (var13,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ -var17 = var8 == var_other; -var15 = var17; -goto RET_LABEL16; -RET_LABEL16:(void)0; +{ /* Inline kernel#Object#is_same_instance (var13,var_other) on */ +var21 = var13 == var_other; +var19 = var21; +goto RET_LABEL20; +RET_LABEL20:(void)0; } } -var13 = var15; -goto RET_LABEL14; -RET_LABEL14:(void)0; +var17 = var19; +goto RET_LABEL18; +RET_LABEL18:(void)0; } -var12 = var13; +var16 = var17; } -if (var12){ +if (var16){ goto RET_LABEL; } else { } { -{ /* Inline model#MClassDef#in_hierarchy (var_mclassdef) on */ -var20 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___in_hierarchy].val; /* _in_hierarchy on */ -var18 = var20; -RET_LABEL19:(void)0; +{ /* Inline model#MClassDef#in_hierarchy (var_mclassdef) on */ +var24 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___in_hierarchy].val; /* _in_hierarchy on */ +var22 = var24; +RET_LABEL23:(void)0; } } -if (var18 == NULL) { +if (var22 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 91); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 92); +fatal_exit(1); } else { -var21 = poset___poset__POSetElement___direct_greaters(var18); +var25 = poset___poset__POSetElement___direct_greaters(var22); } -var_ = var21; +var_ = var25; { -var22 = ((val* (*)(val* self))(var_->class->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_) /* iterator on */; +var26 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_); /* iterator on */ } -var_23 = var22; +var_27 = var26; for(;;) { { -var24 = ((short int (*)(val* self))(var_23->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_23) /* is_ok on */; +var28 = ((short int(*)(val* self))((((long)var_27&3)?class_info[((long)var_27&3)]:var_27->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_27); /* is_ok on */ } -if (var24){ +if (var28){ { -var25 = ((val* (*)(val* self))(var_23->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_23) /* item on */; +var29 = ((val*(*)(val* self))((((long)var_27&3)?class_info[((long)var_27&3)]:var_27->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_27); /* item on */ } -var_superclassdef = var25; +var_superclassdef = var29; { { /* Inline modelize_class#ModelBuilder#mclassdef2nclassdef (self) on */ -var28 = self->attrs[COLOR_nit__modelize_class__ModelBuilder___mclassdef2nclassdef].val; /* _mclassdef2nclassdef on */ -if (unlikely(var28 == NULL)) { +var32 = self->attrs[COLOR_nit__modelize_class__ModelBuilder___mclassdef2nclassdef].val; /* _mclassdef2nclassdef on */ +if (unlikely(var32 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef2nclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 426); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 449); +fatal_exit(1); } -var26 = var28; -RET_LABEL27:(void)0; +var30 = var32; +RET_LABEL31:(void)0; } } { -var29 = standard___standard__MapRead___has_key(var26, var_superclassdef); +var33 = standard___standard__HashMap___standard__abstract_collection__MapRead__has_key(var30, var_superclassdef); } -var30 = !var29; -if (var30){ +var34 = !var33; +if (var34){ goto BREAK_label; } else { } { { /* Inline modelize_class#ModelBuilder#mclassdef2nclassdef (self) on */ -var33 = self->attrs[COLOR_nit__modelize_class__ModelBuilder___mclassdef2nclassdef].val; /* _mclassdef2nclassdef on */ -if (unlikely(var33 == NULL)) { +var37 = self->attrs[COLOR_nit__modelize_class__ModelBuilder___mclassdef2nclassdef].val; /* _mclassdef2nclassdef on */ +if (unlikely(var37 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef2nclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 426); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_class, 449); +fatal_exit(1); } -var31 = var33; -RET_LABEL32:(void)0; +var35 = var37; +RET_LABEL36:(void)0; } } { -var34 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var31, var_superclassdef); +var38 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var35, var_superclassdef); } { -nit__modelize_property___ModelBuilder___build_properties(self, var34); /* Direct call modelize_property#ModelBuilder#build_properties on */ +nit__modelize_property___ModelBuilder___build_properties(self, var38); /* Direct call modelize_property#ModelBuilder#build_properties on */ } BREAK_label: (void)0; { -((void (*)(val* self))(var_23->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_23) /* next on */; +((void(*)(val* self))((((long)var_27&3)?class_info[((long)var_27&3)]:var_27->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_27); /* next on */ } } else { -goto BREAK_label35; +goto BREAK_label39; } } -BREAK_label35: (void)0; +BREAK_label39: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_23) on */ -RET_LABEL36:(void)0; -} +((void(*)(val* self))((((long)var_27&3)?class_info[((long)var_27&3)]:var_27->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_27); /* finish on */ } { -nit__modelize_property___MClassDef___build_self_type(var_mclassdef, self, var_nclassdef); /* Direct call modelize_property#MClassDef#build_self_type on */ +nit__modelize_property___MClassDef___build_self_type(var_mclassdef, self, var_nclassdef); /* Direct call modelize_property#MClassDef#build_self_type on */ } { { /* Inline modelize_class#AClassdef#all_defs (var_nclassdef) on */ -var39 = var_nclassdef->attrs[COLOR_nit__modelize_class__AClassdef___all_defs].val; /* _all_defs on */ -var37 = var39; -RET_LABEL38:(void)0; +var42 = var_nclassdef->attrs[COLOR_nit__modelize_class__AClassdef___all_defs].val; /* _all_defs on */ +var40 = var42; +RET_LABEL41:(void)0; } } -var_40 = var37; -if (var_40 == NULL) { +var_43 = var40; +if (var_43 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 97); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 98); +fatal_exit(1); } else { -var41 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_40); +var44 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_43); } -var_42 = var41; +var_45 = var44; for(;;) { { -var43 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_42); +var46 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_45); } -if (var43){ +if (var46){ { -var44 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_42); +var47 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_45); } -var_nclassdef2 = var44; +var_nclassdef2 = var47; { { /* Inline parser_nodes#AClassdef#n_propdefs (var_nclassdef2) on */ -var47 = var_nclassdef2->attrs[COLOR_nit__parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ -if (unlikely(var47 == NULL)) { +var50 = var_nclassdef2->attrs[COLOR_nit__parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ +if (unlikely(var50 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1012); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1189); +fatal_exit(1); } -var45 = var47; -RET_LABEL46:(void)0; +var48 = var50; +RET_LABEL49:(void)0; } } -var_48 = var45; +var_51 = var48; { -var49 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_48); +var52 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_51); } -var_50 = var49; +var_53 = var52; for(;;) { { -var51 = ((short int (*)(val* self))(var_50->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_50) /* is_ok on */; +var54 = ((short int(*)(val* self))((((long)var_53&3)?class_info[((long)var_53&3)]:var_53->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_53); /* is_ok on */ } -if (var51){ +if (var54){ { -var52 = ((val* (*)(val* self))(var_50->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_50) /* item on */; +var55 = ((val*(*)(val* self))((((long)var_53&3)?class_info[((long)var_53&3)]:var_53->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_53); /* item on */ } -var_npropdef = var52; +var_npropdef = var55; { -((void (*)(val* self, val* p0, val* p1))(var_npropdef->class->vft[COLOR_nit__modelize_property__APropdef__build_property]))(var_npropdef, self, var_mclassdef) /* build_property on */; +((void(*)(val* self, val* p0, val* p1))(var_npropdef->class->vft[COLOR_nit__modelize_property__APropdef__build_property]))(var_npropdef, self, var_mclassdef); /* build_property on */ } { -((void (*)(val* self))(var_50->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_50) /* next on */; +((void(*)(val* self))((((long)var_53&3)?class_info[((long)var_53&3)]:var_53->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_53); /* next on */ } } else { -goto BREAK_label53; +goto BREAK_label56; } } -BREAK_label53: (void)0; +BREAK_label56: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_50) on */ -RET_LABEL54:(void)0; -} +((void(*)(val* self))((((long)var_53&3)?class_info[((long)var_53&3)]:var_53->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_53); /* finish on */ } { { /* Inline parser_nodes#AClassdef#n_propdefs (var_nclassdef2) on */ -var57 = var_nclassdef2->attrs[COLOR_nit__parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ -if (unlikely(var57 == NULL)) { +var59 = var_nclassdef2->attrs[COLOR_nit__parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ +if (unlikely(var59 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1012); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1189); +fatal_exit(1); } -var55 = var57; -RET_LABEL56:(void)0; +var57 = var59; +RET_LABEL58:(void)0; } } -var_58 = var55; +var_60 = var57; { -var59 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_58); +var61 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_60); } -var_60 = var59; +var_62 = var61; for(;;) { { -var61 = ((short int (*)(val* self))(var_60->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_60) /* is_ok on */; +var63 = ((short int(*)(val* self))((((long)var_62&3)?class_info[((long)var_62&3)]:var_62->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_62); /* is_ok on */ } -if (var61){ +if (var63){ { -var62 = ((val* (*)(val* self))(var_60->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_60) /* item on */; +var64 = ((val*(*)(val* self))((((long)var_62&3)?class_info[((long)var_62&3)]:var_62->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_62); /* item on */ } -var_npropdef63 = var62; +var_npropdef65 = var64; { -((void (*)(val* self, val* p0))(var_npropdef63->class->vft[COLOR_nit__modelize_property__APropdef__build_signature]))(var_npropdef63, self) /* build_signature on */; +((void(*)(val* self, val* p0))(var_npropdef65->class->vft[COLOR_nit__modelize_property__APropdef__build_signature]))(var_npropdef65, self); /* build_signature on */ } { -((void (*)(val* self))(var_60->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_60) /* next on */; +((void(*)(val* self))((((long)var_62&3)?class_info[((long)var_62&3)]:var_62->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_62); /* next on */ } } else { -goto BREAK_label64; +goto BREAK_label66; } } -BREAK_label64: (void)0; +BREAK_label66: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_60) on */ -RET_LABEL65:(void)0; -} +((void(*)(val* self))((((long)var_62&3)?class_info[((long)var_62&3)]:var_62->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_62); /* finish on */ } { { /* Inline parser_nodes#AClassdef#n_propdefs (var_nclassdef2) on */ -var68 = var_nclassdef2->attrs[COLOR_nit__parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ -if (unlikely(var68 == NULL)) { +var69 = var_nclassdef2->attrs[COLOR_nit__parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ +if (unlikely(var69 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1012); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1189); +fatal_exit(1); } -var66 = var68; -RET_LABEL67:(void)0; +var67 = var69; +RET_LABEL68:(void)0; } } -var_69 = var66; +var_70 = var67; { -var70 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_69); +var71 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_70); } -var_71 = var70; +var_72 = var71; for(;;) { { -var72 = ((short int (*)(val* self))(var_71->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_71) /* is_ok on */; -} -if (var72){ -{ -var73 = ((val* (*)(val* self))(var_71->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_71) /* item on */; -} -var_npropdef74 = var73; -{ -((void (*)(val* self, val* p0))(var_npropdef74->class->vft[COLOR_nit__modelize_property__APropdef__check_signature]))(var_npropdef74, self) /* check_signature on */; +var73 = ((short int(*)(val* self))((((long)var_72&3)?class_info[((long)var_72&3)]:var_72->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_72); /* is_ok on */ } +if (var73){ { -((void (*)(val* self))(var_71->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_71) /* next on */; +var74 = ((val*(*)(val* self))((((long)var_72&3)?class_info[((long)var_72&3)]:var_72->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_72); /* item on */ } +var_npropdef75 = var74; +/* isa ATypePropdef */ +cltype = type_nit__ATypePropdef.color; +idtype = type_nit__ATypePropdef.id; +if(cltype >= var_npropdef75->type->table_size) { +var76 = 0; } else { -goto BREAK_label75; +var76 = var_npropdef75->type->type_table[cltype] == idtype; } +var77 = !var76; +if (var77){ +goto BREAK_label78; +} else { } -BREAK_label75: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_71) on */ -RET_LABEL76:(void)0; -} +{ /* Inline modelize_property#APropdef#mpropdef (var_npropdef75) on */ +var81 = var_npropdef75->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +var79 = var81; +RET_LABEL80:(void)0; } -{ -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_42); /* Direct call array#ArrayIterator#next on */ } +var_mpropdef = var79; +if (var_mpropdef == NULL) { +var82 = 1; /* is null */ } else { -goto BREAK_label77; +var82 = 0; /* arg is null but recv is not */ } +if (0) { +{ /* Inline kernel#Object#== (var_mpropdef,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +{ /* Inline kernel#Object#is_same_instance (var_mpropdef,var_other) on */ +var87 = var_mpropdef == var_other; +var85 = var87; +goto RET_LABEL86; +RET_LABEL86:(void)0; +} +} +var83 = var85; +goto RET_LABEL84; +RET_LABEL84:(void)0; +} +var82 = var83; +} +if (var82){ +goto BREAK_label78; +} else { } -BREAK_label77: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_42) on */ -RET_LABEL78:(void)0; +{ /* Inline model#MVirtualTypeDef#bound (var_mpropdef) on */ +var90 = var_mpropdef->attrs[COLOR_nit__model__MVirtualTypeDef___bound].val; /* _bound on */ +var88 = var90; +RET_LABEL89:(void)0; +} +} +if (var88 == NULL) { +var91 = 1; /* is null */ +} else { +var91 = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel#Object#== (var88,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +{ /* Inline kernel#Object#is_same_instance (var88,var_other) on */ +var96 = var88 == var_other; +var94 = var96; +goto RET_LABEL95; +RET_LABEL95:(void)0; +} +} +var92 = var94; +goto RET_LABEL93; +RET_LABEL93:(void)0; +} +var91 = var92; +} +if (var91){ +goto BREAK_label78; +} else { +} +{ +{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ +var99 = var_mpropdef->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, 2212); +fatal_exit(1); +} +var97 = var99; +RET_LABEL98:(void)0; +} +} +{ +{ /* Inline model#MClassDef#bound_mtype (var_mclassdef) on */ +var102 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ +if (unlikely(var102 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 556); +fatal_exit(1); +} +var100 = var102; +RET_LABEL101:(void)0; +} +} +{ +{ /* Inline model#MClassDef#mmodule (var_mclassdef) on */ +var105 = var_mclassdef->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, 550); +fatal_exit(1); +} +var103 = var105; +RET_LABEL104:(void)0; +} +} +{ +var106 = nit__modelize_property___ModelBuilder___check_virtual_types_circularity(self, var_npropdef75, var97, var100, var103); +} +var107 = !var106; +if (var107){ +{ +{ /* Inline model#MClassDef#mmodule (var_mclassdef) on */ +var110 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var110 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550); +fatal_exit(1); +} +var108 = var110; +RET_LABEL109:(void)0; +} +} +{ +{ /* Inline mmodule#MModule#model (var108) on */ +var113 = var108->attrs[COLOR_nit__mmodule__MModule___model].val; /* _model on */ +if (unlikely(var113 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 73); +fatal_exit(1); +} +var111 = var113; +RET_LABEL112:(void)0; +} +} +{ +{ /* Inline model#Model#null_type (var111) on */ +var116 = var111->attrs[COLOR_nit__model__Model___null_type].val; /* _null_type on */ +if (unlikely(var116 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _null_type"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 94); +fatal_exit(1); +} +var114 = var116; +RET_LABEL115:(void)0; +} +} +{ +{ /* Inline model#MVirtualTypeDef#bound= (var_mpropdef,var114) on */ +var_mpropdef->attrs[COLOR_nit__model__MVirtualTypeDef___bound].val = var114; /* _bound on */ +RET_LABEL117:(void)0; +} +} +} else { +} +BREAK_label78: (void)0; +{ +((void(*)(val* self))((((long)var_72&3)?class_info[((long)var_72&3)]:var_72->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_72); /* next on */ +} +} else { +goto BREAK_label118; +} +} +BREAK_label118: (void)0; +{ +((void(*)(val* self))((((long)var_72&3)?class_info[((long)var_72&3)]:var_72->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_72); /* finish on */ +} +{ +{ /* Inline parser_nodes#AClassdef#n_propdefs (var_nclassdef2) on */ +var121 = var_nclassdef2->attrs[COLOR_nit__parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ +if (unlikely(var121 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1189); +fatal_exit(1); +} +var119 = var121; +RET_LABEL120:(void)0; +} +} +var_122 = var119; +{ +var123 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_122); +} +var_124 = var123; +for(;;) { +{ +var125 = ((short int(*)(val* self))((((long)var_124&3)?class_info[((long)var_124&3)]:var_124->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_124); /* is_ok on */ +} +if (var125){ +{ +var126 = ((val*(*)(val* self))((((long)var_124&3)?class_info[((long)var_124&3)]:var_124->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_124); /* item on */ +} +var_npropdef127 = var126; +/* isa ATypePropdef */ +cltype129 = type_nit__ATypePropdef.color; +idtype130 = type_nit__ATypePropdef.id; +if(cltype129 >= var_npropdef127->type->table_size) { +var128 = 0; +} else { +var128 = var_npropdef127->type->type_table[cltype129] == idtype130; +} +var131 = !var128; +if (var131){ +goto BREAK_label132; +} else { +} +{ +nit__modelize_property___ATypePropdef___APropdef__check_signature(var_npropdef127, self); /* Direct call modelize_property#ATypePropdef#check_signature on */ +} +BREAK_label132: (void)0; +{ +((void(*)(val* self))((((long)var_124&3)?class_info[((long)var_124&3)]:var_124->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_124); /* next on */ +} +} else { +goto BREAK_label133; +} +} +BREAK_label133: (void)0; +{ +((void(*)(val* self))((((long)var_124&3)?class_info[((long)var_124&3)]:var_124->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_124); /* finish on */ +} +{ +{ /* Inline parser_nodes#AClassdef#n_propdefs (var_nclassdef2) on */ +var136 = var_nclassdef2->attrs[COLOR_nit__parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ +if (unlikely(var136 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1189); +fatal_exit(1); +} +var134 = var136; +RET_LABEL135:(void)0; +} +} +var_137 = var134; +{ +var138 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_137); +} +var_139 = var138; +for(;;) { +{ +var140 = ((short int(*)(val* self))((((long)var_139&3)?class_info[((long)var_139&3)]:var_139->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_139); /* is_ok on */ +} +if (var140){ +{ +var141 = ((val*(*)(val* self))((((long)var_139&3)?class_info[((long)var_139&3)]:var_139->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_139); /* item on */ +} +var_npropdef142 = var141; +/* isa ATypePropdef */ +cltype144 = type_nit__ATypePropdef.color; +idtype145 = type_nit__ATypePropdef.id; +if(cltype144 >= var_npropdef142->type->table_size) { +var143 = 0; +} else { +var143 = var_npropdef142->type->type_table[cltype144] == idtype145; +} +if (var143){ +goto BREAK_label146; +} else { +} +{ +((void(*)(val* self, val* p0))(var_npropdef142->class->vft[COLOR_nit__modelize_property__APropdef__check_signature]))(var_npropdef142, self); /* check_signature on */ +} +BREAK_label146: (void)0; +{ +((void(*)(val* self))((((long)var_139&3)?class_info[((long)var_139&3)]:var_139->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_139); /* next on */ +} +} else { +goto BREAK_label147; +} +} +BREAK_label147: (void)0; +{ +((void(*)(val* self))((((long)var_139&3)?class_info[((long)var_139&3)]:var_139->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_139); /* finish on */ +} +{ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_45); /* Direct call array#ArrayIterator#next on */ +} +} else { +goto BREAK_label148; } } +BREAK_label148: (void)0; +{ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_45); /* Direct call array#ArrayIterator#finish on */ +} { nit__modelize_property___ModelBuilder___process_default_constructors(self, var_nclassdef); /* Direct call modelize_property#ModelBuilder#process_default_constructors on */ } @@ -879,489 +1200,601 @@ val* var11 /* : String */; static val* varonce; val* var12 /* : String */; char* var13 /* : NativeString */; -long var14 /* : Int */; -val* var15 /* : FlatString */; -short int var16 /* : Bool */; +val* var14 /* : FlatString */; +short int var15 /* : Bool */; short int var_ /* var : Bool */; -val* var17 /* : nullable MMethod */; -val* var19 /* : nullable MMethod */; -val* var20 /* : null */; -short int var21 /* : Bool */; -short int var22 /* : Bool */; +val* var16 /* : nullable MMethod */; +val* var18 /* : nullable MMethod */; +short int var19 /* : Bool */; +short int var20 /* : Bool */; val* var_other /* var other: nullable Object */; +short int var22 /* : Bool */; short int var24 /* : Bool */; -short int var26 /* : Bool */; -val* var27 /* : MMethod */; -static val* varonce28; -val* var29 /* : String */; -char* var30 /* : NativeString */; -long var31 /* : Int */; -val* var32 /* : FlatString */; -val* var33 /* : MClass */; -val* var35 /* : MClass */; -val* var36 /* : MVisibility */; -val* var38 /* : MVisibility */; +val* var25 /* : MMethod */; +static val* varonce26; +val* var27 /* : String */; +char* var28 /* : NativeString */; +val* var29 /* : FlatString */; +val* var30 /* : MClass */; +val* var32 /* : MClass */; +val* var33 /* : MVisibility */; +val* var35 /* : MVisibility */; val* var_mprop /* var mprop: MMethod */; -short int var39 /* : Bool */; -val* var41 /* : MMethodDef */; -val* var42 /* : Location */; -val* var44 /* : Location */; +val* var37 /* : MMethodDef */; +val* var38 /* : Location */; +val* var40 /* : Location */; val* var_mpropdef /* var mpropdef: MMethodDef */; -val* var45 /* : Array[MParameter] */; +val* var41 /* : Array[MParameter] */; val* var_mparameters /* var mparameters: Array[MParameter] */; -val* var46 /* : MSignature */; -val* var47 /* : null */; +val* var42 /* : MSignature */; val* var_msignature /* var msignature: MSignature */; -short int var50 /* : Bool */; -val* var53 /* : ToolContext */; -val* var55 /* : ToolContext */; -static val* varonce56; +val* var47 /* : ToolContext */; +val* var49 /* : ToolContext */; +val* var51 /* : NativeArray[String] */; +static val* varonce50; +static val* varonce52; +val* var53 /* : String */; +char* var54 /* : NativeString */; +val* var55 /* : FlatString */; +val* var56 /* : String */; val* var57 /* : String */; -char* var58 /* : NativeString */; -long var59 /* : Int */; -val* var60 /* : FlatString */; -val* var61 /* : Array[Object] */; -long var62 /* : Int */; -val* var63 /* : NativeArray[Object] */; -val* var64 /* : String */; -long var65 /* : Int */; -val* var67 /* : MClass */; -val* var69 /* : MClass */; -val* var70 /* : MClassKind */; -val* var72 /* : MClassKind */; -short int var73 /* : Bool */; -short int var75 /* : Bool */; -short int var76 /* : Bool */; -val* var77 /* : null */; +val* var58 /* : String */; +val* var59 /* : String */; val* var_defined_init /* var defined_init: nullable MMethodDef */; -val* var78 /* : Array[MPropDef] */; -val* var80 /* : Array[MPropDef] */; -val* var_81 /* var : Array[MPropDef] */; -val* var82 /* : ArrayIterator[nullable Object] */; -val* var_83 /* var : ArrayIterator[MPropDef] */; -short int var84 /* : Bool */; -val* var85 /* : nullable Object */; -val* var_mpropdef86 /* var mpropdef: MPropDef */; -short int var87 /* : Bool */; +val* var61 /* : Array[MPropDef] */; +val* var63 /* : Array[MPropDef] */; +val* var_64 /* var : Array[MPropDef] */; +val* var65 /* : ArrayIterator[nullable Object] */; +val* var_66 /* var : ArrayIterator[MPropDef] */; +short int var67 /* : Bool */; +val* var68 /* : nullable Object */; +val* var_mpropdef69 /* var mpropdef: MPropDef */; +short int var70 /* : Bool */; int cltype; int idtype; +short int var71 /* : Bool */; +val* var72 /* : MProperty */; +val* var74 /* : MProperty */; +short int var75 /* : Bool */; +short int var77 /* : Bool */; +short int var78 /* : Bool */; +val* var79 /* : MProperty */; +val* var81 /* : MProperty */; +short int var82 /* : Bool */; +short int var84 /* : Bool */; +short int var85 /* : Bool */; +short int var86 /* : Bool */; short int var88 /* : Bool */; -val* var89 /* : MProperty */; +short int var90 /* : Bool */; val* var91 /* : MProperty */; -short int var92 /* : Bool */; -short int var94 /* : Bool */; -short int var95 /* : Bool */; -val* var96 /* : MProperty */; -val* var98 /* : MProperty */; -short int var99 /* : Bool */; +val* var93 /* : MProperty */; +val* var94 /* : String */; +val* var96 /* : String */; +static val* varonce97; +val* var98 /* : String */; +char* var99 /* : NativeString */; +val* var100 /* : FlatString */; short int var101 /* : Bool */; -val* var102 /* : null */; short int var103 /* : Bool */; -short int var104 /* : Bool */; +int cltype104; +int idtype105; short int var106 /* : Bool */; -short int var108 /* : Bool */; -val* var109 /* : MProperty */; -val* var111 /* : MProperty */; -val* var112 /* : String */; -val* var114 /* : String */; -static val* varonce115; -val* var116 /* : String */; -char* var117 /* : NativeString */; -long var118 /* : Int */; -val* var119 /* : FlatString */; -short int var120 /* : Bool */; -short int var123 /* : Bool */; -int cltype124; -int idtype125; -short int var126 /* : Bool */; -val* var127 /* : Array[MParameter] */; -val* var_mparameters128 /* var mparameters: Array[MParameter] */; -val* var129 /* : Array[MProperty] */; +val* var107 /* : Array[MParameter] */; +val* var_mparameters108 /* var mparameters: Array[MParameter] */; +val* var109 /* : Array[MProperty] */; val* var_initializers /* var initializers: Array[MProperty] */; -val* var130 /* : ANodes[APropdef] */; -val* var132 /* : ANodes[APropdef] */; -val* var_133 /* var : ANodes[APropdef] */; -val* var134 /* : Iterator[ANode] */; -val* var_135 /* var : Iterator[APropdef] */; -short int var136 /* : Bool */; -val* var137 /* : nullable Object */; +val* var110 /* : ANodes[APropdef] */; +val* var112 /* : ANodes[APropdef] */; +val* var_113 /* var : ANodes[APropdef] */; +val* var114 /* : Iterator[ANode] */; +val* var_115 /* var : Iterator[APropdef] */; +short int var116 /* : Bool */; +val* var117 /* : nullable Object */; val* var_npropdef /* var npropdef: APropdef */; -short int var138 /* : Bool */; -int cltype139; -int idtype140; -val* var141 /* : nullable MPropDef */; -val* var143 /* : nullable MPropDef */; -val* var144 /* : null */; -short int var145 /* : Bool */; -short int var146 /* : Bool */; -short int var148 /* : Bool */; -short int var150 /* : Bool */; -static val* varonce151; -val* var152 /* : String */; -char* var153 /* : NativeString */; -long var154 /* : Int */; -val* var155 /* : FlatString */; -val* var156 /* : nullable AAnnotation */; -val* var_at /* var at: nullable AAnnotation */; -val* var157 /* : null */; -short int var158 /* : Bool */; -short int var159 /* : Bool */; -short int var161 /* : Bool */; -short int var163 /* : Bool */; -val* var165 /* : nullable MPropDef */; -val* var167 /* : nullable MPropDef */; -val* var168 /* : nullable MSignature */; -val* var170 /* : nullable MSignature */; +short int var118 /* : Bool */; +int cltype119; +int idtype120; +short int var121 /* : Bool */; +short int var123 /* : Bool */; +short int var124 /* : Bool */; +val* var126 /* : nullable MPropDef */; +val* var128 /* : nullable MPropDef */; +short int var129 /* : Bool */; +short int var130 /* : Bool */; +short int var132 /* : Bool */; +short int var134 /* : Bool */; +val* var135 /* : nullable MPropDef */; +val* var137 /* : nullable MPropDef */; +val* var138 /* : nullable MSignature */; +val* var140 /* : nullable MSignature */; val* var_sig /* var sig: nullable MSignature */; -val* var171 /* : null */; -short int var172 /* : Bool */; -short int var173 /* : Bool */; -short int var175 /* : Bool */; -short int var177 /* : Bool */; -val* var178 /* : nullable MPropDef */; -val* var180 /* : nullable MPropDef */; -short int var181 /* : Bool */; -short int var182 /* : Bool */; -static val* varonce183; -val* var184 /* : String */; -char* var185 /* : NativeString */; -long var186 /* : Int */; -val* var187 /* : FlatString */; -val* var188 /* : Array[MParameter] */; -val* var190 /* : Array[MParameter] */; -val* var_191 /* var : Array[MParameter] */; -val* var192 /* : ArrayIterator[nullable Object] */; -val* var_193 /* var : ArrayIterator[MParameter] */; -short int var194 /* : Bool */; -val* var195 /* : nullable Object */; +short int var141 /* : Bool */; +short int var142 /* : Bool */; +short int var144 /* : Bool */; +short int var146 /* : Bool */; +val* var147 /* : Array[MParameter] */; +val* var149 /* : Array[MParameter] */; +val* var_150 /* var : Array[MParameter] */; +val* var151 /* : ArrayIterator[nullable Object] */; +val* var_152 /* var : ArrayIterator[MParameter] */; +short int var153 /* : Bool */; +val* var154 /* : nullable Object */; val* var_param /* var param: MParameter */; -val* var196 /* : MType */; -val* var198 /* : MType */; +val* var155 /* : MType */; +val* var157 /* : MType */; val* var_ret_type /* var ret_type: MType */; -val* var199 /* : MParameter */; -val* var200 /* : String */; -val* var202 /* : String */; -short int var203 /* : Bool */; +val* var158 /* : MParameter */; +val* var159 /* : String */; +val* var161 /* : String */; +short int var162 /* : Bool */; +int cltype163; +int idtype164; val* var_mparameter /* var mparameter: MParameter */; -val* var206 /* : nullable MPropDef */; -val* var208 /* : nullable MPropDef */; -val* var209 /* : MProperty */; -val* var211 /* : MProperty */; -short int var212 /* : Bool */; -int cltype213; -int idtype214; -val* var215 /* : nullable MPropDef */; -val* var217 /* : nullable MPropDef */; -val* var218 /* : null */; -short int var219 /* : Bool */; -short int var220 /* : Bool */; -short int var222 /* : Bool */; -short int var224 /* : Bool */; +val* var166 /* : nullable MPropDef */; +val* var168 /* : nullable MPropDef */; +val* var169 /* : MProperty */; +val* var171 /* : MProperty */; +val* var172 /* : nullable MPropDef */; +val* var174 /* : nullable MPropDef */; +val* var175 /* : MProperty */; +val* var177 /* : MProperty */; +short int var179 /* : Bool */; +int cltype180; +int idtype181; +val* var182 /* : nullable MMethodDef */; +val* var184 /* : nullable MMethodDef */; +val* var_mreadpropdef /* var mreadpropdef: nullable MMethodDef */; +short int var185 /* : Bool */; +short int var186 /* : Bool */; +short int var187 /* : Bool */; +short int var189 /* : Bool */; +short int var191 /* : Bool */; +short int var_192 /* var : Bool */; +val* var193 /* : nullable MSignature */; +val* var195 /* : nullable MSignature */; +short int var196 /* : Bool */; +short int var197 /* : Bool */; +short int var199 /* : Bool */; +short int var201 /* : Bool */; +short int var202 /* : Bool */; +short int var204 /* : Bool */; +static val* varonce205; +val* var206 /* : String */; +char* var207 /* : NativeString */; +val* var208 /* : FlatString */; +val* var209 /* : nullable AAnnotation */; +val* var_atlateinit /* var atlateinit: nullable AAnnotation */; +short int var210 /* : Bool */; +short int var211 /* : Bool */; +val* var_other213 /* var other: nullable Object */; +short int var214 /* : Bool */; +short int var215 /* : Bool */; +val* var216 /* : MProperty */; +val* var218 /* : MProperty */; +val* var219 /* : MProperty */; +val* var221 /* : MProperty */; +short int var223 /* : Bool */; short int var225 /* : Bool */; -short int var227 /* : Bool */; -static val* varonce228; +val* var226 /* : MProperty */; +val* var228 /* : MProperty */; val* var229 /* : String */; -char* var230 /* : NativeString */; -long var231 /* : Int */; -val* var232 /* : FlatString */; -val* var233 /* : nullable AAnnotation */; -val* var_atautoinit /* var atautoinit: nullable AAnnotation */; -val* var234 /* : null */; -short int var235 /* : Bool */; -short int var236 /* : Bool */; -val* var_other238 /* var other: nullable Object */; +val* var231 /* : String */; +val* var_paramname /* var paramname: String */; +val* var232 /* : nullable MSignature */; +val* var234 /* : nullable MSignature */; +val* var235 /* : nullable MType */; +val* var237 /* : nullable MType */; +val* var_ret_type238 /* var ret_type: nullable MType */; short int var239 /* : Bool */; short int var240 /* : Bool */; -val* var241 /* : nullable MMethodDef */; -val* var243 /* : nullable MMethodDef */; -val* var244 /* : MProperty */; -val* var246 /* : MProperty */; -short int var247 /* : Bool */; -short int var249 /* : Bool */; -val* var250 /* : nullable MPropDef */; -val* var252 /* : nullable MPropDef */; -val* var253 /* : MProperty */; -val* var255 /* : MProperty */; -val* var256 /* : String */; -val* var258 /* : String */; -long var259 /* : Int */; -val* var260 /* : Text */; -val* var_paramname /* var paramname: String */; -val* var261 /* : nullable MPropDef */; -val* var263 /* : nullable MPropDef */; -val* var264 /* : nullable MType */; -val* var266 /* : nullable MType */; -val* var_ret_type267 /* var ret_type: nullable MType */; -val* var268 /* : null */; -short int var269 /* : Bool */; -short int var270 /* : Bool */; -short int var272 /* : Bool */; -short int var274 /* : Bool */; -val* var275 /* : MParameter */; -short int var276 /* : Bool */; -val* var_mparameter277 /* var mparameter: MParameter */; -val* var278 /* : nullable MMethodDef */; -val* var280 /* : nullable MMethodDef */; +short int var242 /* : Bool */; +short int var244 /* : Bool */; +val* var245 /* : MParameter */; +short int var246 /* : Bool */; +int cltype247; +int idtype248; +val* var_mparameter249 /* var mparameter: MParameter */; +val* var250 /* : nullable MMethodDef */; +val* var252 /* : nullable MMethodDef */; val* var_msetter /* var msetter: nullable MMethodDef */; -val* var281 /* : null */; -short int var282 /* : Bool */; +short int var253 /* : Bool */; +short int var254 /* : Bool */; +short int var256 /* : Bool */; +short int var258 /* : Bool */; +val* var259 /* : nullable MPropDef */; +val* var261 /* : nullable MPropDef */; +val* var262 /* : MProperty */; +val* var264 /* : MProperty */; +val* var265 /* : nullable MPropDef */; +val* var267 /* : nullable MPropDef */; +val* var268 /* : MProperty */; +val* var270 /* : MProperty */; +val* var272 /* : MProperty */; +val* var274 /* : MProperty */; +val* var275 /* : MProperty */; +val* var277 /* : MProperty */; +val* var280 /* : nullable MMethod */; +val* var282 /* : nullable MMethod */; short int var283 /* : Bool */; -short int var285 /* : Bool */; -short int var287 /* : Bool */; -val* var288 /* : nullable MPropDef */; -val* var290 /* : nullable MPropDef */; -val* var291 /* : MProperty */; -val* var293 /* : MProperty */; -val* var294 /* : MProperty */; -val* var296 /* : MProperty */; -val* var299 /* : nullable MMethod */; -val* var301 /* : nullable MMethod */; -val* var302 /* : null */; -short int var303 /* : Bool */; -short int var304 /* : Bool */; -short int var306 /* : Bool */; -short int var308 /* : Bool */; -val* var309 /* : nullable MMethod */; -val* var311 /* : nullable MMethod */; -val* var312 /* : MModule */; -val* var314 /* : MModule */; -val* var315 /* : MClassType */; -val* var317 /* : MClassType */; -val* var318 /* : Array[MPropDef] */; +short int var284 /* : Bool */; +short int var286 /* : Bool */; +short int var288 /* : Bool */; +val* var289 /* : nullable MMethod */; +val* var291 /* : nullable MMethod */; +val* var292 /* : MModule */; +val* var294 /* : MModule */; +val* var295 /* : MClassType */; +val* var297 /* : MClassType */; +val* var298 /* : Array[MPropDef] */; val* var_spropdefs /* var spropdefs: Array[MMethodDef] */; -short int var319 /* : Bool */; -val* var320 /* : ToolContext */; -val* var322 /* : ToolContext */; -val* var323 /* : Location */; -val* var325 /* : Location */; -static val* varonce326; +short int var299 /* : Bool */; +val* var300 /* : ToolContext */; +val* var302 /* : ToolContext */; +val* var303 /* : Location */; +val* var305 /* : Location */; +val* var307 /* : NativeArray[String] */; +static val* varonce306; +static val* varonce308; +val* var309 /* : String */; +char* var310 /* : NativeString */; +val* var311 /* : FlatString */; +static val* varonce312; +val* var313 /* : String */; +char* var314 /* : NativeString */; +val* var315 /* : FlatString */; +static val* varonce316; +val* var317 /* : String */; +char* var318 /* : NativeString */; +val* var319 /* : FlatString */; +val* var320 /* : String */; +val* var321 /* : nullable MMethod */; +val* var323 /* : nullable MMethod */; +val* var324 /* : MClassDef */; +val* var326 /* : MClassDef */; val* var327 /* : String */; -char* var328 /* : NativeString */; -long var329 /* : Int */; -val* var330 /* : FlatString */; -static val* varonce331; -val* var332 /* : String */; -char* var333 /* : NativeString */; -long var334 /* : Int */; -val* var335 /* : FlatString */; -val* var336 /* : nullable MMethod */; -val* var338 /* : nullable MMethod */; -val* var339 /* : MClassDef */; -val* var341 /* : MClassDef */; -static val* varonce342; -val* var343 /* : String */; -char* var344 /* : NativeString */; -long var345 /* : Int */; -val* var346 /* : FlatString */; -val* var347 /* : Array[Object] */; -long var348 /* : Int */; -val* var349 /* : NativeArray[Object] */; -val* var350 /* : String */; -val* var351 /* : nullable Object */; -val* var_longest /* var longest: MMethodDef */; -long var352 /* : Int */; -long var354 /* : Int */; -long var355 /* : Int */; -short int var356 /* : Bool */; -short int var358 /* : Bool */; -int cltype359; -int idtype360; -const char* var_class_name; -short int var361 /* : Bool */; -val* var_362 /* var : Array[MMethodDef] */; -val* var363 /* : ArrayIterator[nullable Object] */; -val* var_364 /* var : ArrayIterator[MMethodDef] */; -short int var365 /* : Bool */; -val* var366 /* : nullable Object */; -val* var_spd /* var spd: MMethodDef */; -val* var367 /* : Array[MProperty] */; -val* var369 /* : Array[MProperty] */; -long var370 /* : Int */; -long var372 /* : Int */; -val* var373 /* : Array[MProperty] */; -val* var375 /* : Array[MProperty] */; -long var376 /* : Int */; -long var378 /* : Int */; -short int var379 /* : Bool */; -short int var381 /* : Bool */; -int cltype382; -int idtype383; -const char* var_class_name384; -short int var385 /* : Bool */; -val* var_388 /* var : Array[MMethodDef] */; -val* var389 /* : ArrayIterator[nullable Object] */; -val* var_390 /* var : ArrayIterator[MMethodDef] */; +val* var328 /* : String */; +val* var329 /* : Message */; +static val* varonce330; +val* var331 /* : String */; +char* var332 /* : NativeString */; +val* var333 /* : FlatString */; +val* var334 /* : nullable AAnnotation */; +val* var_autoinit /* var autoinit: nullable AAnnotation */; +static val* varonce335; +val* var336 /* : String */; +char* var337 /* : NativeString */; +val* var338 /* : FlatString */; +val* var339 /* : nullable AAnnotation */; +val* var_noautoinit /* var noautoinit: nullable AAnnotation */; +short int var340 /* : Bool */; +short int var341 /* : Bool */; +short int var343 /* : Bool */; +short int var344 /* : Bool */; +short int var345 /* : Bool */; +short int var346 /* : Bool */; +short int var348 /* : Bool */; +short int var349 /* : Bool */; +static val* varonce350; +val* var351 /* : String */; +char* var352 /* : NativeString */; +val* var353 /* : FlatString */; +val* var354 /* : ANodes[AExpr] */; +val* var356 /* : ANodes[AExpr] */; +short int var357 /* : Bool */; +static val* varonce358; +val* var359 /* : String */; +char* var360 /* : NativeString */; +val* var361 /* : FlatString */; +val* var362 /* : ANodes[AExpr] */; +val* var364 /* : ANodes[AExpr] */; +val* var_365 /* var : ANodes[AExpr] */; +val* var366 /* : Iterator[ANode] */; +val* var_367 /* var : Iterator[AExpr] */; +short int var368 /* : Bool */; +val* var369 /* : nullable Object */; +val* var_narg /* var narg: AExpr */; +val* var370 /* : nullable String */; +val* var_id /* var id: nullable String */; +short int var371 /* : Bool */; +short int var372 /* : Bool */; +static val* varonce373; +val* var374 /* : String */; +char* var375 /* : NativeString */; +val* var376 /* : FlatString */; +static val* varonce377; +val* var378 /* : String */; +char* var379 /* : NativeString */; +val* var380 /* : FlatString */; +val* var381 /* : String */; +val* var382 /* : nullable MProperty */; +val* var_p /* var p: nullable MProperty */; +short int var383 /* : Bool */; +short int var384 /* : Bool */; +short int var386 /* : Bool */; +short int var388 /* : Bool */; +val* var389 /* : nullable MProperty */; +short int var390 /* : Bool */; short int var391 /* : Bool */; -val* var392 /* : nullable Object */; -val* var_spd393 /* var spd: MMethodDef */; -long var394 /* : Int */; -long var_i /* var i: Int */; -val* var395 /* : Array[MProperty] */; -val* var397 /* : Array[MProperty] */; -val* var_398 /* var : Array[MProperty] */; -val* var399 /* : ArrayIterator[nullable Object] */; -val* var_400 /* var : ArrayIterator[MProperty] */; -short int var401 /* : Bool */; -val* var402 /* : nullable Object */; -val* var_p /* var p: MProperty */; -val* var403 /* : Array[MProperty] */; -val* var405 /* : Array[MProperty] */; -val* var406 /* : nullable Object */; +short int var393 /* : Bool */; +short int var395 /* : Bool */; +val* var397 /* : NativeArray[String] */; +static val* varonce396; +static val* varonce398; +val* var399 /* : String */; +char* var400 /* : NativeString */; +val* var401 /* : FlatString */; +static val* varonce402; +val* var403 /* : String */; +char* var404 /* : NativeString */; +val* var405 /* : FlatString */; +val* var406 /* : String */; short int var407 /* : Bool */; short int var409 /* : Bool */; short int var410 /* : Bool */; +val* var412 /* : NativeArray[String] */; static val* varonce411; -val* var412 /* : String */; -char* var413 /* : NativeString */; -long var414 /* : Int */; -val* var415 /* : FlatString */; -static val* varonce416; -val* var417 /* : String */; -char* var418 /* : NativeString */; -long var419 /* : Int */; +static val* varonce413; +val* var414 /* : String */; +char* var415 /* : NativeString */; +val* var416 /* : FlatString */; +static val* varonce417; +val* var418 /* : String */; +char* var419 /* : NativeString */; val* var420 /* : FlatString */; -val* var421 /* : Array[MProperty] */; -val* var423 /* : Array[MProperty] */; -static val* varonce424; -val* var425 /* : String */; -char* var426 /* : NativeString */; -long var427 /* : Int */; -val* var428 /* : FlatString */; -val* var429 /* : String */; -static val* varonce430; -val* var431 /* : String */; -char* var432 /* : NativeString */; -long var433 /* : Int */; -val* var434 /* : FlatString */; -static val* varonce435; -val* var436 /* : String */; -char* var437 /* : NativeString */; -long var438 /* : Int */; -val* var439 /* : FlatString */; -val* var440 /* : Array[MProperty] */; -val* var442 /* : Array[MProperty] */; -static val* varonce443; -val* var444 /* : String */; -char* var445 /* : NativeString */; -long var446 /* : Int */; -val* var447 /* : FlatString */; -val* var448 /* : String */; -static val* varonce449; -val* var450 /* : String */; -char* var451 /* : NativeString */; -long var452 /* : Int */; -val* var453 /* : FlatString */; -val* var454 /* : Array[Object] */; -long var455 /* : Int */; -val* var456 /* : NativeArray[Object] */; -val* var457 /* : String */; -long var458 /* : Int */; -long var459 /* : Int */; -short int var461 /* : Bool */; -int cltype462; -int idtype463; -const char* var_class_name464; -long var465 /* : Int */; -short int var470 /* : Bool */; -short int var471 /* : Bool */; -long var472 /* : Int */; -long var474 /* : Int */; -long var475 /* : Int */; +val* var421 /* : String */; +val* var422 /* : String */; +val* var423 /* : MPropDef */; +val* var425 /* : MPropDef */; +val* var_pd /* var pd: MPropDef */; +short int var426 /* : Bool */; +int cltype427; +int idtype428; +val* var429 /* : nullable MSignature */; +val* var431 /* : nullable MSignature */; +val* var432 /* : MClass */; +val* var434 /* : MClass */; +val* var435 /* : MClassType */; +val* var437 /* : MClassType */; +val* var438 /* : MClassType */; +val* var440 /* : MClassType */; +val* var441 /* : MModule */; +val* var443 /* : MModule */; +val* var444 /* : MSignature */; +val* var_sig445 /* var sig: MSignature */; +val* var446 /* : Array[MParameter] */; +val* var448 /* : Array[MParameter] */; +val* var_449 /* var : Array[MParameter] */; +val* var450 /* : ArrayIterator[nullable Object] */; +val* var_451 /* var : ArrayIterator[MParameter] */; +short int var452 /* : Bool */; +val* var453 /* : nullable Object */; +val* var_param454 /* var param: MParameter */; +short int var455 /* : Bool */; +short int var456 /* : Bool */; +short int var458 /* : Bool */; +short int var459 /* : Bool */; +short int var_460 /* var : Bool */; +val* var461 /* : MType */; +val* var463 /* : MType */; +short int var464 /* : Bool */; +int cltype465; +int idtype466; +val* var467 /* : MParameter */; +val* var468 /* : String */; +val* var470 /* : String */; +val* var471 /* : MType */; +val* var473 /* : MType */; +short int var474 /* : Bool */; short int var476 /* : Bool */; -short int var478 /* : Bool */; -short int var_479 /* var : Bool */; -short int var480 /* : Bool */; -short int var_481 /* var : Bool */; -val* var482 /* : null */; +val* var479 /* : nullable Object */; +val* var_longest /* var longest: MMethodDef */; +long var480 /* : Int */; +long var482 /* : Int */; short int var483 /* : Bool */; -short int var484 /* : Bool */; -short int var486 /* : Bool */; +short int var485 /* : Bool */; +int cltype486; +int idtype487; +const char* var_class_name; short int var488 /* : Bool */; -val* var489 /* : ToolContext */; -val* var491 /* : ToolContext */; -static val* varonce492; -val* var493 /* : String */; -char* var494 /* : NativeString */; -long var495 /* : Int */; -val* var496 /* : FlatString */; -val* var497 /* : Array[Object] */; -long var498 /* : Int */; -val* var499 /* : NativeArray[Object] */; -val* var500 /* : String */; -long var501 /* : Int */; -val* var502 /* : MClass */; -val* var504 /* : MClass */; -val* var506 /* : Array[MProperty] */; -val* var508 /* : Array[MProperty] */; -long var509 /* : Int */; -long var511 /* : Int */; -long var512 /* : Int */; -short int var513 /* : Bool */; +val* var_489 /* var : Array[MMethodDef] */; +val* var490 /* : ArrayIterator[nullable Object] */; +val* var_491 /* var : ArrayIterator[MMethodDef] */; +short int var492 /* : Bool */; +val* var493 /* : nullable Object */; +val* var_spd /* var spd: MMethodDef */; +val* var494 /* : Array[MProperty] */; +val* var496 /* : Array[MProperty] */; +long var497 /* : Int */; +long var499 /* : Int */; +val* var500 /* : Array[MProperty] */; +val* var502 /* : Array[MProperty] */; +long var503 /* : Int */; +long var505 /* : Int */; +short int var506 /* : Bool */; +short int var508 /* : Bool */; +int cltype509; +int idtype510; +const char* var_class_name511; +short int var512 /* : Bool */; +short int var514 /* : Bool */; short int var515 /* : Bool */; -int cltype516; -int idtype517; -const char* var_class_name518; +short int var517 /* : Bool */; short int var519 /* : Bool */; -val* var520 /* : nullable MSignature */; -val* var522 /* : nullable MSignature */; -val* var523 /* : Array[MParameter] */; -val* var525 /* : Array[MParameter] */; +val* var_520 /* var : Array[MMethodDef] */; +val* var521 /* : ArrayIterator[nullable Object] */; +val* var_522 /* var : ArrayIterator[MMethodDef] */; +short int var523 /* : Bool */; +val* var524 /* : nullable Object */; +val* var_spd525 /* var spd: MMethodDef */; +long var_i /* var i: Int */; val* var526 /* : Array[MProperty] */; val* var528 /* : Array[MProperty] */; -val* var529 /* : null */; -short int var530 /* : Bool */; -short int var531 /* : Bool */; -short int var533 /* : Bool */; -short int var534 /* : Bool */; +val* var_529 /* var : Array[MProperty] */; +val* var530 /* : ArrayIterator[nullable Object] */; +val* var_531 /* var : ArrayIterator[MProperty] */; +short int var532 /* : Bool */; +val* var533 /* : nullable Object */; +val* var_p534 /* var p: MProperty */; val* var535 /* : Array[MProperty] */; val* var537 /* : Array[MProperty] */; -val* var538 /* : MSignature */; -val* var539 /* : null */; -val* var_msignature540 /* var msignature: MSignature */; -val* var542 /* : ToolContext */; -val* var544 /* : ToolContext */; +val* var538 /* : nullable Object */; +short int var539 /* : Bool */; +short int var541 /* : Bool */; +short int var542 /* : Bool */; +val* var544 /* : NativeArray[String] */; +static val* varonce543; static val* varonce545; val* var546 /* : String */; char* var547 /* : NativeString */; -long var548 /* : Int */; -val* var549 /* : FlatString */; -val* var550 /* : Array[Object] */; -long var551 /* : Int */; -val* var552 /* : NativeArray[Object] */; -val* var553 /* : String */; -long var554 /* : Int */; -val* var555 /* : MClass */; -val* var557 /* : MClass */; -val* var559 /* : nullable MMethod */; -val* var561 /* : nullable MMethod */; -val* var_mprop562 /* var mprop: MMethod */; -val* var563 /* : MMethodDef */; -val* var564 /* : Location */; -val* var566 /* : Location */; -val* var_mpropdef567 /* var mpropdef: MMethodDef */; -short int var568 /* : Bool */; -val* var570 /* : Array[MProperty] */; -val* var572 /* : Array[MProperty] */; -val* var573 /* : MSignature */; -val* var574 /* : null */; -val* var_msignature575 /* var msignature: MSignature */; -val* var577 /* : MSignature */; -val* var578 /* : Array[MParameter] */; -val* var579 /* : null */; -val* var582 /* : ToolContext */; -val* var584 /* : ToolContext */; -static val* varonce585; -val* var586 /* : String */; -char* var587 /* : NativeString */; -long var588 /* : Int */; -val* var589 /* : FlatString */; -val* var590 /* : Array[Object] */; -long var591 /* : Int */; -val* var592 /* : NativeArray[Object] */; -val* var593 /* : String */; -long var594 /* : Int */; -val* var595 /* : MClass */; -val* var597 /* : MClass */; +val* var548 /* : FlatString */; +static val* varonce549; +val* var550 /* : String */; +char* var551 /* : NativeString */; +val* var552 /* : FlatString */; +static val* varonce553; +val* var554 /* : String */; +char* var555 /* : NativeString */; +val* var556 /* : FlatString */; +static val* varonce557; +val* var558 /* : String */; +char* var559 /* : NativeString */; +val* var560 /* : FlatString */; +static val* varonce561; +val* var562 /* : String */; +char* var563 /* : NativeString */; +val* var564 /* : FlatString */; +val* var565 /* : String */; +val* var566 /* : Array[MProperty] */; +val* var568 /* : Array[MProperty] */; +static val* varonce569; +val* var570 /* : String */; +char* var571 /* : NativeString */; +val* var572 /* : FlatString */; +val* var573 /* : String */; +val* var574 /* : String */; +val* var575 /* : Array[MProperty] */; +val* var577 /* : Array[MProperty] */; +static val* varonce578; +val* var579 /* : String */; +char* var580 /* : NativeString */; +val* var581 /* : FlatString */; +val* var582 /* : String */; +val* var583 /* : String */; +long var584 /* : Int */; +short int var586 /* : Bool */; +int cltype587; +int idtype588; +const char* var_class_name589; +long var590 /* : Int */; +short int var593 /* : Bool */; +short int var594 /* : Bool */; +short int var596 /* : Bool */; +short int var597 /* : Bool */; +short int var598 /* : Bool */; +short int var599 /* : Bool */; +short int var_600 /* var : Bool */; +val* var601 /* : Array[MProperty] */; +val* var603 /* : Array[MProperty] */; +short int var604 /* : Bool */; +static val* varonce605; +val* var606 /* : String */; +char* var607 /* : NativeString */; +val* var608 /* : FlatString */; +static val* varonce609; +val* var610 /* : String */; +char* var611 /* : NativeString */; +val* var612 /* : FlatString */; +short int var613 /* : Bool */; +short int var614 /* : Bool */; +long var615 /* : Int */; +long var617 /* : Int */; +short int var618 /* : Bool */; +short int var620 /* : Bool */; +short int var_621 /* var : Bool */; +short int var622 /* : Bool */; +short int var_623 /* var : Bool */; +short int var624 /* : Bool */; +short int var625 /* : Bool */; +short int var627 /* : Bool */; +short int var629 /* : Bool */; +val* var630 /* : ToolContext */; +val* var632 /* : ToolContext */; +val* var634 /* : NativeArray[String] */; +static val* varonce633; +static val* varonce635; +val* var636 /* : String */; +char* var637 /* : NativeString */; +val* var638 /* : FlatString */; +val* var639 /* : String */; +val* var640 /* : String */; +val* var641 /* : String */; +val* var642 /* : MClass */; +val* var644 /* : MClass */; +val* var646 /* : Array[MProperty] */; +val* var648 /* : Array[MProperty] */; +long var649 /* : Int */; +long var651 /* : Int */; +short int var652 /* : Bool */; +short int var654 /* : Bool */; +int cltype655; +int idtype656; +const char* var_class_name657; +short int var658 /* : Bool */; +val* var659 /* : nullable MSignature */; +val* var661 /* : nullable MSignature */; +val* var662 /* : Array[MParameter] */; +val* var664 /* : Array[MParameter] */; +val* var665 /* : Array[MProperty] */; +val* var667 /* : Array[MProperty] */; +short int var668 /* : Bool */; +short int var669 /* : Bool */; +short int var671 /* : Bool */; +short int var672 /* : Bool */; +val* var673 /* : Array[MProperty] */; +val* var675 /* : Array[MProperty] */; +val* var676 /* : MSignature */; +val* var_msignature677 /* var msignature: MSignature */; +val* var679 /* : ToolContext */; +val* var681 /* : ToolContext */; +val* var683 /* : NativeArray[String] */; +static val* varonce682; +static val* varonce684; +val* var685 /* : String */; +char* var686 /* : NativeString */; +val* var687 /* : FlatString */; +val* var688 /* : String */; +val* var689 /* : String */; +val* var690 /* : String */; +val* var691 /* : String */; +val* var692 /* : MClass */; +val* var694 /* : MClass */; +val* var696 /* : nullable MMethod */; +val* var698 /* : nullable MMethod */; +val* var_mprop699 /* var mprop: MMethod */; +val* var700 /* : MMethodDef */; +val* var701 /* : Location */; +val* var703 /* : Location */; +val* var_mpropdef704 /* var mpropdef: MMethodDef */; +val* var706 /* : Array[MProperty] */; +val* var708 /* : Array[MProperty] */; +val* var709 /* : MSignature */; +val* var_msignature710 /* var msignature: MSignature */; +val* var712 /* : MSignature */; +val* var713 /* : Array[MParameter] */; +val* var716 /* : ToolContext */; +val* var718 /* : ToolContext */; +val* var720 /* : NativeArray[String] */; +static val* varonce719; +static val* varonce721; +val* var722 /* : String */; +char* var723 /* : NativeString */; +val* var724 /* : FlatString */; +val* var725 /* : String */; +val* var726 /* : String */; +val* var727 /* : String */; +val* var728 /* : String */; +val* var729 /* : MClass */; +val* var731 /* : MClass */; var_nclassdef = p0; { { /* Inline modelize_class#AClassdef#mclassdef (var_nclassdef) on */ @@ -1372,8 +1805,8 @@ RET_LABEL1:(void)0; } if (unlikely(var == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 120); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 139); +fatal_exit(1); } var_mclassdef = var; { @@ -1389,8 +1822,8 @@ goto RET_LABEL; var8 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ if (unlikely(var8 == 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); } var6 = var8; RET_LABEL7:(void)0; @@ -1401,8015 +1834,7914 @@ RET_LABEL7:(void)0; var11 = var6->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ if (unlikely(var11 == 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); } var9 = var11; RET_LABEL10:(void)0; } } -if (varonce) { +if (likely(varonce!=NULL)) { var12 = varonce; } else { var13 = "Object"; -var14 = 6; -var15 = standard___standard__NativeString___to_s_with_length(var13, var14); -var12 = var15; +var14 = standard___standard__NativeString___to_s_with_length(var13, 6l); +var12 = var14; varonce = var12; } { -var16 = ((short int (*)(val* self, val* p0))(var9->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var9, var12) /* == on */; +var15 = ((short int(*)(val* self, val* p0))(var9->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var9, var12); /* == on */ } -var_ = var16; -if (var16){ +var_ = var15; +if (var15){ { { /* Inline modelize_property#ModelBuilder#the_root_init_mmethod (self) on */ -var19 = self->attrs[COLOR_nit__modelize_property__ModelBuilder___the_root_init_mmethod].val; /* _the_root_init_mmethod on */ -var17 = var19; -RET_LABEL18:(void)0; +var18 = self->attrs[COLOR_nit__modelize_property__ModelBuilder___the_root_init_mmethod].val; /* _the_root_init_mmethod on */ +var16 = var18; +RET_LABEL17:(void)0; } } -var20 = NULL; -if (var17 == NULL) { -var21 = 1; /* is null */ +if (var16 == NULL) { +var19 = 1; /* is null */ } else { -var21 = 0; /* arg is null but recv is not */ +var19 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var17,var20) on */ -var_other = var20; +{ /* Inline kernel#Object#== (var16,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var17,var_other) on */ -var26 = var17 == var_other; -var24 = var26; -goto RET_LABEL25; -RET_LABEL25:(void)0; -} -} +{ /* Inline kernel#Object#is_same_instance (var16,var_other) on */ +var24 = var16 == var_other; var22 = var24; goto RET_LABEL23; RET_LABEL23:(void)0; } -var21 = var22; } -var5 = var21; +var20 = var22; +goto RET_LABEL21; +RET_LABEL21:(void)0; +} +var19 = var20; +} +var5 = var19; } else { var5 = var_; } if (var5){ -var27 = NEW_nit__MMethod(&type_nit__MMethod); -if (varonce28) { -var29 = varonce28; +var25 = NEW_nit__MMethod(&type_nit__MMethod); +if (likely(varonce26!=NULL)) { +var27 = varonce26; } else { -var30 = "init"; -var31 = 4; -var32 = standard___standard__NativeString___to_s_with_length(var30, var31); -var29 = var32; -varonce28 = var29; +var28 = "init"; +var29 = standard___standard__NativeString___to_s_with_length(var28, 4l); +var27 = var29; +varonce26 = var27; } { { /* Inline model#MClassDef#mclass (var_mclassdef) on */ -var35 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var35 == NULL)) { +var32 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var32 == 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); } -var33 = var35; -RET_LABEL34:(void)0; +var30 = var32; +RET_LABEL31:(void)0; } } { -{ /* Inline model#MClass#visibility (var33) on */ -var38 = var33->attrs[COLOR_nit__model__MClass___visibility].val; /* _visibility on */ -if (unlikely(var38 == NULL)) { +{ /* Inline model#MClass#visibility (var30) on */ +var35 = var30->attrs[COLOR_nit__model__MClass___visibility].val; /* _visibility on */ +if (unlikely(var35 == 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); } -var36 = var38; -RET_LABEL37:(void)0; +var33 = var35; +RET_LABEL34:(void)0; } } { -((void (*)(val* self, val* p0))(var27->class->vft[COLOR_nit__model__MProperty__intro_mclassdef_61d]))(var27, var_mclassdef) /* intro_mclassdef= on */; +((void(*)(val* self, val* p0))(var25->class->vft[COLOR_nit__model__MProperty__intro_mclassdef_61d]))(var25, var_mclassdef); /* intro_mclassdef= on */ } { -((void (*)(val* self, val* p0))(var27->class->vft[COLOR_nit__model__MProperty__name_61d]))(var27, var29) /* name= on */; +((void(*)(val* self, val* p0))(var25->class->vft[COLOR_nit__model__MProperty__name_61d]))(var25, var27); /* name= on */ } { -((void (*)(val* self, val* p0))(var27->class->vft[COLOR_nit__model__MProperty__visibility_61d]))(var27, var36) /* visibility= on */; +((void(*)(val* self, val* p0))(var25->class->vft[COLOR_nit__model__MProperty__visibility_61d]))(var25, var33); /* visibility= on */ } { -((void (*)(val* self))(var27->class->vft[COLOR_standard__kernel__Object__init]))(var27) /* init on */; +((void(*)(val* self))(var25->class->vft[COLOR_standard__kernel__Object__init]))(var25); /* init on */ } -var_mprop = var27; -var39 = 1; +var_mprop = var25; { -{ /* Inline model#MMethod#is_root_init= (var_mprop,var39) on */ -var_mprop->attrs[COLOR_nit__model__MMethod___is_root_init].s = var39; /* _is_root_init on */ -RET_LABEL40:(void)0; +{ /* Inline model#MMethod#is_root_init= (var_mprop,1) on */ +var_mprop->attrs[COLOR_nit__model__MMethod___is_root_init].s = 1; /* _is_root_init on */ +RET_LABEL36:(void)0; } } -var41 = NEW_nit__MMethodDef(&type_nit__MMethodDef); +var37 = NEW_nit__MMethodDef(&type_nit__MMethodDef); { { /* Inline parser_nodes#ANode#location (var_nclassdef) on */ -var44 = var_nclassdef->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ -if (unlikely(var44 == NULL)) { +var40 = var_nclassdef->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var40 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 23); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24); +fatal_exit(1); } -var42 = var44; -RET_LABEL43:(void)0; +var38 = var40; +RET_LABEL39:(void)0; } } { -((void (*)(val* self, val* p0))(var41->class->vft[COLOR_nit__model__MPropDef__mclassdef_61d]))(var41, var_mclassdef) /* mclassdef= on */; +((void(*)(val* self, val* p0))(var37->class->vft[COLOR_nit__model__MPropDef__mclassdef_61d]))(var37, var_mclassdef); /* mclassdef= on */ } { -((void (*)(val* self, val* p0))(var41->class->vft[COLOR_nit__model__MPropDef__mproperty_61d]))(var41, var_mprop) /* mproperty= on */; +((void(*)(val* self, val* p0))(var37->class->vft[COLOR_nit__model__MPropDef__mproperty_61d]))(var37, var_mprop); /* mproperty= on */ } { -((void (*)(val* self, val* p0))(var41->class->vft[COLOR_nit__model__MPropDef__location_61d]))(var41, var42) /* location= on */; +((void(*)(val* self, val* p0))(var37->class->vft[COLOR_nit__model__MPropDef__location_61d]))(var37, var38); /* location= on */ } { -((void (*)(val* self))(var41->class->vft[COLOR_standard__kernel__Object__init]))(var41) /* init on */; +((void(*)(val* self))(var37->class->vft[COLOR_standard__kernel__Object__init]))(var37); /* init on */ } -var_mpropdef = var41; -var45 = NEW_standard__Array(&type_standard__Array__nit__MParameter); +var_mpropdef = var37; +var41 = NEW_standard__Array(&type_standard__Array__nit__MParameter); { -standard___standard__Array___standard__kernel__Object__init(var45); /* Direct call array#Array#init on */ +standard___standard__Array___standard__kernel__Object__init(var41); /* Direct call array#Array#init on */ } -var_mparameters = var45; -var46 = NEW_nit__MSignature(&type_nit__MSignature); -var47 = NULL; +var_mparameters = var41; +var42 = NEW_nit__MSignature(&type_nit__MSignature); { -((void (*)(val* self, val* p0))(var46->class->vft[COLOR_nit__model__MSignature__mparameters_61d]))(var46, var_mparameters) /* mparameters= on */; +((void(*)(val* self, val* p0))(var42->class->vft[COLOR_nit__model__MSignature__mparameters_61d]))(var42, var_mparameters); /* mparameters= on */ } { -((void (*)(val* self, val* p0))(var46->class->vft[COLOR_nit__model__MSignature__return_mtype_61d]))(var46, var47) /* return_mtype= on */; +((void(*)(val* self, val* p0))(var42->class->vft[COLOR_nit__model__MSignature__return_mtype_61d]))(var42, ((val*)NULL)); /* return_mtype= on */ } { -((void (*)(val* self))(var46->class->vft[COLOR_standard__kernel__Object__init]))(var46) /* init on */; +((void(*)(val* self))(var42->class->vft[COLOR_standard__kernel__Object__init]))(var42); /* init on */ } -var_msignature = var46; +var_msignature = var42; { { /* Inline model#MMethodDef#msignature= (var_mpropdef,var_msignature) on */ var_mpropdef->attrs[COLOR_nit__model__MMethodDef___msignature].val = var_msignature; /* _msignature on */ -RET_LABEL48:(void)0; +RET_LABEL43:(void)0; } } { { /* Inline model#MMethodDef#new_msignature= (var_mpropdef,var_msignature) on */ var_mpropdef->attrs[COLOR_nit__model__MMethodDef___new_msignature].val = var_msignature; /* _new_msignature on */ -RET_LABEL49:(void)0; +RET_LABEL44:(void)0; } } -var50 = 1; { -{ /* Inline model#MMethod#is_init= (var_mprop,var50) on */ -var_mprop->attrs[COLOR_nit__model__MMethod___is_init].s = var50; /* _is_init on */ -RET_LABEL51:(void)0; +{ /* Inline model#MMethod#is_init= (var_mprop,1) on */ +var_mprop->attrs[COLOR_nit__model__MMethod___is_init].s = 1; /* _is_init on */ +RET_LABEL45:(void)0; } } { { /* Inline modelize_property#AClassdef#mfree_init= (var_nclassdef,var_mpropdef) on */ var_nclassdef->attrs[COLOR_nit__modelize_property__AClassdef___mfree_init].val = var_mpropdef; /* _mfree_init on */ -RET_LABEL52:(void)0; +RET_LABEL46:(void)0; } } { { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ -var55 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var55 == NULL)) { +var49 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var49 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +fatal_exit(1); } -var53 = var55; -RET_LABEL54:(void)0; +var47 = var49; +RET_LABEL48:(void)0; } } -if (varonce56) { -var57 = varonce56; +if (unlikely(varonce50==NULL)) { +var51 = NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String); +if (likely(varonce52!=NULL)) { +var53 = varonce52; } else { -var58 = " gets a free empty constructor "; -var59 = 31; -var60 = standard___standard__NativeString___to_s_with_length(var58, var59); -var57 = var60; -varonce56 = var57; -} -var61 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var61 = array_instance Array[Object] */ -var62 = 4; -var63 = NEW_standard__NativeArray(var62, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var63)->values[0] = (val*) var_mclassdef; -((struct instance_standard__NativeArray*)var63)->values[1] = (val*) var57; -((struct instance_standard__NativeArray*)var63)->values[2] = (val*) var_mpropdef; -((struct instance_standard__NativeArray*)var63)->values[3] = (val*) var_msignature; -{ -((void (*)(val* self, val* p0, long p1))(var61->class->vft[COLOR_standard__array__Array__with_native]))(var61, var63, var62) /* with_native on */; +var54 = " gets a free empty constructor "; +var55 = standard___standard__NativeString___to_s_with_length(var54, 31l); +var53 = var55; +varonce52 = var53; } +((struct instance_standard__NativeArray*)var51)->values[1]=var53; +} else { +var51 = varonce50; +varonce50 = NULL; } { -var64 = ((val* (*)(val* self))(var61->class->vft[COLOR_standard__string__Object__to_s]))(var61) /* to_s on */; +var56 = ((val*(*)(val* self))(var_mclassdef->class->vft[COLOR_standard__string__Object__to_s]))(var_mclassdef); /* to_s on */ } -var65 = 3; +((struct instance_standard__NativeArray*)var51)->values[0]=var56; { -nit___nit__ToolContext___info(var53, var64, var65); /* Direct call toolcontext#ToolContext#info on */ +var57 = ((val*(*)(val* self))(var_mpropdef->class->vft[COLOR_standard__string__Object__to_s]))(var_mpropdef); /* to_s on */ } +((struct instance_standard__NativeArray*)var51)->values[2]=var57; { -{ /* Inline modelize_property#ModelBuilder#the_root_init_mmethod= (self,var_mprop) on */ -self->attrs[COLOR_nit__modelize_property__ModelBuilder___the_root_init_mmethod].val = var_mprop; /* _the_root_init_mmethod on */ -RET_LABEL66:(void)0; -} -} -goto RET_LABEL; -} else { +var58 = ((val*(*)(val* self))(var_msignature->class->vft[COLOR_standard__string__Object__to_s]))(var_msignature); /* to_s on */ } +((struct instance_standard__NativeArray*)var51)->values[3]=var58; { -{ /* Inline model#MClassDef#mclass (var_mclassdef) on */ -var69 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var69 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); -} -var67 = var69; -RET_LABEL68:(void)0; -} +var59 = ((val*(*)(val* self))(var51->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var51); /* native_to_s on */ } +varonce50 = var51; { -{ /* Inline model#MClass#kind (var67) on */ -var72 = var67->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on */ -if (unlikely(var72 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 399); -show_backtrace(1); -} -var70 = var72; -RET_LABEL71:(void)0; -} +nit___nit__ToolContext___info(var47, var59, 3l); /* Direct call toolcontext#ToolContext#info on */ } { -{ /* Inline model#MClassKind#need_init (var70) on */ -var75 = var70->attrs[COLOR_nit__model__MClassKind___need_init].s; /* _need_init on */ -var73 = var75; -RET_LABEL74:(void)0; +{ /* Inline modelize_property#ModelBuilder#the_root_init_mmethod= (self,var_mprop) on */ +self->attrs[COLOR_nit__modelize_property__ModelBuilder___the_root_init_mmethod].val = var_mprop; /* _the_root_init_mmethod on */ +RET_LABEL60:(void)0; } } -var76 = !var73; -if (var76){ goto RET_LABEL; } else { } -var77 = NULL; -var_defined_init = var77; +var_defined_init = ((val*)NULL); { { /* Inline model#MClassDef#mpropdefs (var_mclassdef) on */ -var80 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mpropdefs].val; /* _mpropdefs on */ -if (unlikely(var80 == NULL)) { +var63 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mpropdefs].val; /* _mpropdefs on */ +if (unlikely(var63 == 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); } -var78 = var80; -RET_LABEL79:(void)0; +var61 = var63; +RET_LABEL62:(void)0; } } -var_81 = var78; +var_64 = var61; { -var82 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_81); +var65 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_64); } -var_83 = var82; +var_66 = var65; for(;;) { { -var84 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_83); +var67 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_66); } -if (var84){ +if (var67){ { -var85 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_83); +var68 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_66); } -var_mpropdef86 = var85; -/* isa MMethodDef */ +var_mpropdef69 = var68; +/* isa MMethodDef */ cltype = type_nit__MMethodDef.color; idtype = type_nit__MMethodDef.id; -if(cltype >= var_mpropdef86->type->table_size) { -var87 = 0; +if(cltype >= var_mpropdef69->type->table_size) { +var70 = 0; } else { -var87 = var_mpropdef86->type->type_table[cltype] == idtype; +var70 = var_mpropdef69->type->type_table[cltype] == idtype; } -var88 = !var87; -if (var88){ +var71 = !var70; +if (var71){ goto BREAK_label; } else { } { -{ /* Inline model#MPropDef#mproperty (var_mpropdef86) on */ -var91 = var_mpropdef86->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var91 == NULL)) { +{ /* Inline model#MPropDef#mproperty (var_mpropdef69) on */ +var74 = var_mpropdef69->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); } -var89 = var91; -RET_LABEL90:(void)0; +var72 = var74; +RET_LABEL73:(void)0; } } { -{ /* Inline model#MMethod#is_init (var89) on */ -var94 = var89->attrs[COLOR_nit__model__MMethod___is_init].s; /* _is_init on */ -var92 = var94; -RET_LABEL93:(void)0; +{ /* Inline model#MMethod#is_init (var72) on */ +var77 = var72->attrs[COLOR_nit__model__MMethod___is_init].s; /* _is_init on */ +var75 = var77; +RET_LABEL76:(void)0; } } -var95 = !var92; -if (var95){ +var78 = !var75; +if (var78){ goto BREAK_label; } else { } { -{ /* Inline model#MPropDef#mproperty (var_mpropdef86) on */ -var98 = var_mpropdef86->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var98 == NULL)) { +{ /* Inline model#MPropDef#mproperty (var_mpropdef69) on */ +var81 = var_mpropdef69->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var81 == 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); } -var96 = var98; -RET_LABEL97:(void)0; +var79 = var81; +RET_LABEL80:(void)0; } } { -{ /* Inline model#MMethod#is_root_init (var96) on */ -var101 = var96->attrs[COLOR_nit__model__MMethod___is_root_init].s; /* _is_root_init on */ -var99 = var101; -RET_LABEL100:(void)0; +{ /* Inline model#MMethod#is_root_init (var79) on */ +var84 = var79->attrs[COLOR_nit__model__MMethod___is_root_init].s; /* _is_root_init on */ +var82 = var84; +RET_LABEL83:(void)0; } } -if (var99){ -var102 = NULL; +if (var82){ if (var_defined_init == NULL) { -var103 = 1; /* is null */ +var85 = 1; /* is null */ } else { -var103 = 0; /* arg is null but recv is not */ +var85 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_defined_init,var102) on */ -var_other = var102; +{ /* Inline kernel#Object#== (var_defined_init,((val*)NULL)) on */ +var_other = ((val*)NULL); { { /* Inline kernel#Object#is_same_instance (var_defined_init,var_other) on */ -var108 = var_defined_init == var_other; -var106 = var108; -goto RET_LABEL107; -RET_LABEL107:(void)0; +var90 = var_defined_init == var_other; +var88 = var90; +goto RET_LABEL89; +RET_LABEL89:(void)0; } } -var104 = var106; -goto RET_LABEL105; -RET_LABEL105:(void)0; +var86 = var88; +goto RET_LABEL87; +RET_LABEL87:(void)0; } -var103 = var104; +var85 = var86; } -if (unlikely(!var103)) { +if (unlikely(!var85)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 151); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 167); +fatal_exit(1); } -var_defined_init = var_mpropdef86; +var_defined_init = var_mpropdef69; } else { { -{ /* Inline model#MPropDef#mproperty (var_mpropdef86) on */ -var111 = var_mpropdef86->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var111 == NULL)) { +{ /* Inline model#MPropDef#mproperty (var_mpropdef69) on */ +var93 = var_mpropdef69->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var93 == 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); } -var109 = var111; -RET_LABEL110:(void)0; +var91 = var93; +RET_LABEL92:(void)0; } } { -{ /* Inline model#MProperty#name (var109) on */ -var114 = var109->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ -if (unlikely(var114 == NULL)) { +{ /* Inline model#MProperty#name (var91) on */ +var96 = var91->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ +if (unlikely(var96 == 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); } -var112 = var114; -RET_LABEL113:(void)0; +var94 = var96; +RET_LABEL95:(void)0; } } -if (varonce115) { -var116 = varonce115; +if (likely(varonce97!=NULL)) { +var98 = varonce97; } else { -var117 = "init"; -var118 = 4; -var119 = standard___standard__NativeString___to_s_with_length(var117, var118); -var116 = var119; -varonce115 = var116; +var99 = "init"; +var100 = standard___standard__NativeString___to_s_with_length(var99, 4l); +var98 = var100; +varonce97 = var98; } { -var120 = ((short int (*)(val* self, val* p0))(var112->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var112, var116) /* == on */; +var101 = ((short int(*)(val* self, val* p0))(var94->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var94, var98); /* == on */ } -if (var120){ +if (var101){ goto RET_LABEL; } else { } } BREAK_label: (void)0; { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_83); /* Direct call array#ArrayIterator#next on */ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_66); /* Direct call array#ArrayIterator#next on */ } } else { -goto BREAK_label121; +goto BREAK_label102; } } -BREAK_label121: (void)0; +BREAK_label102: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_83) on */ -RET_LABEL122:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_66); /* Direct call array#ArrayIterator#finish on */ } /* isa AStdClassdef */ -cltype124 = type_nit__AStdClassdef.color; -idtype125 = type_nit__AStdClassdef.id; -if(cltype124 >= var_nclassdef->type->table_size) { -var123 = 0; +cltype104 = type_nit__AStdClassdef.color; +idtype105 = type_nit__AStdClassdef.id; +if(cltype104 >= var_nclassdef->type->table_size) { +var103 = 0; } else { -var123 = var_nclassdef->type->type_table[cltype124] == idtype125; +var103 = var_nclassdef->type->type_table[cltype104] == idtype105; } -var126 = !var123; -if (var126){ +var106 = !var103; +if (var106){ goto RET_LABEL; } else { } -var127 = NEW_standard__Array(&type_standard__Array__nit__MParameter); +var107 = NEW_standard__Array(&type_standard__Array__nit__MParameter); { -standard___standard__Array___standard__kernel__Object__init(var127); /* Direct call array#Array#init on */ +standard___standard__Array___standard__kernel__Object__init(var107); /* Direct call array#Array#init on */ } -var_mparameters128 = var127; -var129 = NEW_standard__Array(&type_standard__Array__nit__MProperty); +var_mparameters108 = var107; +var109 = NEW_standard__Array(&type_standard__Array__nit__MProperty); { -standard___standard__Array___standard__kernel__Object__init(var129); /* Direct call array#Array#init on */ +standard___standard__Array___standard__kernel__Object__init(var109); /* Direct call array#Array#init on */ } -var_initializers = var129; +var_initializers = var109; { { /* Inline parser_nodes#AClassdef#n_propdefs (var_nclassdef) on */ -var132 = var_nclassdef->attrs[COLOR_nit__parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ -if (unlikely(var132 == NULL)) { +var112 = var_nclassdef->attrs[COLOR_nit__parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ +if (unlikely(var112 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1012); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1189); +fatal_exit(1); } -var130 = var132; -RET_LABEL131:(void)0; +var110 = var112; +RET_LABEL111:(void)0; } } -var_133 = var130; +var_113 = var110; { -var134 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_133); +var114 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_113); } -var_135 = var134; +var_115 = var114; for(;;) { { -var136 = ((short int (*)(val* self))(var_135->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_135) /* is_ok on */; +var116 = ((short int(*)(val* self))((((long)var_115&3)?class_info[((long)var_115&3)]:var_115->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_115); /* is_ok on */ } -if (var136){ +if (var116){ { -var137 = ((val* (*)(val* self))(var_135->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_135) /* item on */; +var117 = ((val*(*)(val* self))((((long)var_115&3)?class_info[((long)var_115&3)]:var_115->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_115); /* item on */ } -var_npropdef = var137; +var_npropdef = var117; /* isa AMethPropdef */ -cltype139 = type_nit__AMethPropdef.color; -idtype140 = type_nit__AMethPropdef.id; -if(cltype139 >= var_npropdef->type->table_size) { -var138 = 0; +cltype119 = type_nit__AMethPropdef.color; +idtype120 = type_nit__AMethPropdef.id; +if(cltype119 >= var_npropdef->type->table_size) { +var118 = 0; } else { -var138 = var_npropdef->type->type_table[cltype139] == idtype140; +var118 = var_npropdef->type->type_table[cltype119] == idtype120; } -if (var138){ +if (var118){ { -{ /* Inline modelize_property#APropdef#mpropdef (var_npropdef) on */ -var143 = var_npropdef->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ -var141 = var143; -RET_LABEL142:(void)0; +{ /* Inline modelize_property#AMethPropdef#is_autoinit (var_npropdef) on */ +var123 = var_npropdef->attrs[COLOR_nit__modelize_property__AMethPropdef___is_autoinit].s; /* _is_autoinit on */ +var121 = var123; +RET_LABEL122:(void)0; } } -var144 = NULL; -if (var141 == NULL) { -var145 = 1; /* is null */ +var124 = !var121; +if (var124){ +goto BREAK_label125; } else { -var145 = 0; /* arg is null but recv is not */ } -if (0) { -{ /* Inline kernel#Object#== (var141,var144) on */ -var_other = var144; { -{ /* Inline kernel#Object#is_same_instance (var141,var_other) on */ -var150 = var141 == var_other; -var148 = var150; -goto RET_LABEL149; -RET_LABEL149:(void)0; -} -} -var146 = var148; -goto RET_LABEL147; -RET_LABEL147:(void)0; -} -var145 = var146; -} -if (var145){ -goto RET_LABEL; -} else { -} -if (varonce151) { -var152 = varonce151; -} else { -var153 = "autoinit"; -var154 = 8; -var155 = standard___standard__NativeString___to_s_with_length(var153, var154); -var152 = var155; -varonce151 = var152; +{ /* Inline modelize_property#APropdef#mpropdef (var_npropdef) on */ +var128 = var_npropdef->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +var126 = var128; +RET_LABEL127:(void)0; } -{ -var156 = nit__annotation___Prod___get_single_annotation(var_npropdef, var152, self); } -var_at = var156; -var157 = NULL; -if (var_at == NULL) { -var158 = 1; /* is null */ +if (var126 == NULL) { +var129 = 1; /* is null */ } else { -var158 = 0; /* arg is null but recv is not */ +var129 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_at,var157) on */ -var_other = var157; +{ /* Inline kernel#Object#== (var126,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_at,var_other) on */ -var163 = var_at == var_other; -var161 = var163; -goto RET_LABEL162; -RET_LABEL162:(void)0; +{ /* Inline kernel#Object#is_same_instance (var126,var_other) on */ +var134 = var126 == var_other; +var132 = var134; +goto RET_LABEL133; +RET_LABEL133:(void)0; } } -var159 = var161; -goto RET_LABEL160; -RET_LABEL160:(void)0; +var130 = var132; +goto RET_LABEL131; +RET_LABEL131:(void)0; } -var158 = var159; +var129 = var130; } -if (var158){ -goto BREAK_label164; +if (var129){ +goto RET_LABEL; } else { } { { /* Inline modelize_property#APropdef#mpropdef (var_npropdef) on */ -var167 = var_npropdef->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ -var165 = var167; -RET_LABEL166:(void)0; +var137 = var_npropdef->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +var135 = var137; +RET_LABEL136:(void)0; } } -if (var165 == NULL) { +if (var135 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 170); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 184); +fatal_exit(1); } else { -{ /* Inline model#MMethodDef#msignature (var165) on */ -if (unlikely(var165 == NULL)) { +{ /* Inline model#MMethodDef#msignature (var135) on */ +if (unlikely(var135 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2137); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2336); +fatal_exit(1); } -var170 = var165->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on */ -var168 = var170; -RET_LABEL169:(void)0; +var140 = var135->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on */ +var138 = var140; +RET_LABEL139:(void)0; } } -var_sig = var168; -var171 = NULL; +var_sig = var138; if (var_sig == NULL) { -var172 = 1; /* is null */ +var141 = 1; /* is null */ } else { -var172 = 0; /* arg is null but recv is not */ +var141 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_sig,var171) on */ -var_other = var171; +{ /* Inline kernel#Object#== (var_sig,((val*)NULL)) on */ +var_other = ((val*)NULL); { { /* Inline kernel#Object#is_same_instance (var_sig,var_other) on */ -var177 = var_sig == var_other; -var175 = var177; -goto RET_LABEL176; -RET_LABEL176:(void)0; -} -} -var173 = var175; -goto RET_LABEL174; -RET_LABEL174:(void)0; -} -var172 = var173; -} -if (var172){ -goto BREAK_label164; -} else { -} -{ -{ /* Inline modelize_property#APropdef#mpropdef (var_npropdef) on */ -var180 = var_npropdef->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ -var178 = var180; -RET_LABEL179:(void)0; -} +var146 = var_sig == var_other; +var144 = var146; +goto RET_LABEL145; +RET_LABEL145:(void)0; } -if (var178 == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 173); -show_backtrace(1); -} else { -var181 = nit___nit__MPropDef___is_intro(var178); } -var182 = !var181; -if (var182){ -if (varonce183) { -var184 = varonce183; -} else { -var185 = "Error: `autoinit` cannot be set on redefinitions"; -var186 = 48; -var187 = standard___standard__NativeString___to_s_with_length(var185, var186); -var184 = var187; -varonce183 = var184; +var142 = var144; +goto RET_LABEL143; +RET_LABEL143:(void)0; } -{ -nit___nit__ModelBuilder___error(self, var_at, var184); /* Direct call modelbuilder_base#ModelBuilder#error on */ +var141 = var142; } -goto BREAK_label164; +if (var141){ +goto BREAK_label125; } else { } { { /* Inline model#MSignature#mparameters (var_sig) on */ -var190 = var_sig->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ -if (unlikely(var190 == NULL)) { +var149 = var_sig->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ +if (unlikely(var149 == 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); } -var188 = var190; -RET_LABEL189:(void)0; +var147 = var149; +RET_LABEL148:(void)0; } } -var_191 = var188; +var_150 = var147; { -var192 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_191); +var151 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_150); } -var_193 = var192; +var_152 = var151; for(;;) { { -var194 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_193); +var153 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_152); } -if (var194){ +if (var153){ { -var195 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_193); +var154 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_152); } -var_param = var195; +var_param = var154; { { /* Inline model#MParameter#mtype (var_param) on */ -var198 = var_param->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on */ -if (unlikely(var198 == NULL)) { +var157 = var_param->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on */ +if (unlikely(var157 == 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); } -var196 = var198; -RET_LABEL197:(void)0; +var155 = var157; +RET_LABEL156:(void)0; } } -var_ret_type = var196; -var199 = NEW_nit__MParameter(&type_nit__MParameter); +var_ret_type = var155; +var158 = NEW_nit__MParameter(&type_nit__MParameter); { { /* Inline model#MParameter#name (var_param) on */ -var202 = var_param->attrs[COLOR_nit__model__MParameter___name].val; /* _name on */ -if (unlikely(var202 == NULL)) { +var161 = var_param->attrs[COLOR_nit__model__MParameter___name].val; /* _name on */ +if (unlikely(var161 == 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); +} +var159 = var161; +RET_LABEL160:(void)0; } -var200 = var202; -RET_LABEL201:(void)0; } +/* isa MNullableType */ +cltype163 = type_nit__MNullableType.color; +idtype164 = type_nit__MNullableType.id; +if(cltype163 >= var_ret_type->type->table_size) { +var162 = 0; +} else { +var162 = var_ret_type->type->type_table[cltype163] == idtype164; +} +{ +((void(*)(val* self, val* p0))(var158->class->vft[COLOR_nit__model__MParameter__name_61d]))(var158, var159); /* name= on */ } -var203 = 0; { -((void (*)(val* self, val* p0))(var199->class->vft[COLOR_nit__model__MParameter__name_61d]))(var199, var200) /* name= on */; +((void(*)(val* self, val* p0))(var158->class->vft[COLOR_nit__model__MParameter__mtype_61d]))(var158, var_ret_type); /* mtype= on */ } { -((void (*)(val* self, val* p0))(var199->class->vft[COLOR_nit__model__MParameter__mtype_61d]))(var199, var_ret_type) /* mtype= on */; +((void(*)(val* self, short int p0))(var158->class->vft[COLOR_nit__model__MParameter__is_vararg_61d]))(var158, 0); /* is_vararg= on */ } { -((void (*)(val* self, short int p0))(var199->class->vft[COLOR_nit__model__MParameter__is_vararg_61d]))(var199, var203) /* is_vararg= on */; +((void(*)(val* self, short int p0))(var158->class->vft[COLOR_nit__model__MParameter__is_default_61d]))(var158, var162); /* is_default= on */ } { -((void (*)(val* self))(var199->class->vft[COLOR_standard__kernel__Object__init]))(var199) /* init on */; +((void(*)(val* self))(var158->class->vft[COLOR_standard__kernel__Object__init]))(var158); /* init on */ } -var_mparameter = var199; +var_mparameter = var158; { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_mparameters128, var_mparameter); /* Direct call array#Array#add on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_mparameters108, var_mparameter); /* Direct call array#Array#add on */ } { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_193); /* Direct call array#ArrayIterator#next on */ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_152); /* Direct call array#ArrayIterator#next on */ } } else { -goto BREAK_label204; +goto BREAK_label165; +} } +BREAK_label165: (void)0; +{ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_152); /* Direct call array#ArrayIterator#finish on */ } -BREAK_label204: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_193) on */ -RET_LABEL205:(void)0; +{ /* Inline modelize_property#APropdef#mpropdef (var_npropdef) on */ +var168 = var_npropdef->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +var166 = var168; +RET_LABEL167:(void)0; +} +} +if (var166 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 192); +fatal_exit(1); +} else { +{ /* Inline model#MPropDef#mproperty (var166) on */ +if (unlikely(var166 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); +} +var171 = var166->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var171 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); +} +var169 = var171; +RET_LABEL170:(void)0; +} } +{ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_initializers, var169); /* Direct call array#Array#add on */ } { { /* Inline modelize_property#APropdef#mpropdef (var_npropdef) on */ -var208 = var_npropdef->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ -var206 = var208; -RET_LABEL207:(void)0; +var174 = var_npropdef->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +var172 = var174; +RET_LABEL173:(void)0; } } -if (var206 == NULL) { +if (var172 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 183); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 193); +fatal_exit(1); } else { -{ /* Inline model#MPropDef#mproperty (var206) on */ -if (unlikely(var206 == NULL)) { +{ /* Inline model#MPropDef#mproperty (var172) on */ +if (unlikely(var172 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } -var211 = var206->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var211 == NULL)) { +var177 = var172->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var177 == 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); } -var209 = var211; -RET_LABEL210:(void)0; +var175 = var177; +RET_LABEL176:(void)0; } } { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_initializers, var209); /* Direct call array#Array#add on */ +{ /* Inline model#MProperty#is_autoinit= (var175,1) on */ +var175->attrs[COLOR_nit__model__MProperty___is_autoinit].s = 1; /* _is_autoinit on */ +RET_LABEL178:(void)0; +} } } else { } /* isa AAttrPropdef */ -cltype213 = type_nit__AAttrPropdef.color; -idtype214 = type_nit__AAttrPropdef.id; -if(cltype213 >= var_npropdef->type->table_size) { -var212 = 0; +cltype180 = type_nit__AAttrPropdef.color; +idtype181 = type_nit__AAttrPropdef.id; +if(cltype180 >= var_npropdef->type->table_size) { +var179 = 0; } else { -var212 = var_npropdef->type->type_table[cltype213] == idtype214; +var179 = var_npropdef->type->type_table[cltype180] == idtype181; } -if (var212){ +if (var179){ { -{ /* Inline modelize_property#APropdef#mpropdef (var_npropdef) on */ -var217 = var_npropdef->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ -var215 = var217; -RET_LABEL216:(void)0; +{ /* Inline modelize_property#AAttrPropdef#mreadpropdef (var_npropdef) on */ +var184 = var_npropdef->attrs[COLOR_nit__modelize_property__AAttrPropdef___mreadpropdef].val; /* _mreadpropdef on */ +var182 = var184; +RET_LABEL183:(void)0; +} +} +var_mreadpropdef = var182; +if (var_mreadpropdef == NULL) { +var186 = 1; /* is null */ +} else { +var186 = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel#Object#== (var_mreadpropdef,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +{ /* Inline kernel#Object#is_same_instance (var_mreadpropdef,var_other) on */ +var191 = var_mreadpropdef == var_other; +var189 = var191; +goto RET_LABEL190; +RET_LABEL190:(void)0; +} +} +var187 = var189; +goto RET_LABEL188; +RET_LABEL188:(void)0; +} +var186 = var187; +} +var_192 = var186; +if (var186){ +var185 = var_192; +} else { +{ +{ /* Inline model#MMethodDef#msignature (var_mreadpropdef) on */ +var195 = var_mreadpropdef->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on */ +var193 = var195; +RET_LABEL194:(void)0; } } -var218 = NULL; -if (var215 == NULL) { -var219 = 1; /* is null */ +if (var193 == NULL) { +var196 = 1; /* is null */ } else { -var219 = 0; /* arg is null but recv is not */ +var196 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var215,var218) on */ -var_other = var218; +{ /* Inline kernel#Object#== (var193,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var215,var_other) on */ -var224 = var215 == var_other; -var222 = var224; -goto RET_LABEL223; -RET_LABEL223:(void)0; +{ /* Inline kernel#Object#is_same_instance (var193,var_other) on */ +var201 = var193 == var_other; +var199 = var201; +goto RET_LABEL200; +RET_LABEL200:(void)0; +} } +var197 = var199; +goto RET_LABEL198; +RET_LABEL198:(void)0; } -var220 = var222; -goto RET_LABEL221; -RET_LABEL221:(void)0; +var196 = var197; } -var219 = var220; +var185 = var196; } -if (var219){ +if (var185){ goto RET_LABEL; } else { } { { /* Inline modelize_property#AAttrPropdef#noinit (var_npropdef) on */ -var227 = var_npropdef->attrs[COLOR_nit__modelize_property__AAttrPropdef___noinit].s; /* _noinit on */ -var225 = var227; -RET_LABEL226:(void)0; +var204 = var_npropdef->attrs[COLOR_nit__modelize_property__AAttrPropdef___noinit].s; /* _noinit on */ +var202 = var204; +RET_LABEL203:(void)0; } } -if (var225){ -goto BREAK_label164; +if (var202){ +goto BREAK_label125; } else { } -if (varonce228) { -var229 = varonce228; +if (likely(varonce205!=NULL)) { +var206 = varonce205; } else { -var230 = "autoinit"; -var231 = 8; -var232 = standard___standard__NativeString___to_s_with_length(var230, var231); -var229 = var232; -varonce228 = var229; +var207 = "lateinit"; +var208 = standard___standard__NativeString___to_s_with_length(var207, 8l); +var206 = var208; +varonce205 = var206; } { -var233 = nit__annotation___Prod___get_single_annotation(var_npropdef, var229, self); +var209 = nit__annotation___Prod___get_single_annotation(var_npropdef, var206, self); } -var_atautoinit = var233; -var234 = NULL; -if (var_atautoinit == NULL) { -var235 = 0; /* is null */ +var_atlateinit = var209; +if (var_atlateinit == NULL) { +var210 = 0; /* is null */ } else { -var235 = 1; /* arg is null and recv is not */ +var210 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_atautoinit,var234) on */ -var_other238 = var234; +{ /* Inline kernel#Object#!= (var_atlateinit,((val*)NULL)) on */ +var_other213 = ((val*)NULL); { -var239 = ((short int (*)(val* self, val* p0))(var_atautoinit->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_atautoinit, var_other238) /* == on */; +var214 = ((short int(*)(val* self, val* p0))(var_atlateinit->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_atlateinit, var_other213); /* == on */ } -var240 = !var239; -var236 = var240; -goto RET_LABEL237; -RET_LABEL237:(void)0; +var215 = !var214; +var211 = var215; +goto RET_LABEL212; +RET_LABEL212:(void)0; } -var235 = var236; +var210 = var211; } -if (var235){ +if (var210){ { -{ /* Inline modelize_property#AAttrPropdef#mreadpropdef (var_npropdef) on */ -var243 = var_npropdef->attrs[COLOR_nit__modelize_property__AAttrPropdef___mreadpropdef].val; /* _mreadpropdef on */ -var241 = var243; -RET_LABEL242:(void)0; +{ /* Inline model#MPropDef#mproperty (var_mreadpropdef) on */ +var218 = var_mreadpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var218 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } +var216 = var218; +RET_LABEL217:(void)0; } -if (var241 == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 192); -show_backtrace(1); -} else { -{ /* Inline model#MPropDef#mproperty (var241) on */ -if (unlikely(var241 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); } -var246 = var241->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var246 == NULL)) { +{ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_initializers, var216); /* Direct call array#Array#add on */ +} +{ +{ /* Inline model#MPropDef#mproperty (var_mreadpropdef) on */ +var221 = var_mreadpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var221 == 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); } -var244 = var246; -RET_LABEL245:(void)0; +var219 = var221; +RET_LABEL220:(void)0; } } { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_initializers, var244); /* Direct call array#Array#add on */ +{ /* Inline model#MProperty#is_autoinit= (var219,1) on */ +var219->attrs[COLOR_nit__model__MProperty___is_autoinit].s = 1; /* _is_autoinit on */ +RET_LABEL222:(void)0; } -goto BREAK_label164; +} +goto BREAK_label125; } else { } { { /* Inline modelize_property#AAttrPropdef#has_value (var_npropdef) on */ -var249 = var_npropdef->attrs[COLOR_nit__modelize_property__AAttrPropdef___has_value].s; /* _has_value on */ -var247 = var249; -RET_LABEL248:(void)0; +var225 = var_npropdef->attrs[COLOR_nit__modelize_property__AAttrPropdef___has_value].s; /* _has_value on */ +var223 = var225; +RET_LABEL224:(void)0; } } -if (var247){ -goto BREAK_label164; +if (var223){ +goto BREAK_label125; } else { } { -{ /* Inline modelize_property#APropdef#mpropdef (var_npropdef) on */ -var252 = var_npropdef->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ -var250 = var252; -RET_LABEL251:(void)0; -} -} -if (var250 == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 196); -show_backtrace(1); -} else { -{ /* Inline model#MPropDef#mproperty (var250) on */ -if (unlikely(var250 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); -} -var255 = var250->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var255 == NULL)) { +{ /* Inline model#MPropDef#mproperty (var_mreadpropdef) on */ +var228 = var_mreadpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var228 == 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); } -var253 = var255; -RET_LABEL254:(void)0; +var226 = var228; +RET_LABEL227:(void)0; } } { -{ /* Inline model#MProperty#name (var253) on */ -var258 = var253->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ -if (unlikely(var258 == NULL)) { +{ /* Inline model#MProperty#name (var226) on */ +var231 = var226->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ +if (unlikely(var231 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1741); -show_backtrace(1); -} -var256 = var258; -RET_LABEL257:(void)0; +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1933); +fatal_exit(1); } +var229 = var231; +RET_LABEL230:(void)0; } -var259 = 1; -{ -var260 = standard___standard__Text___substring_from(var256, var259); } -var_paramname = var260; +var_paramname = var229; { -{ /* Inline modelize_property#APropdef#mpropdef (var_npropdef) on */ -var263 = var_npropdef->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ -var261 = var263; -RET_LABEL262:(void)0; +{ /* Inline model#MMethodDef#msignature (var_mreadpropdef) on */ +var234 = var_mreadpropdef->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on */ +var232 = var234; +RET_LABEL233:(void)0; } } -if (var261 == NULL) { +if (var232 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 197); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 209); +fatal_exit(1); } else { -{ /* Inline model#MAttributeDef#static_mtype (var261) on */ -if (unlikely(var261 == NULL)) { +{ /* Inline model#MSignature#return_mtype (var232) on */ +if (unlikely(var232 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2180); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1768); +fatal_exit(1); } -var266 = var261->attrs[COLOR_nit__model__MAttributeDef___static_mtype].val; /* _static_mtype on */ -var264 = var266; -RET_LABEL265:(void)0; +var237 = var232->attrs[COLOR_nit__model__MSignature___return_mtype].val; /* _return_mtype on */ +var235 = var237; +RET_LABEL236:(void)0; } } -var_ret_type267 = var264; -var268 = NULL; -if (var_ret_type267 == NULL) { -var269 = 1; /* is null */ +var_ret_type238 = var235; +if (var_ret_type238 == NULL) { +var239 = 1; /* is null */ } else { -var269 = 0; /* arg is null but recv is not */ +var239 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_ret_type267,var268) on */ -var_other = var268; +{ /* Inline kernel#Object#== (var_ret_type238,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_ret_type267,var_other) on */ -var274 = var_ret_type267 == var_other; -var272 = var274; -goto RET_LABEL273; -RET_LABEL273:(void)0; +{ /* Inline kernel#Object#is_same_instance (var_ret_type238,var_other) on */ +var244 = var_ret_type238 == var_other; +var242 = var244; +goto RET_LABEL243; +RET_LABEL243:(void)0; } } -var270 = var272; -goto RET_LABEL271; -RET_LABEL271:(void)0; +var240 = var242; +goto RET_LABEL241; +RET_LABEL241:(void)0; } -var269 = var270; +var239 = var240; } -if (var269){ +if (var239){ goto RET_LABEL; } else { } -var275 = NEW_nit__MParameter(&type_nit__MParameter); -var276 = 0; +var245 = NEW_nit__MParameter(&type_nit__MParameter); +/* isa MNullableType */ +cltype247 = type_nit__MNullableType.color; +idtype248 = type_nit__MNullableType.id; +if(cltype247 >= var_ret_type238->type->table_size) { +var246 = 0; +} else { +var246 = var_ret_type238->type->type_table[cltype247] == idtype248; +} +{ +((void(*)(val* self, val* p0))(var245->class->vft[COLOR_nit__model__MParameter__name_61d]))(var245, var_paramname); /* name= on */ +} { -((void (*)(val* self, val* p0))(var275->class->vft[COLOR_nit__model__MParameter__name_61d]))(var275, var_paramname) /* name= on */; +((void(*)(val* self, val* p0))(var245->class->vft[COLOR_nit__model__MParameter__mtype_61d]))(var245, var_ret_type238); /* mtype= on */ } { -((void (*)(val* self, val* p0))(var275->class->vft[COLOR_nit__model__MParameter__mtype_61d]))(var275, var_ret_type267) /* mtype= on */; +((void(*)(val* self, short int p0))(var245->class->vft[COLOR_nit__model__MParameter__is_vararg_61d]))(var245, 0); /* is_vararg= on */ } { -((void (*)(val* self, short int p0))(var275->class->vft[COLOR_nit__model__MParameter__is_vararg_61d]))(var275, var276) /* is_vararg= on */; +((void(*)(val* self, short int p0))(var245->class->vft[COLOR_nit__model__MParameter__is_default_61d]))(var245, var246); /* is_default= on */ } { -((void (*)(val* self))(var275->class->vft[COLOR_standard__kernel__Object__init]))(var275) /* init on */; +((void(*)(val* self))(var245->class->vft[COLOR_standard__kernel__Object__init]))(var245); /* init on */ } -var_mparameter277 = var275; +var_mparameter249 = var245; { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_mparameters128, var_mparameter277); /* Direct call array#Array#add on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_mparameters108, var_mparameter249); /* Direct call array#Array#add on */ } { { /* Inline modelize_property#AAttrPropdef#mwritepropdef (var_npropdef) on */ -var280 = var_npropdef->attrs[COLOR_nit__modelize_property__AAttrPropdef___mwritepropdef].val; /* _mwritepropdef on */ -var278 = var280; -RET_LABEL279:(void)0; +var252 = var_npropdef->attrs[COLOR_nit__modelize_property__AAttrPropdef___mwritepropdef].val; /* _mwritepropdef on */ +var250 = var252; +RET_LABEL251:(void)0; } } -var_msetter = var278; -var281 = NULL; +var_msetter = var250; if (var_msetter == NULL) { -var282 = 1; /* is null */ +var253 = 1; /* is null */ } else { -var282 = 0; /* arg is null but recv is not */ +var253 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_msetter,var281) on */ -var_other = var281; +{ /* Inline kernel#Object#== (var_msetter,((val*)NULL)) on */ +var_other = ((val*)NULL); { { /* Inline kernel#Object#is_same_instance (var_msetter,var_other) on */ -var287 = var_msetter == var_other; -var285 = var287; -goto RET_LABEL286; -RET_LABEL286:(void)0; +var258 = var_msetter == var_other; +var256 = var258; +goto RET_LABEL257; +RET_LABEL257:(void)0; } } -var283 = var285; -goto RET_LABEL284; -RET_LABEL284:(void)0; +var254 = var256; +goto RET_LABEL255; +RET_LABEL255:(void)0; } -var282 = var283; +var253 = var254; } -if (var282){ +if (var253){ { { /* Inline modelize_property#APropdef#mpropdef (var_npropdef) on */ -var290 = var_npropdef->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ -var288 = var290; -RET_LABEL289:(void)0; +var261 = var_npropdef->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +var259 = var261; +RET_LABEL260:(void)0; } } -if (var288 == NULL) { +if (var259 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 204); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 216); +fatal_exit(1); } else { -{ /* Inline model#MPropDef#mproperty (var288) on */ -if (unlikely(var288 == NULL)) { +{ /* Inline model#MPropDef#mproperty (var259) on */ +if (unlikely(var259 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } -var293 = var288->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var293 == NULL)) { +var264 = var259->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var264 == 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); } -var291 = var293; -RET_LABEL292:(void)0; +var262 = var264; +RET_LABEL263:(void)0; } } { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_initializers, var291); /* Direct call array#Array#add on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_initializers, var262); /* Direct call array#Array#add on */ } -} else { { -{ /* Inline model#MPropDef#mproperty (var_msetter) on */ -var296 = var_msetter->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var296 == NULL)) { +{ /* Inline modelize_property#APropdef#mpropdef (var_npropdef) on */ +var267 = var_npropdef->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +var265 = var267; +RET_LABEL266:(void)0; +} +} +if (var265 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 217); +fatal_exit(1); +} else { +{ /* Inline model#MPropDef#mproperty (var265) on */ +if (unlikely(var265 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); +} +var270 = var265->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var270 == 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); } -var294 = var296; -RET_LABEL295:(void)0; +var268 = var270; +RET_LABEL269:(void)0; } } { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_initializers, var294); /* Direct call array#Array#add on */ +{ /* Inline model#MProperty#is_autoinit= (var268,1) on */ +var268->attrs[COLOR_nit__model__MProperty___is_autoinit].s = 1; /* _is_autoinit on */ +RET_LABEL271:(void)0; } } } else { -} -BREAK_label164: (void)0; { -((void (*)(val* self))(var_135->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_135) /* next on */; +{ /* Inline model#MPropDef#mproperty (var_msetter) on */ +var274 = var_msetter->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var274 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); +} +var272 = var274; +RET_LABEL273:(void)0; +} +} +{ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_initializers, var272); /* Direct call array#Array#add on */ +} +{ +{ /* Inline model#MPropDef#mproperty (var_msetter) on */ +var277 = var_msetter->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var277 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); +} +var275 = var277; +RET_LABEL276:(void)0; +} +} +{ +{ /* Inline model#MProperty#is_autoinit= (var275,1) on */ +var275->attrs[COLOR_nit__model__MProperty___is_autoinit].s = 1; /* _is_autoinit on */ +RET_LABEL278:(void)0; +} } -} else { -goto BREAK_label297; } +} else { } -BREAK_label297: (void)0; +BREAK_label125: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_135) on */ -RET_LABEL298:(void)0; +((void(*)(val* self))((((long)var_115&3)?class_info[((long)var_115&3)]:var_115->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_115); /* next on */ +} +} else { +goto BREAK_label279; +} } +BREAK_label279: (void)0; +{ +((void(*)(val* self))((((long)var_115&3)?class_info[((long)var_115&3)]:var_115->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_115); /* finish on */ } { { /* Inline modelize_property#ModelBuilder#the_root_init_mmethod (self) on */ -var301 = self->attrs[COLOR_nit__modelize_property__ModelBuilder___the_root_init_mmethod].val; /* _the_root_init_mmethod on */ -var299 = var301; -RET_LABEL300:(void)0; +var282 = self->attrs[COLOR_nit__modelize_property__ModelBuilder___the_root_init_mmethod].val; /* _the_root_init_mmethod on */ +var280 = var282; +RET_LABEL281:(void)0; } } -var302 = NULL; -if (var299 == NULL) { -var303 = 1; /* is null */ +if (var280 == NULL) { +var283 = 1; /* is null */ } else { -var303 = 0; /* arg is null but recv is not */ +var283 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var299,var302) on */ -var_other = var302; +{ /* Inline kernel#Object#== (var280,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var299,var_other) on */ -var308 = var299 == var_other; -var306 = var308; -goto RET_LABEL307; -RET_LABEL307:(void)0; +{ /* Inline kernel#Object#is_same_instance (var280,var_other) on */ +var288 = var280 == var_other; +var286 = var288; +goto RET_LABEL287; +RET_LABEL287:(void)0; } } -var304 = var306; -goto RET_LABEL305; -RET_LABEL305:(void)0; +var284 = var286; +goto RET_LABEL285; +RET_LABEL285:(void)0; } -var303 = var304; +var283 = var284; } -if (var303){ +if (var283){ goto RET_LABEL; } else { } { { /* Inline modelize_property#ModelBuilder#the_root_init_mmethod (self) on */ -var311 = self->attrs[COLOR_nit__modelize_property__ModelBuilder___the_root_init_mmethod].val; /* _the_root_init_mmethod on */ -var309 = var311; -RET_LABEL310:(void)0; +var291 = self->attrs[COLOR_nit__modelize_property__ModelBuilder___the_root_init_mmethod].val; /* _the_root_init_mmethod on */ +var289 = var291; +RET_LABEL290:(void)0; } } { { /* Inline model#MClassDef#mmodule (var_mclassdef) on */ -var314 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var314 == NULL)) { +var294 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var294 == 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); } -var312 = var314; -RET_LABEL313:(void)0; +var292 = var294; +RET_LABEL293:(void)0; } } { { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on */ -var317 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ -if (unlikely(var317 == NULL)) { +var297 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ +if (unlikely(var297 == 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); } -var315 = var317; -RET_LABEL316:(void)0; +var295 = var297; +RET_LABEL296:(void)0; } } -if (var309 == NULL) { +if (var289 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 215); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 229); +fatal_exit(1); } else { -var318 = nit___nit__MProperty___lookup_super_definitions(var309, var312, var315); +var298 = nit___nit__MProperty___lookup_super_definitions(var289, var292, var295); } -var_spropdefs = var318; +var_spropdefs = var298; { -var319 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_spropdefs); +var299 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_spropdefs); } -if (var319){ +if (var299){ { { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ -var322 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var322 == NULL)) { +var302 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var302 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +fatal_exit(1); } -var320 = var322; -RET_LABEL321:(void)0; +var300 = var302; +RET_LABEL301:(void)0; } } { { /* Inline parser_nodes#ANode#location (var_nclassdef) on */ -var325 = var_nclassdef->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ -if (unlikely(var325 == NULL)) { +var305 = var_nclassdef->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var305 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 23); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24); +fatal_exit(1); +} +var303 = var305; +RET_LABEL304:(void)0; +} } -var323 = var325; -RET_LABEL324:(void)0; +if (unlikely(varonce306==NULL)) { +var307 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce308!=NULL)) { +var309 = varonce308; +} else { +var310 = "Error: `"; +var311 = standard___standard__NativeString___to_s_with_length(var310, 8l); +var309 = var311; +varonce308 = var309; } +((struct instance_standard__NativeArray*)var307)->values[0]=var309; +if (likely(varonce312!=NULL)) { +var313 = varonce312; +} else { +var314 = "` does not specialize `"; +var315 = standard___standard__NativeString___to_s_with_length(var314, 23l); +var313 = var315; +varonce312 = var313; } -if (varonce326) { -var327 = varonce326; +((struct instance_standard__NativeArray*)var307)->values[2]=var313; +if (likely(varonce316!=NULL)) { +var317 = varonce316; } else { -var328 = "Error: "; -var329 = 7; -var330 = standard___standard__NativeString___to_s_with_length(var328, var329); -var327 = var330; -varonce326 = var327; +var318 = "`. Possible duplication of the root class `Object`?"; +var319 = standard___standard__NativeString___to_s_with_length(var318, 51l); +var317 = var319; +varonce316 = var317; } -if (varonce331) { -var332 = varonce331; +((struct instance_standard__NativeArray*)var307)->values[4]=var317; } else { -var333 = " does not specialize "; -var334 = 21; -var335 = standard___standard__NativeString___to_s_with_length(var333, var334); -var332 = var335; -varonce331 = var332; +var307 = varonce306; +varonce306 = NULL; +} +{ +var320 = ((val*(*)(val* self))(var_mclassdef->class->vft[COLOR_standard__string__Object__to_s]))(var_mclassdef); /* to_s on */ } +((struct instance_standard__NativeArray*)var307)->values[1]=var320; { { /* Inline modelize_property#ModelBuilder#the_root_init_mmethod (self) on */ -var338 = self->attrs[COLOR_nit__modelize_property__ModelBuilder___the_root_init_mmethod].val; /* _the_root_init_mmethod on */ -var336 = var338; -RET_LABEL337:(void)0; +var323 = self->attrs[COLOR_nit__modelize_property__ModelBuilder___the_root_init_mmethod].val; /* _the_root_init_mmethod on */ +var321 = var323; +RET_LABEL322:(void)0; } } -if (var336 == NULL) { +if (var321 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 217); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 231); +fatal_exit(1); } else { -{ /* Inline model#MProperty#intro_mclassdef (var336) on */ -if (unlikely(var336 == NULL)) { +{ /* Inline model#MProperty#intro_mclassdef (var321) on */ +if (unlikely(var321 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1736); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1928); +fatal_exit(1); } -var341 = var336->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ -if (unlikely(var341 == NULL)) { +var326 = var321->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ +if (unlikely(var326 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1736); -show_backtrace(1); -} -var339 = var341; -RET_LABEL340:(void)0; +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1928); +fatal_exit(1); } +var324 = var326; +RET_LABEL325:(void)0; } -if (varonce342) { -var343 = varonce342; -} else { -var344 = ". Possible duplication of the root class `Object`?"; -var345 = 50; -var346 = standard___standard__NativeString___to_s_with_length(var344, var345); -var343 = var346; -varonce342 = var343; } -var347 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var347 = array_instance Array[Object] */ -var348 = 5; -var349 = NEW_standard__NativeArray(var348, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var349)->values[0] = (val*) var327; -((struct instance_standard__NativeArray*)var349)->values[1] = (val*) var_mclassdef; -((struct instance_standard__NativeArray*)var349)->values[2] = (val*) var332; -((struct instance_standard__NativeArray*)var349)->values[3] = (val*) var339; -((struct instance_standard__NativeArray*)var349)->values[4] = (val*) var343; { -((void (*)(val* self, val* p0, long p1))(var347->class->vft[COLOR_standard__array__Array__with_native]))(var347, var349, var348) /* with_native on */; -} +var327 = ((val*(*)(val* self))(var324->class->vft[COLOR_standard__string__Object__to_s]))(var324); /* to_s on */ } +((struct instance_standard__NativeArray*)var307)->values[3]=var327; { -var350 = ((val* (*)(val* self))(var347->class->vft[COLOR_standard__string__Object__to_s]))(var347) /* to_s on */; +var328 = ((val*(*)(val* self))(var307->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var307); /* native_to_s on */ } +varonce306 = var307; { -nit___nit__ToolContext___error(var320, var323, var350); /* Direct call toolcontext#ToolContext#error on */ +var329 = nit___nit__ToolContext___error(var300, var303, var328); } goto RET_LABEL; } else { } -{ -var351 = standard___standard__SequenceRead___Collection__first(var_spropdefs); +if (likely(varonce330!=NULL)) { +var331 = varonce330; +} else { +var332 = "autoinit"; +var333 = standard___standard__NativeString___to_s_with_length(var332, 8l); +var331 = var333; +varonce330 = var331; } -var_longest = var351; { -{ /* Inline array#AbstractArrayRead#length (var_spropdefs) on */ -var354 = var_spropdefs->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ -var352 = var354; -RET_LABEL353:(void)0; +var334 = nit__annotation___Prod___get_single_annotation(var_nclassdef, var331, self); } +var_autoinit = var334; +if (likely(varonce335!=NULL)) { +var336 = varonce335; +} else { +var337 = "noautoinit"; +var338 = standard___standard__NativeString___to_s_with_length(var337, 10l); +var336 = var338; +varonce335 = var336; } -var355 = 1; { -{ /* Inline kernel#Int#> (var352,var355) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var358 = 1; /* easy isa OTHER*/ -if (unlikely(!var358)) { -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, 412); -show_backtrace(1); -} -var361 = var352 > var355; -var356 = var361; -goto RET_LABEL357; -RET_LABEL357:(void)0; +var339 = nit__annotation___Prod___get_single_annotation(var_nclassdef, var336, self); } +var_noautoinit = var339; +if (var_autoinit == NULL) { +var340 = 0; /* is null */ +} else { +var340 = 1; /* arg is null and recv is not */ } -if (var356){ -var_362 = var_spropdefs; +if (0) { +{ /* Inline kernel#Object#!= (var_autoinit,((val*)NULL)) on */ +var_other213 = ((val*)NULL); { -var363 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_362); +var343 = ((short int(*)(val* self, val* p0))(var_autoinit->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_autoinit, var_other213); /* == on */ } -var_364 = var363; -for(;;) { -{ -var365 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_364); +var344 = !var343; +var341 = var344; +goto RET_LABEL342; +RET_LABEL342:(void)0; } -if (var365){ -{ -var366 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_364); +var340 = var341; } -var_spd = var366; +if (var340){ { -{ /* Inline model#MMethodDef#initializers (var_spd) on */ -var369 = var_spd->attrs[COLOR_nit__model__MMethodDef___initializers].val; /* _initializers on */ -if (unlikely(var369 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2146); -show_backtrace(1); -} -var367 = var369; -RET_LABEL368:(void)0; -} +standard___standard__AbstractArray___standard__abstract_collection__RemovableCollection__clear(var_mparameters108); /* Direct call array#AbstractArray#clear on */ } { -{ /* Inline array#AbstractArrayRead#length (var367) on */ -var372 = var367->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ -var370 = var372; -RET_LABEL371:(void)0; +standard___standard__AbstractArray___standard__abstract_collection__RemovableCollection__clear(var_initializers); /* Direct call array#AbstractArray#clear on */ } +if (var_noautoinit == NULL) { +var345 = 0; /* is null */ +} else { +var345 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_noautoinit,((val*)NULL)) on */ +var_other213 = ((val*)NULL); { -{ /* Inline model#MMethodDef#initializers (var_longest) on */ -var375 = var_longest->attrs[COLOR_nit__model__MMethodDef___initializers].val; /* _initializers on */ -if (unlikely(var375 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2146); -show_backtrace(1); -} -var373 = var375; -RET_LABEL374:(void)0; +var348 = ((short int(*)(val* self, val* p0))(var_noautoinit->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_noautoinit, var_other213); /* == on */ } +var349 = !var348; +var346 = var349; +goto RET_LABEL347; +RET_LABEL347:(void)0; } -{ -{ /* Inline array#AbstractArrayRead#length (var373) on */ -var378 = var373->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ -var376 = var378; -RET_LABEL377:(void)0; +var345 = var346; } +if (var345){ +if (likely(varonce350!=NULL)) { +var351 = varonce350; +} else { +var352 = "Error: `autoinit` and `noautoinit` are incompatible."; +var353 = standard___standard__NativeString___to_s_with_length(var352, 52l); +var351 = var353; +varonce350 = var351; } { -{ /* Inline kernel#Int#> (var370,var376) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var381 = 1; /* easy isa OTHER*/ -if (unlikely(!var381)) { -var_class_name384 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name384); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412); -show_backtrace(1); -} -var385 = var370 > var376; -var379 = var385; -goto RET_LABEL380; -RET_LABEL380:(void)0; -} +nit___nit__ModelBuilder___error(self, var_autoinit, var351); /* Direct call modelbuilder_base#ModelBuilder#error on */ } -if (var379){ -var_longest = var_spd; } else { } { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_364); /* Direct call array#ArrayIterator#next on */ +{ /* Inline parser_nodes#AAnnotation#n_args (var_autoinit) on */ +var356 = var_autoinit->attrs[COLOR_nit__parser_nodes__AAnnotation___n_args].val; /* _n_args on */ +if (unlikely(var356 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2988); +fatal_exit(1); } -} else { -goto BREAK_label386; +var354 = var356; +RET_LABEL355:(void)0; } } -BREAK_label386: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_364) on */ -RET_LABEL387:(void)0; -} +var357 = nit___nit__ANodes___standard__abstract_collection__Collection__is_empty(var354); } -var_388 = var_spropdefs; -{ -var389 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_388); +if (var357){ +if (likely(varonce358!=NULL)) { +var359 = varonce358; +} else { +var360 = "Syntax Error: `autoinit` expects method identifiers, use `noautoinit` to clear all autoinits."; +var361 = standard___standard__NativeString___to_s_with_length(var360, 93l); +var359 = var361; +varonce358 = var359; } -var_390 = var389; -for(;;) { { -var391 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_390); +nit___nit__ModelBuilder___error(self, var_autoinit, var359); /* Direct call modelbuilder_base#ModelBuilder#error on */ } -if (var391){ -{ -var392 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_390); +} else { } -var_spd393 = var392; -var394 = 0; -var_i = var394; { -{ /* Inline model#MMethodDef#initializers (var_spd393) on */ -var397 = var_spd393->attrs[COLOR_nit__model__MMethodDef___initializers].val; /* _initializers on */ -if (unlikely(var397 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2146); -show_backtrace(1); +{ /* Inline parser_nodes#AAnnotation#n_args (var_autoinit) on */ +var364 = var_autoinit->attrs[COLOR_nit__parser_nodes__AAnnotation___n_args].val; /* _n_args on */ +if (unlikely(var364 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2988); +fatal_exit(1); } -var395 = var397; -RET_LABEL396:(void)0; +var362 = var364; +RET_LABEL363:(void)0; } } -var_398 = var395; +var_365 = var362; { -var399 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_398); +var366 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_365); } -var_400 = var399; +var_367 = var366; for(;;) { { -var401 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_400); +var368 = ((short int(*)(val* self))((((long)var_367&3)?class_info[((long)var_367&3)]:var_367->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_367); /* is_ok on */ } -if (var401){ +if (var368){ { -var402 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_400); +var369 = ((val*(*)(val* self))((((long)var_367&3)?class_info[((long)var_367&3)]:var_367->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_367); /* item on */ } -var_p = var402; +var_narg = var369; { -{ /* Inline model#MMethodDef#initializers (var_longest) on */ -var405 = var_longest->attrs[COLOR_nit__model__MMethodDef___initializers].val; /* _initializers on */ -if (unlikely(var405 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2146); -show_backtrace(1); +var370 = nit__literal___AExpr___as_id(var_narg); } -var403 = var405; -RET_LABEL404:(void)0; +var_id = var370; +if (var_id == NULL) { +var371 = 1; /* is null */ +} else { +var371 = 0; /* arg is null but recv is not */ } +if (0) { +var372 = ((short int(*)(val* self, val* p0))(var_id->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_id, ((val*)NULL)); /* == on */ +var371 = var372; } -{ -var406 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var403, var_i); +if (var371){ +if (likely(varonce373!=NULL)) { +var374 = varonce373; +} else { +var375 = "Syntax Error: `autoinit` expects method identifiers."; +var376 = standard___standard__NativeString___to_s_with_length(var375, 52l); +var374 = var376; +varonce373 = var374; } { -{ /* Inline kernel#Object#!= (var_p,var406) on */ -var_other238 = var406; -{ -var409 = ((short int (*)(val* self, val* p0))(var_p->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_p, var_other238) /* == on */; -} -var410 = !var409; -var407 = var410; -goto RET_LABEL408; -RET_LABEL408:(void)0; +nit___nit__ModelBuilder___error(self, var_narg, var374); /* Direct call modelbuilder_base#ModelBuilder#error on */ } +goto RET_LABEL; +} else { } -if (var407){ -if (varonce411) { -var412 = varonce411; +if (likely(varonce377!=NULL)) { +var378 = varonce377; } else { -var413 = "Error: conflict for inherited inits "; -var414 = 36; -var415 = standard___standard__NativeString___to_s_with_length(var413, var414); -var412 = var415; -varonce411 = var412; +var379 = "="; +var380 = standard___standard__NativeString___to_s_with_length(var379, 1l); +var378 = var380; +varonce377 = var378; } -if (varonce416) { -var417 = varonce416; +{ +var381 = ((val*(*)(val* self, val* p0))(var_id->class->vft[COLOR_standard__string__String___43d]))(var_id, var378); /* + on */ +} +{ +var382 = nit___nit__ModelBuilder___try_get_mproperty_by_name(self, var_narg, var_mclassdef, var381); +} +var_p = var382; +if (var_p == NULL) { +var383 = 1; /* is null */ } else { -var418 = "("; -var419 = 1; -var420 = standard___standard__NativeString___to_s_with_length(var418, var419); -var417 = var420; -varonce416 = var417; +var383 = 0; /* arg is null but recv is not */ } +if (0) { +{ /* Inline kernel#Object#== (var_p,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline model#MMethodDef#initializers (var_spd393) on */ -var423 = var_spd393->attrs[COLOR_nit__model__MMethodDef___initializers].val; /* _initializers on */ -if (unlikely(var423 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2146); -show_backtrace(1); +{ /* Inline kernel#Object#is_same_instance (var_p,var_other) on */ +var388 = var_p == var_other; +var386 = var388; +goto RET_LABEL387; +RET_LABEL387:(void)0; } -var421 = var423; -RET_LABEL422:(void)0; } +var384 = var386; +goto RET_LABEL385; +RET_LABEL385:(void)0; } -if (varonce424) { -var425 = varonce424; -} else { -var426 = ", "; -var427 = 2; -var428 = standard___standard__NativeString___to_s_with_length(var426, var427); -var425 = var428; -varonce424 = var425; +var383 = var384; } +if (var383){ { -var429 = standard__string___Collection___join(var421, var425); +var389 = nit___nit__ModelBuilder___try_get_mproperty_by_name(self, var_narg, var_mclassdef, var_id); } -if (varonce430) { -var431 = varonce430; +var_p = var389; } else { -var432 = ") and "; -var433 = 6; -var434 = standard___standard__NativeString___to_s_with_length(var432, var433); -var431 = var434; -varonce430 = var431; } -if (varonce435) { -var436 = varonce435; +if (var_p == NULL) { +var390 = 1; /* is null */ } else { -var437 = "("; -var438 = 1; -var439 = standard___standard__NativeString___to_s_with_length(var437, var438); -var436 = var439; -varonce435 = var436; +var390 = 0; /* arg is null but recv is not */ } +if (0) { +{ /* Inline kernel#Object#== (var_p,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline model#MMethodDef#initializers (var_longest) on */ -var442 = var_longest->attrs[COLOR_nit__model__MMethodDef___initializers].val; /* _initializers on */ -if (unlikely(var442 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2146); -show_backtrace(1); -} -var440 = var442; -RET_LABEL441:(void)0; +{ /* Inline kernel#Object#is_same_instance (var_p,var_other) on */ +var395 = var_p == var_other; +var393 = var395; +goto RET_LABEL394; +RET_LABEL394:(void)0; } } -if (varonce443) { -var444 = varonce443; -} else { -var445 = ", "; -var446 = 2; -var447 = standard___standard__NativeString___to_s_with_length(var445, var446); -var444 = var447; -varonce443 = var444; +var391 = var393; +goto RET_LABEL392; +RET_LABEL392:(void)0; } -{ -var448 = standard__string___Collection___join(var440, var444); +var390 = var391; } -if (varonce449) { -var450 = varonce449; +if (var390){ +if (unlikely(varonce396==NULL)) { +var397 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce398!=NULL)) { +var399 = varonce398; } else { -var451 = ")"; -var452 = 1; -var453 = standard___standard__NativeString___to_s_with_length(var451, var452); -var450 = var453; -varonce449 = var450; +var400 = "Error: unknown method `"; +var401 = standard___standard__NativeString___to_s_with_length(var400, 23l); +var399 = var401; +varonce398 = var399; } -var454 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var454 = array_instance Array[Object] */ -var455 = 9; -var456 = NEW_standard__NativeArray(var455, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var456)->values[0] = (val*) var412; -((struct instance_standard__NativeArray*)var456)->values[1] = (val*) var_spd393; -((struct instance_standard__NativeArray*)var456)->values[2] = (val*) var417; -((struct instance_standard__NativeArray*)var456)->values[3] = (val*) var429; -((struct instance_standard__NativeArray*)var456)->values[4] = (val*) var431; -((struct instance_standard__NativeArray*)var456)->values[5] = (val*) var_longest; -((struct instance_standard__NativeArray*)var456)->values[6] = (val*) var436; -((struct instance_standard__NativeArray*)var456)->values[7] = (val*) var448; -((struct instance_standard__NativeArray*)var456)->values[8] = (val*) var450; -{ -((void (*)(val* self, val* p0, long p1))(var454->class->vft[COLOR_standard__array__Array__with_native]))(var454, var456, var455) /* with_native on */; +((struct instance_standard__NativeArray*)var397)->values[0]=var399; +if (likely(varonce402!=NULL)) { +var403 = varonce402; +} else { +var404 = "`"; +var405 = standard___standard__NativeString___to_s_with_length(var404, 1l); +var403 = var405; +varonce402 = var403; } +((struct instance_standard__NativeArray*)var397)->values[2]=var403; +} else { +var397 = varonce396; +varonce396 = NULL; } +((struct instance_standard__NativeArray*)var397)->values[1]=var_id; { -var457 = ((val* (*)(val* self))(var454->class->vft[COLOR_standard__string__Object__to_s]))(var454) /* to_s on */; +var406 = ((val*(*)(val* self))(var397->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var397); /* native_to_s on */ } +varonce396 = var397; { -nit___nit__ModelBuilder___error(self, var_nclassdef, var457); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nit___nit__ModelBuilder___error(self, var_narg, var406); /* Direct call modelbuilder_base#ModelBuilder#error on */ } goto RET_LABEL; } else { } -var458 = 1; { -{ /* Inline kernel#Int#+ (var_i,var458) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var461 = 1; /* easy isa OTHER*/ -if (unlikely(!var461)) { -var_class_name464 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name464); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); -} -var465 = var_i + var458; -var459 = var465; -goto RET_LABEL460; -RET_LABEL460:(void)0; +{ /* Inline model#MProperty#is_autoinit (var_p) on */ +var409 = var_p->attrs[COLOR_nit__model__MProperty___is_autoinit].s; /* _is_autoinit on */ +var407 = var409; +RET_LABEL408:(void)0; } } -var_i = var459; -{ -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_400); /* Direct call array#ArrayIterator#next on */ +var410 = !var407; +if (var410){ +if (unlikely(varonce411==NULL)) { +var412 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce413!=NULL)) { +var414 = varonce413; +} else { +var415 = "Error: `"; +var416 = standard___standard__NativeString___to_s_with_length(var415, 8l); +var414 = var416; +varonce413 = var414; } +((struct instance_standard__NativeArray*)var412)->values[0]=var414; +if (likely(varonce417!=NULL)) { +var418 = varonce417; } else { -goto BREAK_label466; +var419 = "` is not an autoinit method"; +var420 = standard___standard__NativeString___to_s_with_length(var419, 27l); +var418 = var420; +varonce417 = var418; } +((struct instance_standard__NativeArray*)var412)->values[2]=var418; +} else { +var412 = varonce411; +varonce411 = NULL; } -BREAK_label466: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_400) on */ -RET_LABEL467:(void)0; +var421 = ((val*(*)(val* self))(var_p->class->vft[COLOR_standard__string__Object__to_s]))(var_p); /* to_s on */ } +((struct instance_standard__NativeArray*)var412)->values[1]=var421; +{ +var422 = ((val*(*)(val* self))(var412->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var412); /* native_to_s on */ } +varonce411 = var412; { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_390); /* Direct call array#ArrayIterator#next on */ +nit___nit__ModelBuilder___error(self, var_narg, var422); /* Direct call modelbuilder_base#ModelBuilder#error on */ } +goto RET_LABEL; } else { -goto BREAK_label468; } +{ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_initializers, var_p); /* Direct call array#Array#add on */ } -BREAK_label468: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_390) on */ -RET_LABEL469:(void)0; +{ /* Inline model#MProperty#intro (var_p) on */ +var425 = var_p->attrs[COLOR_nit__model__MProperty___intro].val; /* _intro on */ +if (unlikely(var425 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1968); +fatal_exit(1); } +var423 = var425; +RET_LABEL424:(void)0; } +} +var_pd = var423; +/* isa MMethodDef */ +cltype427 = type_nit__MMethodDef.color; +idtype428 = type_nit__MMethodDef.id; +if(cltype427 >= var_pd->type->table_size) { +var426 = 0; } else { +var426 = var_pd->type->type_table[cltype427] == idtype428; } +if (var426){ { -{ /* Inline array#AbstractArrayRead#length (var_spropdefs) on */ -var474 = var_spropdefs->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ -var472 = var474; -RET_LABEL473:(void)0; +{ /* Inline model#MMethodDef#msignature (var_pd) on */ +var431 = var_pd->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on */ +var429 = var431; +RET_LABEL430:(void)0; } } -var475 = 1; { -{ /* Inline kernel#Int#== (var472,var475) on */ -var478 = var472 == var475; -var476 = var478; -goto RET_LABEL477; -RET_LABEL477:(void)0; +{ /* Inline model#MClassDef#mclass (var_mclassdef) on */ +var434 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var434 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); +} +var432 = var434; +RET_LABEL433:(void)0; } } -var_479 = var476; -if (var476){ { -var480 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_mparameters128); +{ /* Inline model#MClass#mclass_type (var432) on */ +var437 = var432->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ +if (unlikely(var437 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 484); +fatal_exit(1); } -var471 = var480; -} else { -var471 = var_479; +var435 = var437; +RET_LABEL436:(void)0; } -var_481 = var471; -if (var471){ -var482 = NULL; -if (var_defined_init == NULL) { -var483 = 1; /* is null */ -} else { -var483 = 0; /* arg is null but recv is not */ } -if (0) { -{ /* Inline kernel#Object#== (var_defined_init,var482) on */ -var_other = var482; { -{ /* Inline kernel#Object#is_same_instance (var_defined_init,var_other) on */ -var488 = var_defined_init == var_other; -var486 = var488; -goto RET_LABEL487; -RET_LABEL487:(void)0; -} -} -var484 = var486; -goto RET_LABEL485; -RET_LABEL485:(void)0; +{ /* Inline model#MClassDef#bound_mtype (var_mclassdef) on */ +var440 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ +if (unlikely(var440 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 556); +fatal_exit(1); } -var483 = var484; +var438 = var440; +RET_LABEL439:(void)0; } -var470 = var483; -} else { -var470 = var_481; } -if (var470){ { -{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ -var491 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var491 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +{ /* Inline model#MClassDef#mmodule (var_mclassdef) on */ +var443 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var443 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550); +fatal_exit(1); } -var489 = var491; -RET_LABEL490:(void)0; +var441 = var443; +RET_LABEL442:(void)0; } } -if (varonce492) { -var493 = varonce492; +if (var429 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 279); +fatal_exit(1); } else { -var494 = " inherits the basic constructor "; -var495 = 32; -var496 = standard___standard__NativeString___to_s_with_length(var494, var495); -var493 = var496; -varonce492 = var493; +var444 = nit___nit__MSignature___MType__resolve_for(var429, var435, var438, var441, 0); } -var497 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var497 = array_instance Array[Object] */ -var498 = 3; -var499 = NEW_standard__NativeArray(var498, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var499)->values[0] = (val*) var_mclassdef; -((struct instance_standard__NativeArray*)var499)->values[1] = (val*) var493; -((struct instance_standard__NativeArray*)var499)->values[2] = (val*) var_longest; +var_sig445 = var444; { -((void (*)(val* self, val* p0, long p1))(var497->class->vft[COLOR_standard__array__Array__with_native]))(var497, var499, var498) /* with_native on */; +{ /* Inline model#MSignature#mparameters (var_sig445) on */ +var448 = var_sig445->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ +if (unlikely(var448 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1756); +fatal_exit(1); } +var446 = var448; +RET_LABEL447:(void)0; } -{ -var500 = ((val* (*)(val* self))(var497->class->vft[COLOR_standard__string__Object__to_s]))(var497) /* to_s on */; } -var501 = 3; +var_449 = var446; { -nit___nit__ToolContext___info(var489, var500, var501); /* Direct call toolcontext#ToolContext#info on */ +var450 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_449); } +var_451 = var450; +for(;;) { { -{ /* Inline model#MClassDef#mclass (var_mclassdef) on */ -var504 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var504 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); -} -var502 = var504; -RET_LABEL503:(void)0; -} +var452 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_451); } +if (var452){ { -{ /* Inline modelize_property#MClass#root_init= (var502,var_longest) on */ -var502->attrs[COLOR_nit__modelize_property__MClass___root_init].val = var_longest; /* _root_init on */ -RET_LABEL505:(void)0; +var453 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_451); } +var_param454 = var453; +{ +{ /* Inline model#MParameter#is_default (var_param454) on */ +var458 = var_param454->attrs[COLOR_nit__model__MParameter___is_default].s; /* _is_default on */ +var456 = var458; +RET_LABEL457:(void)0; } -goto RET_LABEL; -} else { } +var459 = !var456; +var_460 = var459; +if (var459){ { -{ /* Inline model#MMethodDef#initializers (var_longest) on */ -var508 = var_longest->attrs[COLOR_nit__model__MMethodDef___initializers].val; /* _initializers on */ -if (unlikely(var508 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2146); -show_backtrace(1); +{ /* Inline model#MParameter#mtype (var_param454) on */ +var463 = var_param454->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on */ +if (unlikely(var463 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1879); +fatal_exit(1); } -var506 = var508; -RET_LABEL507:(void)0; +var461 = var463; +RET_LABEL462:(void)0; } } -{ -{ /* Inline array#AbstractArrayRead#length (var506) on */ -var511 = var506->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ -var509 = var511; -RET_LABEL510:(void)0; +/* isa MNullableType */ +cltype465 = type_nit__MNullableType.color; +idtype466 = type_nit__MNullableType.id; +if(cltype465 >= var461->type->table_size) { +var464 = 0; +} else { +var464 = var461->type->type_table[cltype465] == idtype466; } +var455 = var464; +} else { +var455 = var_460; } -var512 = 0; +if (var455){ +var467 = NEW_nit__MParameter(&type_nit__MParameter); { -{ /* Inline kernel#Int#> (var509,var512) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var515 = 1; /* easy isa OTHER*/ -if (unlikely(!var515)) { -var_class_name518 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name518); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412); -show_backtrace(1); +{ /* Inline model#MParameter#name (var_param454) on */ +var470 = var_param454->attrs[COLOR_nit__model__MParameter___name].val; /* _name on */ +if (unlikely(var470 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1876); +fatal_exit(1); } -var519 = var509 > var512; -var513 = var519; -goto RET_LABEL514; -RET_LABEL514:(void)0; +var468 = var470; +RET_LABEL469:(void)0; } } -if (var513){ { -{ /* Inline model#MMethodDef#new_msignature (var_longest) on */ -var522 = var_longest->attrs[COLOR_nit__model__MMethodDef___new_msignature].val; /* _new_msignature on */ -var520 = var522; -RET_LABEL521:(void)0; -} +{ /* Inline model#MParameter#mtype (var_param454) on */ +var473 = var_param454->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on */ +if (unlikely(var473 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1879); +fatal_exit(1); } -if (var520 == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 252); -show_backtrace(1); -} else { -{ /* Inline model#MSignature#mparameters (var520) on */ -if (unlikely(var520 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1592); -show_backtrace(1); +var471 = var473; +RET_LABEL472:(void)0; } -var525 = var520->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ -if (unlikely(var525 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1592); -show_backtrace(1); } -var523 = var525; -RET_LABEL524:(void)0; +{ +{ /* Inline model#MParameter#is_vararg (var_param454) on */ +var476 = var_param454->attrs[COLOR_nit__model__MParameter___is_vararg].s; /* _is_vararg on */ +var474 = var476; +RET_LABEL475:(void)0; } } { -standard___standard__Sequence___prepend(var_mparameters128, var523); /* Direct call abstract_collection#Sequence#prepend on */ +((void(*)(val* self, val* p0))(var467->class->vft[COLOR_nit__model__MParameter__name_61d]))(var467, var468); /* name= on */ } { -{ /* Inline model#MMethodDef#initializers (var_longest) on */ -var528 = var_longest->attrs[COLOR_nit__model__MMethodDef___initializers].val; /* _initializers on */ -if (unlikely(var528 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2146); -show_backtrace(1); +((void(*)(val* self, val* p0))(var467->class->vft[COLOR_nit__model__MParameter__mtype_61d]))(var467, var471); /* mtype= on */ } -var526 = var528; -RET_LABEL527:(void)0; +{ +((void(*)(val* self, short int p0))(var467->class->vft[COLOR_nit__model__MParameter__is_vararg_61d]))(var467, var474); /* is_vararg= on */ } +{ +((void(*)(val* self, short int p0))(var467->class->vft[COLOR_nit__model__MParameter__is_default_61d]))(var467, 1); /* is_default= on */ } { -standard___standard__Sequence___prepend(var_initializers, var526); /* Direct call abstract_collection#Sequence#prepend on */ +((void(*)(val* self))(var467->class->vft[COLOR_standard__kernel__Object__init]))(var467); /* init on */ } +var_param454 = var467; } else { } -var529 = NULL; -if (var_defined_init == NULL) { -var530 = 0; /* is null */ -} else { -var530 = 1; /* arg is null and recv is not */ +{ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_mparameters108, var_param454); /* Direct call array#Array#add on */ } -if (0) { -{ /* Inline kernel#Object#!= (var_defined_init,var529) on */ -var_other238 = var529; { -var533 = ((short int (*)(val* self, val* p0))(var_defined_init->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_defined_init, var_other238) /* == on */; +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_451); /* Direct call array#ArrayIterator#next on */ } -var534 = !var533; -var531 = var534; -goto RET_LABEL532; -RET_LABEL532:(void)0; +} else { +goto BREAK_label477; } -var530 = var531; } -if (var530){ +BREAK_label477: (void)0; { -{ /* Inline model#MMethodDef#initializers (var_defined_init) on */ -var537 = var_defined_init->attrs[COLOR_nit__model__MMethodDef___initializers].val; /* _initializers on */ -if (unlikely(var537 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2146); -show_backtrace(1); -} -var535 = var537; -RET_LABEL536:(void)0; +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_451); /* Direct call array#ArrayIterator#finish on */ } +} else { +PRINT_ERROR("Runtime error: %s", "Aborted"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 289); +fatal_exit(1); } { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add_all(var535, var_initializers); /* Direct call array#Array#add_all on */ +((void(*)(val* self))((((long)var_367&3)?class_info[((long)var_367&3)]:var_367->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_367); /* next on */ +} +} else { +goto BREAK_label478; } -var538 = NEW_nit__MSignature(&type_nit__MSignature); -var539 = NULL; -{ -((void (*)(val* self, val* p0))(var538->class->vft[COLOR_nit__model__MSignature__mparameters_61d]))(var538, var_mparameters128) /* mparameters= on */; } +BREAK_label478: (void)0; { -((void (*)(val* self, val* p0))(var538->class->vft[COLOR_nit__model__MSignature__return_mtype_61d]))(var538, var539) /* return_mtype= on */; +((void(*)(val* self))((((long)var_367&3)?class_info[((long)var_367&3)]:var_367->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_367); /* finish on */ } +} else { { -((void (*)(val* self))(var538->class->vft[COLOR_standard__kernel__Object__init]))(var538) /* init on */; +var479 = standard___standard__SequenceRead___Collection__first(var_spropdefs); } -var_msignature540 = var538; +var_longest = var479; { -{ /* Inline model#MMethodDef#new_msignature= (var_defined_init,var_msignature540) on */ -var_defined_init->attrs[COLOR_nit__model__MMethodDef___new_msignature].val = var_msignature540; /* _new_msignature on */ -RET_LABEL541:(void)0; +{ /* Inline array#AbstractArrayRead#length (var_spropdefs) on */ +var482 = var_spropdefs->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ +var480 = var482; +RET_LABEL481:(void)0; } } { -{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ -var544 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var544 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); -} -var542 = var544; -RET_LABEL543:(void)0; +{ /* Inline kernel#Int#> (var480,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var485 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var485)) { +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, 536); +fatal_exit(1); } +var488 = var480 > 1l; +var483 = var488; +goto RET_LABEL484; +RET_LABEL484:(void)0; } -if (varonce545) { -var546 = varonce545; -} else { -var547 = " extends its basic constructor signature to "; -var548 = 44; -var549 = standard___standard__NativeString___to_s_with_length(var547, var548); -var546 = var549; -varonce545 = var546; } -var550 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var550 = array_instance Array[Object] */ -var551 = 4; -var552 = NEW_standard__NativeArray(var551, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var552)->values[0] = (val*) var_mclassdef; -((struct instance_standard__NativeArray*)var552)->values[1] = (val*) var546; -((struct instance_standard__NativeArray*)var552)->values[2] = (val*) var_defined_init; -((struct instance_standard__NativeArray*)var552)->values[3] = (val*) var_msignature540; +if (var483){ +var_489 = var_spropdefs; { -((void (*)(val* self, val* p0, long p1))(var550->class->vft[COLOR_standard__array__Array__with_native]))(var550, var552, var551) /* with_native on */; -} +var490 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_489); } +var_491 = var490; +for(;;) { { -var553 = ((val* (*)(val* self))(var550->class->vft[COLOR_standard__string__Object__to_s]))(var550) /* to_s on */; +var492 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_491); } -var554 = 3; +if (var492){ { -nit___nit__ToolContext___info(var542, var553, var554); /* Direct call toolcontext#ToolContext#info on */ +var493 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_491); } +var_spd = var493; { -{ /* Inline model#MClassDef#mclass (var_mclassdef) on */ -var557 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var557 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); +{ /* Inline model#MMethodDef#initializers (var_spd) on */ +var496 = var_spd->attrs[COLOR_nit__model__MMethodDef___initializers].val; /* _initializers on */ +if (unlikely(var496 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2345); +fatal_exit(1); } -var555 = var557; -RET_LABEL556:(void)0; +var494 = var496; +RET_LABEL495:(void)0; } } { -{ /* Inline modelize_property#MClass#root_init= (var555,var_defined_init) on */ -var555->attrs[COLOR_nit__modelize_property__MClass___root_init].val = var_defined_init; /* _root_init on */ -RET_LABEL558:(void)0; -} +{ /* Inline array#AbstractArrayRead#length (var494) on */ +var499 = var494->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ +var497 = var499; +RET_LABEL498:(void)0; } -goto RET_LABEL; -} else { } { -{ /* Inline modelize_property#ModelBuilder#the_root_init_mmethod (self) on */ -var561 = self->attrs[COLOR_nit__modelize_property__ModelBuilder___the_root_init_mmethod].val; /* _the_root_init_mmethod on */ -var559 = var561; -RET_LABEL560:(void)0; +{ /* Inline model#MMethodDef#initializers (var_longest) on */ +var502 = var_longest->attrs[COLOR_nit__model__MMethodDef___initializers].val; /* _initializers on */ +if (unlikely(var502 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2345); +fatal_exit(1); } +var500 = var502; +RET_LABEL501:(void)0; } -if (unlikely(var559 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 267); -show_backtrace(1); } -var_mprop562 = var559; -var563 = NEW_nit__MMethodDef(&type_nit__MMethodDef); { -{ /* Inline parser_nodes#ANode#location (var_nclassdef) on */ -var566 = var_nclassdef->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ -if (unlikely(var566 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 23); -show_backtrace(1); -} -var564 = var566; -RET_LABEL565:(void)0; +{ /* Inline array#AbstractArrayRead#length (var500) on */ +var505 = var500->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ +var503 = var505; +RET_LABEL504:(void)0; } } { -((void (*)(val* self, val* p0))(var563->class->vft[COLOR_nit__model__MPropDef__mclassdef_61d]))(var563, var_mclassdef) /* mclassdef= on */; +{ /* Inline kernel#Int#> (var497,var503) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var508 = 1; /* easy isa OTHER*/ +if (unlikely(!var508)) { +var_class_name511 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name511); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536); +fatal_exit(1); } -{ -((void (*)(val* self, val* p0))(var563->class->vft[COLOR_nit__model__MPropDef__mproperty_61d]))(var563, var_mprop562) /* mproperty= on */; +var512 = var497 > var503; +var506 = var512; +goto RET_LABEL507; +RET_LABEL507:(void)0; } -{ -((void (*)(val* self, val* p0))(var563->class->vft[COLOR_nit__model__MPropDef__location_61d]))(var563, var564) /* location= on */; +} +if (var506){ +var_longest = var_spd; +} else { } { -((void (*)(val* self))(var563->class->vft[COLOR_standard__kernel__Object__init]))(var563) /* init on */; +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_491); /* Direct call array#ArrayIterator#next on */ +} +} else { +goto BREAK_label513; +} } -var_mpropdef567 = var563; -var568 = 1; +BREAK_label513: (void)0; { -{ /* Inline modelize_property#MPropDef#has_supercall= (var_mpropdef567,var568) on */ -var_mpropdef567->attrs[COLOR_nit__modelize_property__MPropDef___has_supercall].s = var568; /* _has_supercall on */ -RET_LABEL569:(void)0; +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_491); /* Direct call array#ArrayIterator#finish on */ } +if (var_noautoinit == NULL) { +var514 = 1; /* is null */ +} else { +var514 = 0; /* arg is null but recv is not */ } +if (0) { +{ /* Inline kernel#Object#== (var_noautoinit,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline model#MMethodDef#initializers (var_mpropdef567) on */ -var572 = var_mpropdef567->attrs[COLOR_nit__model__MMethodDef___initializers].val; /* _initializers on */ -if (unlikely(var572 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2146); -show_backtrace(1); +{ /* Inline kernel#Object#is_same_instance (var_noautoinit,var_other) on */ +var519 = var_noautoinit == var_other; +var517 = var519; +goto RET_LABEL518; +RET_LABEL518:(void)0; } -var570 = var572; -RET_LABEL571:(void)0; } +var515 = var517; +goto RET_LABEL516; +RET_LABEL516:(void)0; } -{ -standard___standard__Array___standard__abstract_collection__SimpleCollection__add_all(var570, var_initializers); /* Direct call array#Array#add_all on */ +var514 = var515; } -var573 = NEW_nit__MSignature(&type_nit__MSignature); -var574 = NULL; +if (var514){ +var_520 = var_spropdefs; { -((void (*)(val* self, val* p0))(var573->class->vft[COLOR_nit__model__MSignature__mparameters_61d]))(var573, var_mparameters128) /* mparameters= on */; +var521 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_520); } +var_522 = var521; +for(;;) { { -((void (*)(val* self, val* p0))(var573->class->vft[COLOR_nit__model__MSignature__return_mtype_61d]))(var573, var574) /* return_mtype= on */; +var523 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_522); } +if (var523){ { -((void (*)(val* self))(var573->class->vft[COLOR_standard__kernel__Object__init]))(var573) /* init on */; +var524 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_522); } -var_msignature575 = var573; +var_spd525 = var524; +var_i = 0l; { -{ /* Inline model#MMethodDef#new_msignature= (var_mpropdef567,var_msignature575) on */ -var_mpropdef567->attrs[COLOR_nit__model__MMethodDef___new_msignature].val = var_msignature575; /* _new_msignature on */ -RET_LABEL576:(void)0; +{ /* Inline model#MMethodDef#initializers (var_spd525) on */ +var528 = var_spd525->attrs[COLOR_nit__model__MMethodDef___initializers].val; /* _initializers on */ +if (unlikely(var528 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2345); +fatal_exit(1); } +var526 = var528; +RET_LABEL527:(void)0; } -var577 = NEW_nit__MSignature(&type_nit__MSignature); -var578 = NEW_standard__Array(&type_standard__Array__nit__MParameter); -{ -standard___standard__Array___standard__kernel__Object__init(var578); /* Direct call array#Array#init on */ } -var579 = NULL; +var_529 = var526; { -((void (*)(val* self, val* p0))(var577->class->vft[COLOR_nit__model__MSignature__mparameters_61d]))(var577, var578) /* mparameters= on */; +var530 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_529); } +var_531 = var530; +for(;;) { { -((void (*)(val* self, val* p0))(var577->class->vft[COLOR_nit__model__MSignature__return_mtype_61d]))(var577, var579) /* return_mtype= on */; +var532 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_531); } +if (var532){ { -((void (*)(val* self))(var577->class->vft[COLOR_standard__kernel__Object__init]))(var577) /* init on */; +var533 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_531); } +var_p534 = var533; { -{ /* Inline model#MMethodDef#msignature= (var_mpropdef567,var577) on */ -var_mpropdef567->attrs[COLOR_nit__model__MMethodDef___msignature].val = var577; /* _msignature on */ -RET_LABEL580:(void)0; +{ /* Inline model#MMethodDef#initializers (var_longest) on */ +var537 = var_longest->attrs[COLOR_nit__model__MMethodDef___initializers].val; /* _initializers on */ +if (unlikely(var537 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2345); +fatal_exit(1); +} +var535 = var537; +RET_LABEL536:(void)0; } } { -{ /* Inline modelize_property#AClassdef#mfree_init= (var_nclassdef,var_mpropdef567) on */ -var_nclassdef->attrs[COLOR_nit__modelize_property__AClassdef___mfree_init].val = var_mpropdef567; /* _mfree_init on */ -RET_LABEL581:(void)0; -} +var538 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var535, var_i); } { -{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ -var584 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var584 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +{ /* Inline kernel#Object#!= (var_p534,var538) on */ +var_other213 = var538; +{ +var541 = ((short int(*)(val* self, val* p0))(var_p534->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_p534, var_other213); /* == on */ } -var582 = var584; -RET_LABEL583:(void)0; +var542 = !var541; +var539 = var542; +goto RET_LABEL540; +RET_LABEL540:(void)0; } } -if (varonce585) { -var586 = varonce585; +if (var539){ +if (unlikely(varonce543==NULL)) { +var544 = NEW_standard__NativeArray(9l, &type_standard__NativeArray__standard__String); +if (likely(varonce545!=NULL)) { +var546 = varonce545; } else { -var587 = " gets a free constructor for attributes "; -var588 = 40; -var589 = standard___standard__NativeString___to_s_with_length(var587, var588); -var586 = var589; -varonce585 = var586; +var547 = "Error: conflict for inherited inits "; +var548 = standard___standard__NativeString___to_s_with_length(var547, 36l); +var546 = var548; +varonce545 = var546; } -var590 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var590 = array_instance Array[Object] */ -var591 = 4; -var592 = NEW_standard__NativeArray(var591, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var592)->values[0] = (val*) var_mclassdef; -((struct instance_standard__NativeArray*)var592)->values[1] = (val*) var586; -((struct instance_standard__NativeArray*)var592)->values[2] = (val*) var_mpropdef567; -((struct instance_standard__NativeArray*)var592)->values[3] = (val*) var_msignature575; -{ -((void (*)(val* self, val* p0, long p1))(var590->class->vft[COLOR_standard__array__Array__with_native]))(var590, var592, var591) /* with_native on */; +((struct instance_standard__NativeArray*)var544)->values[0]=var546; +if (likely(varonce549!=NULL)) { +var550 = varonce549; +} else { +var551 = "("; +var552 = standard___standard__NativeString___to_s_with_length(var551, 1l); +var550 = var552; +varonce549 = var550; } +((struct instance_standard__NativeArray*)var544)->values[2]=var550; +if (likely(varonce553!=NULL)) { +var554 = varonce553; +} else { +var555 = ") and "; +var556 = standard___standard__NativeString___to_s_with_length(var555, 6l); +var554 = var556; +varonce553 = var554; } -{ -var593 = ((val* (*)(val* self))(var590->class->vft[COLOR_standard__string__Object__to_s]))(var590) /* to_s on */; +((struct instance_standard__NativeArray*)var544)->values[4]=var554; +if (likely(varonce557!=NULL)) { +var558 = varonce557; +} else { +var559 = "("; +var560 = standard___standard__NativeString___to_s_with_length(var559, 1l); +var558 = var560; +varonce557 = var558; +} +((struct instance_standard__NativeArray*)var544)->values[6]=var558; +if (likely(varonce561!=NULL)) { +var562 = varonce561; +} else { +var563 = ")"; +var564 = standard___standard__NativeString___to_s_with_length(var563, 1l); +var562 = var564; +varonce561 = var562; +} +((struct instance_standard__NativeArray*)var544)->values[8]=var562; +} else { +var544 = varonce543; +varonce543 = NULL; } -var594 = 3; { -nit___nit__ToolContext___info(var582, var593, var594); /* Direct call toolcontext#ToolContext#info on */ +var565 = ((val*(*)(val* self))(var_spd525->class->vft[COLOR_standard__string__Object__to_s]))(var_spd525); /* to_s on */ } +((struct instance_standard__NativeArray*)var544)->values[1]=var565; { -{ /* Inline model#MClassDef#mclass (var_mclassdef) on */ -var597 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var597 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); +{ /* Inline model#MMethodDef#initializers (var_spd525) on */ +var568 = var_spd525->attrs[COLOR_nit__model__MMethodDef___initializers].val; /* _initializers on */ +if (unlikely(var568 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2345); +fatal_exit(1); } -var595 = var597; -RET_LABEL596:(void)0; +var566 = var568; +RET_LABEL567:(void)0; } } -{ -{ /* Inline modelize_property#MClass#root_init= (var595,var_mpropdef567) on */ -var595->attrs[COLOR_nit__modelize_property__MClass___root_init].val = var_mpropdef567; /* _root_init on */ -RET_LABEL598:(void)0; +if (likely(varonce569!=NULL)) { +var570 = varonce569; +} else { +var571 = ", "; +var572 = standard___standard__NativeString___to_s_with_length(var571, 2l); +var570 = var572; +varonce569 = var570; } +{ +var573 = standard__string___Collection___join(var566, var570); } -RET_LABEL:; +((struct instance_standard__NativeArray*)var544)->values[3]=var573; +{ +var574 = ((val*(*)(val* self))(var_longest->class->vft[COLOR_standard__string__Object__to_s]))(var_longest); /* to_s on */ } -/* method modelize_property#ModelBuilder#check_visibility for (self: ModelBuilder, ANode, MType, MPropDef) */ -void nit__modelize_property___ModelBuilder___check_visibility(val* self, val* p0, val* p1, val* p2) { -val* var_node /* var node: ANode */; -val* var_mtype /* var mtype: MType */; -val* var_mpropdef /* var mpropdef: MPropDef */; -val* var /* : MClassDef */; -val* var2 /* : MClassDef */; -val* var3 /* : MModule */; -val* var5 /* : MModule */; -val* var_mmodule /* var mmodule: MModule */; -val* var6 /* : MProperty */; -val* var8 /* : MProperty */; -val* var_mproperty /* var mproperty: MProperty */; -val* var9 /* : null */; -val* var_vis_type /* var vis_type: nullable MVisibility */; -val* var10 /* : null */; -val* var_mmodule_type /* var mmodule_type: nullable MModule */; -val* var11 /* : MType */; -short int var12 /* : Bool */; -int cltype; -int idtype; -val* var13 /* : MClass */; -val* var15 /* : MClass */; -val* var16 /* : MVisibility */; -val* var18 /* : MVisibility */; -val* var19 /* : MClass */; -val* var21 /* : MClass */; -val* var22 /* : MClassDef */; -val* var24 /* : MClassDef */; -val* var25 /* : MModule */; -val* var27 /* : MModule */; -short int var28 /* : Bool */; -int cltype29; -int idtype30; -val* var31 /* : MVirtualTypeProp */; -val* var33 /* : MVirtualTypeProp */; -val* var34 /* : MVisibility */; -val* var36 /* : MVisibility */; -val* var37 /* : MVirtualTypeProp */; -val* var39 /* : MVirtualTypeProp */; -val* var40 /* : MClassDef */; -val* var42 /* : MClassDef */; -val* var43 /* : MModule */; -val* var45 /* : MModule */; -short int var46 /* : Bool */; -int cltype47; -int idtype48; -static val* varonce; -val* var49 /* : String */; -char* var50 /* : NativeString */; -long var51 /* : Int */; -val* var52 /* : FlatString */; -val* var53 /* : Array[Object] */; -long var54 /* : Int */; -val* var55 /* : NativeArray[Object] */; -val* var56 /* : String */; -val* var57 /* : null */; -short int var58 /* : Bool */; -short int var59 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var61 /* : Bool */; -short int var62 /* : Bool */; -val* var63 /* : null */; -short int var64 /* : Bool */; -short int var65 /* : Bool */; -short int var67 /* : Bool */; -short int var68 /* : Bool */; -val* var69 /* : MVisibility */; -val* var_vis_module_type /* var vis_module_type: MVisibility */; -val* var70 /* : MVisibility */; -val* var72 /* : MVisibility */; -short int var73 /* : Bool */; -static val* varonce74; -val* var75 /* : String */; -char* var76 /* : NativeString */; -long var77 /* : Int */; -val* var78 /* : FlatString */; -val* var79 /* : MVisibility */; -val* var81 /* : MVisibility */; -static val* varonce82; -val* var83 /* : String */; -char* var84 /* : NativeString */; -long var85 /* : Int */; -val* var86 /* : FlatString */; -static val* varonce87; -val* var88 /* : String */; -char* var89 /* : NativeString */; -long var90 /* : Int */; -val* var91 /* : FlatString */; -static val* varonce92; -val* var93 /* : String */; -char* var94 /* : NativeString */; -long var95 /* : Int */; -val* var96 /* : FlatString */; -static val* varonce97; -val* var98 /* : String */; -char* var99 /* : NativeString */; -long var100 /* : Int */; -val* var101 /* : FlatString */; -val* var102 /* : Array[Object] */; -long var103 /* : Int */; -val* var104 /* : NativeArray[Object] */; -val* var105 /* : String */; -val* var106 /* : MVisibility */; -val* var108 /* : MVisibility */; -short int var109 /* : Bool */; -static val* varonce110; -val* var111 /* : String */; -char* var112 /* : NativeString */; -long var113 /* : Int */; -val* var114 /* : FlatString */; -val* var115 /* : MVisibility */; -val* var117 /* : MVisibility */; -static val* varonce118; -val* var119 /* : String */; -char* var120 /* : NativeString */; -long var121 /* : Int */; -val* var122 /* : FlatString */; -static val* varonce123; -val* var124 /* : String */; -char* var125 /* : NativeString */; -long var126 /* : Int */; -val* var127 /* : FlatString */; -static val* varonce128; -val* var129 /* : String */; -char* var130 /* : NativeString */; -long var131 /* : Int */; -val* var132 /* : FlatString */; -static val* varonce133; -val* var134 /* : String */; -char* var135 /* : NativeString */; -long var136 /* : Int */; -val* var137 /* : FlatString */; -static val* varonce138; -val* var139 /* : String */; -char* var140 /* : NativeString */; -long var141 /* : Int */; -val* var142 /* : FlatString */; -val* var143 /* : Array[Object] */; -long var144 /* : Int */; -val* var145 /* : NativeArray[Object] */; -val* var146 /* : String */; -short int var147 /* : Bool */; -int cltype148; -int idtype149; -val* var150 /* : ANodes[AType] */; -val* var152 /* : ANodes[AType] */; -val* var_ /* var : ANodes[AType] */; -val* var153 /* : Iterator[ANode] */; -val* var_154 /* var : Iterator[AType] */; -short int var155 /* : Bool */; -val* var156 /* : nullable Object */; -val* var_a /* var a: AType */; -val* var157 /* : nullable MType */; -val* var159 /* : nullable MType */; -val* var_t /* var t: nullable MType */; -val* var160 /* : null */; -short int var161 /* : Bool */; -short int var162 /* : Bool */; -val* var_other164 /* var other: nullable Object */; -short int var165 /* : Bool */; -short int var167 /* : Bool */; -short int var170 /* : Bool */; -int cltype171; -int idtype172; -val* var173 /* : Array[MType] */; -val* var175 /* : Array[MType] */; -val* var_176 /* var : Array[MType] */; -val* var177 /* : ArrayIterator[nullable Object] */; -val* var_178 /* var : ArrayIterator[MType] */; -short int var179 /* : Bool */; -val* var180 /* : nullable Object */; -val* var_t181 /* var t: MType */; -var_node = p0; -var_mtype = p1; -var_mpropdef = p2; +((struct instance_standard__NativeArray*)var544)->values[5]=var574; { -{ /* Inline model#MPropDef#mclassdef (var_mpropdef) on */ -var2 = var_mpropdef->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); +{ /* Inline model#MMethodDef#initializers (var_longest) on */ +var577 = var_longest->attrs[COLOR_nit__model__MMethodDef___initializers].val; /* _initializers on */ +if (unlikely(var577 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2345); +fatal_exit(1); +} +var575 = var577; +RET_LABEL576:(void)0; } -var = var2; -RET_LABEL1:(void)0; } +if (likely(varonce578!=NULL)) { +var579 = varonce578; +} else { +var580 = ", "; +var581 = standard___standard__NativeString___to_s_with_length(var580, 2l); +var579 = var581; +varonce578 = var579; } { -{ /* Inline model#MClassDef#mmodule (var) on */ -var5 = var->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var5 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 489); -show_backtrace(1); +var582 = standard__string___Collection___join(var575, var579); } -var3 = var5; -RET_LABEL4:(void)0; +((struct instance_standard__NativeArray*)var544)->values[7]=var582; +{ +var583 = ((val*(*)(val* self))(var544->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var544); /* native_to_s on */ } +varonce543 = var544; +{ +nit___nit__ModelBuilder___error(self, var_nclassdef, var583); /* Direct call modelbuilder_base#ModelBuilder#error on */ +} +goto RET_LABEL; +} else { } -var_mmodule = var3; { -{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ -var8 = var_mpropdef->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); +{ /* Inline kernel#Int#+ (var_i,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var586 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var586)) { +var_class_name589 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name589); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var6 = var8; -RET_LABEL7:(void)0; +var590 = var_i + 1l; +var584 = var590; +goto RET_LABEL585; +RET_LABEL585:(void)0; } } -var_mproperty = var6; -var9 = NULL; -var_vis_type = var9; -var10 = NULL; -var_mmodule_type = var10; +var_i = var584; { -var11 = ((val* (*)(val* self))(var_mtype->class->vft[COLOR_nit__model__MType__as_notnullable]))(var_mtype) /* as_notnullable on */; +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_531); /* Direct call array#ArrayIterator#next on */ } -var_mtype = var11; -/* isa MClassType */ -cltype = type_nit__MClassType.color; -idtype = type_nit__MClassType.id; -if(cltype >= var_mtype->type->table_size) { -var12 = 0; } else { -var12 = var_mtype->type->type_table[cltype] == idtype; +goto BREAK_label591; } -if (var12){ +} +BREAK_label591: (void)0; { -{ /* Inline model#MClassType#mclass (var_mtype) on */ -var15 = var_mtype->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ -if (unlikely(var15 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1058); -show_backtrace(1); +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_531); /* Direct call array#ArrayIterator#finish on */ } -var13 = var15; -RET_LABEL14:(void)0; +{ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_522); /* Direct call array#ArrayIterator#next on */ +} +} else { +goto BREAK_label592; } } +BREAK_label592: (void)0; { -{ /* Inline model#MClass#visibility (var13) on */ -var18 = var13->attrs[COLOR_nit__model__MClass___visibility].val; /* _visibility on */ -if (unlikely(var18 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 403); -show_backtrace(1); +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_522); /* Direct call array#ArrayIterator#finish on */ } -var16 = var18; -RET_LABEL17:(void)0; +} else { } +} else { +} +if (var_noautoinit == NULL) { +var593 = 0; /* is null */ +} else { +var593 = 1; /* arg is null and recv is not */ } -var_vis_type = var16; +if (0) { +{ /* Inline kernel#Object#!= (var_noautoinit,((val*)NULL)) on */ +var_other213 = ((val*)NULL); { -{ /* Inline model#MClassType#mclass (var_mtype) on */ -var21 = var_mtype->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ -if (unlikely(var21 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1058); -show_backtrace(1); +var596 = ((short int(*)(val* self, val* p0))(var_noautoinit->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_noautoinit, var_other213); /* == on */ } -var19 = var21; -RET_LABEL20:(void)0; +var597 = !var596; +var594 = var597; +goto RET_LABEL595; +RET_LABEL595:(void)0; } +var593 = var594; } +if (var593){ { -{ /* Inline model#MClass#intro (var19) on */ -var24 = var19->attrs[COLOR_nit__model__MClass___intro].val; /* _intro on */ -if (unlikely(var24 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 423); -show_backtrace(1); +var599 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_initializers); } -var22 = var24; -RET_LABEL23:(void)0; +var_600 = var599; +if (var599){ +{ +{ /* Inline model#MMethodDef#initializers (var_longest) on */ +var603 = var_longest->attrs[COLOR_nit__model__MMethodDef___initializers].val; /* _initializers on */ +if (unlikely(var603 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2345); +fatal_exit(1); } +var601 = var603; +RET_LABEL602:(void)0; } -{ -{ /* Inline model#MClassDef#mmodule (var22) on */ -var27 = var22->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var27 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 489); -show_backtrace(1); } -var25 = var27; -RET_LABEL26:(void)0; +{ +var604 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var601); } +var598 = var604; +} else { +var598 = var_600; } -var_mmodule_type = var25; +if (var598){ +if (likely(varonce605!=NULL)) { +var606 = varonce605; } else { -/* isa MVirtualType */ -cltype29 = type_nit__MVirtualType.color; -idtype30 = type_nit__MVirtualType.id; -if(cltype29 >= var_mtype->type->table_size) { -var28 = 0; +var607 = "useless-noautoinit"; +var608 = standard___standard__NativeString___to_s_with_length(var607, 18l); +var606 = var608; +varonce605 = var606; +} +if (likely(varonce609!=NULL)) { +var610 = varonce609; } else { -var28 = var_mtype->type->type_table[cltype29] == idtype30; +var611 = "Warning: the list of autoinit is already empty."; +var612 = standard___standard__NativeString___to_s_with_length(var611, 47l); +var610 = var612; +varonce609 = var610; } -if (var28){ { -{ /* Inline model#MVirtualType#mproperty (var_mtype) on */ -var33 = var_mtype->attrs[COLOR_nit__model__MVirtualType___mproperty].val; /* _mproperty on */ -if (unlikely(var33 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1254); -show_backtrace(1); +nit___nit__ModelBuilder___warning(self, var_noautoinit, var606, var610); /* Direct call modelbuilder_base#ModelBuilder#warning on */ } -var31 = var33; -RET_LABEL32:(void)0; +} else { } +{ +standard___standard__AbstractArray___standard__abstract_collection__RemovableCollection__clear(var_mparameters108); /* Direct call array#AbstractArray#clear on */ } { -{ /* Inline model#MProperty#visibility (var31) on */ -var36 = var31->attrs[COLOR_nit__model__MProperty___visibility].val; /* _visibility on */ -if (unlikely(var36 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1757); -show_backtrace(1); +standard___standard__AbstractArray___standard__abstract_collection__RemovableCollection__clear(var_initializers); /* Direct call array#AbstractArray#clear on */ } -var34 = var36; -RET_LABEL35:(void)0; +} else { +{ +{ /* Inline array#AbstractArrayRead#length (var_spropdefs) on */ +var617 = var_spropdefs->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ +var615 = var617; +RET_LABEL616:(void)0; } } -var_vis_type = var34; { -{ /* Inline model#MVirtualType#mproperty (var_mtype) on */ -var39 = var_mtype->attrs[COLOR_nit__model__MVirtualType___mproperty].val; /* _mproperty on */ -if (unlikely(var39 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1254); -show_backtrace(1); -} -var37 = var39; -RET_LABEL38:(void)0; +{ /* Inline kernel#Int#== (var615,1l) on */ +var620 = var615 == 1l; +var618 = var620; +goto RET_LABEL619; +RET_LABEL619:(void)0; } } +var_621 = var618; +if (var618){ { -{ /* Inline model#MProperty#intro_mclassdef (var37) on */ -var42 = var37->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ -if (unlikely(var42 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1736); -show_backtrace(1); +var622 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_mparameters108); } -var40 = var42; -RET_LABEL41:(void)0; +var614 = var622; +} else { +var614 = var_621; } +var_623 = var614; +if (var614){ +if (var_defined_init == NULL) { +var624 = 1; /* is null */ +} else { +var624 = 0; /* arg is null but recv is not */ } +if (0) { +{ /* Inline kernel#Object#== (var_defined_init,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline model#MClassDef#mmodule (var40) on */ -var45 = var40->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var45 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 489); -show_backtrace(1); +{ /* Inline kernel#Object#is_same_instance (var_defined_init,var_other) on */ +var629 = var_defined_init == var_other; +var627 = var629; +goto RET_LABEL628; +RET_LABEL628:(void)0; } -var43 = var45; -RET_LABEL44:(void)0; } +var625 = var627; +goto RET_LABEL626; +RET_LABEL626:(void)0; } -var_mmodule_type = var43; -} else { -/* isa MParameterType */ -cltype47 = type_nit__MParameterType.color; -idtype48 = type_nit__MParameterType.id; -if(cltype47 >= var_mtype->type->table_size) { -var46 = 0; +var624 = var625; +} +var613 = var624; } else { -var46 = var_mtype->type->type_table[cltype47] == idtype48; +var613 = var_623; } -if (var46){ +if (var613){ +{ +{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ +var632 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var632 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); +fatal_exit(1); +} +var630 = var632; +RET_LABEL631:(void)0; +} +} +if (unlikely(varonce633==NULL)) { +var634 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce635!=NULL)) { +var636 = varonce635; } else { -if (varonce) { -var49 = varonce; +var637 = " inherits the basic constructor "; +var638 = standard___standard__NativeString___to_s_with_length(var637, 32l); +var636 = var638; +varonce635 = var636; +} +((struct instance_standard__NativeArray*)var634)->values[1]=var636; } else { -var50 = "Unexpected type "; -var51 = 16; -var52 = standard___standard__NativeString___to_s_with_length(var50, var51); -var49 = var52; -varonce = var49; +var634 = varonce633; +varonce633 = NULL; } -var53 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var53 = array_instance Array[Object] */ -var54 = 2; -var55 = NEW_standard__NativeArray(var54, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var55)->values[0] = (val*) var49; -((struct instance_standard__NativeArray*)var55)->values[1] = (val*) var_mtype; { -((void (*)(val* self, val* p0, long p1))(var53->class->vft[COLOR_standard__array__Array__with_native]))(var53, var55, var54) /* with_native on */; -} +var639 = ((val*(*)(val* self))(var_mclassdef->class->vft[COLOR_standard__string__Object__to_s]))(var_mclassdef); /* to_s on */ } +((struct instance_standard__NativeArray*)var634)->values[0]=var639; { -var56 = ((val* (*)(val* self))(var53->class->vft[COLOR_standard__string__Object__to_s]))(var53) /* to_s on */; +var640 = ((val*(*)(val* self))(var_longest->class->vft[COLOR_standard__string__Object__to_s]))(var_longest); /* to_s on */ } +((struct instance_standard__NativeArray*)var634)->values[2]=var640; { -nit___nit__ANode___debug(var_node, var56); /* Direct call parser_nodes#ANode#debug on */ +var641 = ((val*(*)(val* self))(var634->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var634); /* native_to_s on */ } -PRINT_ERROR("Runtime error: %s", "Aborted"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 300); -show_backtrace(1); +varonce633 = var634; +{ +nit___nit__ToolContext___info(var630, var641, 3l); /* Direct call toolcontext#ToolContext#info on */ } +{ +{ /* Inline model#MClassDef#mclass (var_mclassdef) on */ +var644 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var644 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); } +var642 = var644; +RET_LABEL643:(void)0; } -var57 = NULL; -if (var_vis_type == NULL) { -var58 = 0; /* is null */ -} else { -var58 = 1; /* arg is null and recv is not */ } -if (0) { -{ /* Inline kernel#Object#!= (var_vis_type,var57) on */ -var_other = var57; { -var61 = ((short int (*)(val* self, val* p0))(var_vis_type->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_vis_type, var_other) /* == on */; -} -var62 = !var61; -var59 = var62; -goto RET_LABEL60; -RET_LABEL60:(void)0; +{ /* Inline modelize_property#MClass#root_init= (var642,var_longest) on */ +var642->attrs[COLOR_nit__modelize_property__MClass___root_init].val = var_longest; /* _root_init on */ +RET_LABEL645:(void)0; } -var58 = var59; } -if (var58){ -var63 = NULL; -if (var_mmodule_type == NULL) { -var64 = 0; /* is null */ +goto RET_LABEL; } else { -var64 = 1; /* arg is null and recv is not */ } -if (0) { -{ /* Inline kernel#Object#!= (var_mmodule_type,var63) on */ -var_other = var63; { -var67 = ((short int (*)(val* self, val* p0))(var_mmodule_type->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mmodule_type, var_other) /* == on */; -} -var68 = !var67; -var65 = var68; -goto RET_LABEL66; -RET_LABEL66:(void)0; +{ /* Inline model#MMethodDef#initializers (var_longest) on */ +var648 = var_longest->attrs[COLOR_nit__model__MMethodDef___initializers].val; /* _initializers on */ +if (unlikely(var648 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2345); +fatal_exit(1); } -var64 = var65; +var646 = var648; +RET_LABEL647:(void)0; } -if (unlikely(!var64)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 304); -show_backtrace(1); } { -var69 = nit___nit__MModule___visibility_for(var_mmodule, var_mmodule_type); +{ /* Inline array#AbstractArrayRead#length (var646) on */ +var651 = var646->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ +var649 = var651; +RET_LABEL650:(void)0; +} } -var_vis_module_type = var69; { -{ /* Inline model#MProperty#visibility (var_mproperty) on */ -var72 = var_mproperty->attrs[COLOR_nit__model__MProperty___visibility].val; /* _visibility on */ -if (unlikely(var72 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1757); -show_backtrace(1); +{ /* Inline kernel#Int#> (var649,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var654 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var654)) { +var_class_name657 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name657); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536); +fatal_exit(1); } -var70 = var72; -RET_LABEL71:(void)0; +var658 = var649 > 0l; +var652 = var658; +goto RET_LABEL653; +RET_LABEL653:(void)0; } } +if (var652){ { -var73 = standard___standard__Comparable____62d(var70, var_vis_type); +{ /* Inline model#MMethodDef#new_msignature (var_longest) on */ +var661 = var_longest->attrs[COLOR_nit__model__MMethodDef___new_msignature].val; /* _new_msignature on */ +var659 = var661; +RET_LABEL660:(void)0; } -if (var73){ -if (varonce74) { -var75 = varonce74; +} +if (var659 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 335); +fatal_exit(1); } else { -var76 = "Error: The "; -var77 = 11; -var78 = standard___standard__NativeString___to_s_with_length(var76, var77); -var75 = var78; -varonce74 = var75; +{ /* Inline model#MSignature#mparameters (var659) on */ +if (unlikely(var659 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1756); +fatal_exit(1); } -{ -{ /* Inline model#MProperty#visibility (var_mproperty) on */ -var81 = var_mproperty->attrs[COLOR_nit__model__MProperty___visibility].val; /* _visibility on */ -if (unlikely(var81 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1757); -show_backtrace(1); +var664 = var659->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ +if (unlikely(var664 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1756); +fatal_exit(1); } -var79 = var81; -RET_LABEL80:(void)0; -} -} -if (varonce82) { -var83 = varonce82; -} else { -var84 = " property `"; -var85 = 11; -var86 = standard___standard__NativeString___to_s_with_length(var84, var85); -var83 = var86; -varonce82 = var83; -} -if (varonce87) { -var88 = varonce87; -} else { -var89 = "` cannot contain the "; -var90 = 21; -var91 = standard___standard__NativeString___to_s_with_length(var89, var90); -var88 = var91; -varonce87 = var88; +var662 = var664; +RET_LABEL663:(void)0; } -if (varonce92) { -var93 = varonce92; -} else { -var94 = " type `"; -var95 = 7; -var96 = standard___standard__NativeString___to_s_with_length(var94, var95); -var93 = var96; -varonce92 = var93; } -if (varonce97) { -var98 = varonce97; -} else { -var99 = "`"; -var100 = 1; -var101 = standard___standard__NativeString___to_s_with_length(var99, var100); -var98 = var101; -varonce97 = var98; +{ +standard___standard__Sequence___prepend(var_mparameters108, var662); /* Direct call abstract_collection#Sequence#prepend on */ } -var102 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var102 = array_instance Array[Object] */ -var103 = 9; -var104 = NEW_standard__NativeArray(var103, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var104)->values[0] = (val*) var75; -((struct instance_standard__NativeArray*)var104)->values[1] = (val*) var79; -((struct instance_standard__NativeArray*)var104)->values[2] = (val*) var83; -((struct instance_standard__NativeArray*)var104)->values[3] = (val*) var_mproperty; -((struct instance_standard__NativeArray*)var104)->values[4] = (val*) var88; -((struct instance_standard__NativeArray*)var104)->values[5] = (val*) var_vis_type; -((struct instance_standard__NativeArray*)var104)->values[6] = (val*) var93; -((struct instance_standard__NativeArray*)var104)->values[7] = (val*) var_mtype; -((struct instance_standard__NativeArray*)var104)->values[8] = (val*) var98; { -((void (*)(val* self, val* p0, long p1))(var102->class->vft[COLOR_standard__array__Array__with_native]))(var102, var104, var103) /* with_native on */; +{ /* Inline model#MMethodDef#initializers (var_longest) on */ +var667 = var_longest->attrs[COLOR_nit__model__MMethodDef___initializers].val; /* _initializers on */ +if (unlikely(var667 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2345); +fatal_exit(1); } +var665 = var667; +RET_LABEL666:(void)0; } -{ -var105 = ((val* (*)(val* self))(var102->class->vft[COLOR_standard__string__Object__to_s]))(var102) /* to_s on */; } { -nit___nit__ModelBuilder___error(self, var_node, var105); /* Direct call modelbuilder_base#ModelBuilder#error on */ +standard___standard__Sequence___prepend(var_initializers, var665); /* Direct call abstract_collection#Sequence#prepend on */ } -goto RET_LABEL; } else { -{ -{ /* Inline model#MProperty#visibility (var_mproperty) on */ -var108 = var_mproperty->attrs[COLOR_nit__model__MProperty___visibility].val; /* _visibility on */ -if (unlikely(var108 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1757); -show_backtrace(1); -} -var106 = var108; -RET_LABEL107:(void)0; } } -{ -var109 = standard___standard__Comparable____62d(var106, var_vis_module_type); } -if (var109){ -if (varonce110) { -var111 = varonce110; +if (var_defined_init == NULL) { +var668 = 0; /* is null */ } else { -var112 = "Error: The "; -var113 = 11; -var114 = standard___standard__NativeString___to_s_with_length(var112, var113); -var111 = var114; -varonce110 = var111; +var668 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_defined_init,((val*)NULL)) on */ +var_other213 = ((val*)NULL); { -{ /* Inline model#MProperty#visibility (var_mproperty) on */ -var117 = var_mproperty->attrs[COLOR_nit__model__MProperty___visibility].val; /* _visibility on */ -if (unlikely(var117 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1757); -show_backtrace(1); +var671 = ((short int(*)(val* self, val* p0))(var_defined_init->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_defined_init, var_other213); /* == on */ } -var115 = var117; -RET_LABEL116:(void)0; +var672 = !var671; +var669 = var672; +goto RET_LABEL670; +RET_LABEL670:(void)0; } +var668 = var669; } -if (varonce118) { -var119 = varonce118; -} else { -var120 = " property `"; -var121 = 11; -var122 = standard___standard__NativeString___to_s_with_length(var120, var121); -var119 = var122; -varonce118 = var119; +if (var668){ +{ +{ /* Inline model#MMethodDef#initializers (var_defined_init) on */ +var675 = var_defined_init->attrs[COLOR_nit__model__MMethodDef___initializers].val; /* _initializers on */ +if (unlikely(var675 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2345); +fatal_exit(1); } -if (varonce123) { -var124 = varonce123; -} else { -var125 = "` cannot contain the type `"; -var126 = 27; -var127 = standard___standard__NativeString___to_s_with_length(var125, var126); -var124 = var127; -varonce123 = var124; +var673 = var675; +RET_LABEL674:(void)0; } -if (varonce128) { -var129 = varonce128; -} else { -var130 = "` from the "; -var131 = 11; -var132 = standard___standard__NativeString___to_s_with_length(var130, var131); -var129 = var132; -varonce128 = var129; } -if (varonce133) { -var134 = varonce133; -} else { -var135 = " module `"; -var136 = 9; -var137 = standard___standard__NativeString___to_s_with_length(var135, var136); -var134 = var137; -varonce133 = var134; +{ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add_all(var673, var_initializers); /* Direct call array#Array#add_all on */ } -if (varonce138) { -var139 = varonce138; -} else { -var140 = "`"; -var141 = 1; -var142 = standard___standard__NativeString___to_s_with_length(var140, var141); -var139 = var142; -varonce138 = var139; +var676 = NEW_nit__MSignature(&type_nit__MSignature); +{ +((void(*)(val* self, val* p0))(var676->class->vft[COLOR_nit__model__MSignature__mparameters_61d]))(var676, var_mparameters108); /* mparameters= on */ } -var143 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var143 = array_instance Array[Object] */ -var144 = 11; -var145 = NEW_standard__NativeArray(var144, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var145)->values[0] = (val*) var111; -((struct instance_standard__NativeArray*)var145)->values[1] = (val*) var115; -((struct instance_standard__NativeArray*)var145)->values[2] = (val*) var119; -((struct instance_standard__NativeArray*)var145)->values[3] = (val*) var_mproperty; -((struct instance_standard__NativeArray*)var145)->values[4] = (val*) var124; -((struct instance_standard__NativeArray*)var145)->values[5] = (val*) var_mtype; -((struct instance_standard__NativeArray*)var145)->values[6] = (val*) var129; -((struct instance_standard__NativeArray*)var145)->values[7] = (val*) var_vis_module_type; -((struct instance_standard__NativeArray*)var145)->values[8] = (val*) var134; -((struct instance_standard__NativeArray*)var145)->values[9] = (val*) var_mmodule_type; -((struct instance_standard__NativeArray*)var145)->values[10] = (val*) var139; { -((void (*)(val* self, val* p0, long p1))(var143->class->vft[COLOR_standard__array__Array__with_native]))(var143, var145, var144) /* with_native on */; +((void(*)(val* self, val* p0))(var676->class->vft[COLOR_nit__model__MSignature__return_mtype_61d]))(var676, ((val*)NULL)); /* return_mtype= on */ } +{ +((void(*)(val* self))(var676->class->vft[COLOR_standard__kernel__Object__init]))(var676); /* init on */ } +var_msignature677 = var676; { -var146 = ((val* (*)(val* self))(var143->class->vft[COLOR_standard__string__Object__to_s]))(var143) /* to_s on */; +{ /* Inline model#MMethodDef#new_msignature= (var_defined_init,var_msignature677) on */ +var_defined_init->attrs[COLOR_nit__model__MMethodDef___new_msignature].val = var_msignature677; /* _new_msignature on */ +RET_LABEL678:(void)0; +} } { -nit___nit__ModelBuilder___error(self, var_node, var146); /* Direct call modelbuilder_base#ModelBuilder#error on */ +{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ +var681 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var681 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); +fatal_exit(1); } -goto RET_LABEL; -} else { +var679 = var681; +RET_LABEL680:(void)0; } } +if (unlikely(varonce682==NULL)) { +var683 = NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String); +if (likely(varonce684!=NULL)) { +var685 = varonce684; } else { +var686 = " extends its basic constructor signature to "; +var687 = standard___standard__NativeString___to_s_with_length(var686, 44l); +var685 = var687; +varonce684 = var685; } -/* isa AType */ -cltype148 = type_nit__AType.color; -idtype149 = type_nit__AType.id; -if(cltype148 >= var_node->type->table_size) { -var147 = 0; +((struct instance_standard__NativeArray*)var683)->values[1]=var685; } else { -var147 = var_node->type->type_table[cltype148] == idtype149; +var683 = varonce682; +varonce682 = NULL; } -if (var147){ { -{ /* Inline parser_nodes#AType#n_types (var_node) on */ -var152 = var_node->attrs[COLOR_nit__parser_nodes__AType___n_types].val; /* _n_types on */ -if (unlikely(var152 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1539); -show_backtrace(1); +var688 = ((val*(*)(val* self))(var_mclassdef->class->vft[COLOR_standard__string__Object__to_s]))(var_mclassdef); /* to_s on */ } -var150 = var152; -RET_LABEL151:(void)0; +((struct instance_standard__NativeArray*)var683)->values[0]=var688; +{ +var689 = ((val*(*)(val* self))(var_defined_init->class->vft[COLOR_standard__string__Object__to_s]))(var_defined_init); /* to_s on */ } +((struct instance_standard__NativeArray*)var683)->values[2]=var689; +{ +var690 = ((val*(*)(val* self))(var_msignature677->class->vft[COLOR_standard__string__Object__to_s]))(var_msignature677); /* to_s on */ } -var_ = var150; +((struct instance_standard__NativeArray*)var683)->values[3]=var690; { -var153 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_); +var691 = ((val*(*)(val* self))(var683->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var683); /* native_to_s on */ } -var_154 = var153; -for(;;) { +varonce682 = var683; { -var155 = ((short int (*)(val* self))(var_154->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_154) /* is_ok on */; +nit___nit__ToolContext___info(var679, var691, 3l); /* Direct call toolcontext#ToolContext#info on */ } -if (var155){ { -var156 = ((val* (*)(val* self))(var_154->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_154) /* item on */; +{ /* Inline model#MClassDef#mclass (var_mclassdef) on */ +var694 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var694 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); +} +var692 = var694; +RET_LABEL693:(void)0; +} } -var_a = var156; { -{ /* Inline modelize_class#AType#mtype (var_a) on */ -var159 = var_a->attrs[COLOR_nit__modelize_class__AType___mtype].val; /* _mtype on */ -var157 = var159; -RET_LABEL158:(void)0; +{ /* Inline modelize_property#MClass#root_init= (var692,var_defined_init) on */ +var692->attrs[COLOR_nit__modelize_property__MClass___root_init].val = var_defined_init; /* _root_init on */ +RET_LABEL695:(void)0; } } -var_t = var157; -var160 = NULL; -if (var_t == NULL) { -var161 = 1; /* is null */ +goto RET_LABEL; } else { -var161 = 0; /* arg is null but recv is not */ } -if (0) { -{ /* Inline kernel#Object#== (var_t,var160) on */ -var_other164 = var160; { -{ /* Inline kernel#Object#is_same_instance (var_t,var_other164) on */ -var167 = var_t == var_other164; -var165 = var167; -goto RET_LABEL166; -RET_LABEL166:(void)0; +{ /* Inline modelize_property#ModelBuilder#the_root_init_mmethod (self) on */ +var698 = self->attrs[COLOR_nit__modelize_property__ModelBuilder___the_root_init_mmethod].val; /* _the_root_init_mmethod on */ +var696 = var698; +RET_LABEL697:(void)0; } } -var162 = var165; -goto RET_LABEL163; -RET_LABEL163:(void)0; +if (unlikely(var696 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 352); +fatal_exit(1); } -var161 = var162; +var_mprop699 = var696; +var700 = NEW_nit__MMethodDef(&type_nit__MMethodDef); +{ +{ /* Inline parser_nodes#ANode#location (var_nclassdef) on */ +var703 = var_nclassdef->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var703 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24); +fatal_exit(1); } -if (var161){ -goto BREAK_label; -} else { +var701 = var703; +RET_LABEL702:(void)0; } -{ -nit__modelize_property___ModelBuilder___check_visibility(self, var_a, var_t, var_mpropdef); /* Direct call modelize_property#ModelBuilder#check_visibility on */ } -BREAK_label: (void)0; { -((void (*)(val* self))(var_154->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_154) /* next on */; +((void(*)(val* self, val* p0))(var700->class->vft[COLOR_nit__model__MPropDef__mclassdef_61d]))(var700, var_mclassdef); /* mclassdef= on */ } -} else { -goto BREAK_label168; +{ +((void(*)(val* self, val* p0))(var700->class->vft[COLOR_nit__model__MPropDef__mproperty_61d]))(var700, var_mprop699); /* mproperty= on */ } +{ +((void(*)(val* self, val* p0))(var700->class->vft[COLOR_nit__model__MPropDef__location_61d]))(var700, var701); /* location= on */ } -BREAK_label168: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_154) on */ -RET_LABEL169:(void)0; +((void(*)(val* self))(var700->class->vft[COLOR_standard__kernel__Object__init]))(var700); /* init on */ } +var_mpropdef704 = var700; +{ +{ /* Inline modelize_property#MPropDef#has_supercall= (var_mpropdef704,1) on */ +var_mpropdef704->attrs[COLOR_nit__modelize_property__MPropDef___has_supercall].s = 1; /* _has_supercall on */ +RET_LABEL705:(void)0; } -} else { -/* isa MGenericType */ -cltype171 = type_nit__MGenericType.color; -idtype172 = type_nit__MGenericType.id; -if(cltype171 >= var_mtype->type->table_size) { -var170 = 0; -} else { -var170 = var_mtype->type->type_table[cltype171] == idtype172; } -if (var170){ { -{ /* Inline model#MGenericType#arguments (var_mtype) on */ -var175 = var_mtype->attrs[COLOR_nit__model__MGenericType___arguments].val; /* _arguments on */ -if (unlikely(var175 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1164); -show_backtrace(1); +{ /* Inline model#MMethodDef#initializers (var_mpropdef704) on */ +var708 = var_mpropdef704->attrs[COLOR_nit__model__MMethodDef___initializers].val; /* _initializers on */ +if (unlikely(var708 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2345); +fatal_exit(1); } -var173 = var175; -RET_LABEL174:(void)0; +var706 = var708; +RET_LABEL707:(void)0; } } -var_176 = var173; { -var177 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_176); +standard___standard__Array___standard__abstract_collection__SimpleCollection__add_all(var706, var_initializers); /* Direct call array#Array#add_all on */ } -var_178 = var177; -for(;;) { +var709 = NEW_nit__MSignature(&type_nit__MSignature); { -var179 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_178); +((void(*)(val* self, val* p0))(var709->class->vft[COLOR_nit__model__MSignature__mparameters_61d]))(var709, var_mparameters108); /* mparameters= on */ } -if (var179){ { -var180 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_178); +((void(*)(val* self, val* p0))(var709->class->vft[COLOR_nit__model__MSignature__return_mtype_61d]))(var709, ((val*)NULL)); /* return_mtype= on */ } -var_t181 = var180; { -nit__modelize_property___ModelBuilder___check_visibility(self, var_node, var_t181, var_mpropdef); /* Direct call modelize_property#ModelBuilder#check_visibility on */ +((void(*)(val* self))(var709->class->vft[COLOR_standard__kernel__Object__init]))(var709); /* init on */ } +var_msignature710 = var709; { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_178); /* Direct call array#ArrayIterator#next on */ -} -} else { -goto BREAK_label182; +{ /* Inline model#MMethodDef#new_msignature= (var_mpropdef704,var_msignature710) on */ +var_mpropdef704->attrs[COLOR_nit__model__MMethodDef___new_msignature].val = var_msignature710; /* _new_msignature on */ +RET_LABEL711:(void)0; } } -BREAK_label182: (void)0; +var712 = NEW_nit__MSignature(&type_nit__MSignature); +var713 = NEW_standard__Array(&type_standard__Array__nit__MParameter); { -{ /* Inline abstract_collection#Iterator#finish (var_178) on */ -RET_LABEL183:(void)0; -} -} -} else { +standard___standard__Array___standard__kernel__Object__init(var713); /* Direct call array#Array#init on */ } +{ +((void(*)(val* self, val* p0))(var712->class->vft[COLOR_nit__model__MSignature__mparameters_61d]))(var712, var713); /* mparameters= on */ } -RET_LABEL:; +{ +((void(*)(val* self, val* p0))(var712->class->vft[COLOR_nit__model__MSignature__return_mtype_61d]))(var712, ((val*)NULL)); /* return_mtype= on */ } -/* method modelize_property#MPropDef#has_supercall for (self: MPropDef): Bool */ -short int nit__modelize_property___MPropDef___has_supercall(val* self) { -short int var /* : Bool */; -short int var1 /* : Bool */; -var1 = self->attrs[COLOR_nit__modelize_property__MPropDef___has_supercall].s; /* _has_supercall on */ -var = var1; -RET_LABEL:; -return var; +{ +((void(*)(val* self))(var712->class->vft[COLOR_standard__kernel__Object__init]))(var712); /* init on */ } -/* method modelize_property#MPropDef#has_supercall= for (self: MPropDef, Bool) */ -void nit__modelize_property___MPropDef___has_supercall_61d(val* self, short int p0) { -self->attrs[COLOR_nit__modelize_property__MPropDef___has_supercall].s = p0; /* _has_supercall on */ -RET_LABEL:; +{ +{ /* Inline model#MMethodDef#msignature= (var_mpropdef704,var712) on */ +var_mpropdef704->attrs[COLOR_nit__model__MMethodDef___msignature].val = var712; /* _msignature on */ +RET_LABEL714:(void)0; } -/* method modelize_property#AClassdef#build_properties_is_done for (self: AClassdef): Bool */ -short int nit__modelize_property___AClassdef___build_properties_is_done(val* self) { -short int var /* : Bool */; -short int var1 /* : Bool */; -var1 = self->attrs[COLOR_nit__modelize_property__AClassdef___build_properties_is_done].s; /* _build_properties_is_done on */ -var = var1; -RET_LABEL:; -return var; } -/* method modelize_property#AClassdef#build_properties_is_done= for (self: AClassdef, Bool) */ -void nit__modelize_property___AClassdef___build_properties_is_done_61d(val* self, short int p0) { -self->attrs[COLOR_nit__modelize_property__AClassdef___build_properties_is_done].s = p0; /* _build_properties_is_done on */ -RET_LABEL:; +{ +{ /* Inline modelize_property#AClassdef#mfree_init= (var_nclassdef,var_mpropdef704) on */ +var_nclassdef->attrs[COLOR_nit__modelize_property__AClassdef___mfree_init].val = var_mpropdef704; /* _mfree_init on */ +RET_LABEL715:(void)0; } -/* method modelize_property#AClassdef#mfree_init for (self: AClassdef): nullable MMethodDef */ -val* nit__modelize_property___AClassdef___mfree_init(val* self) { -val* var /* : nullable MMethodDef */; -val* var1 /* : nullable MMethodDef */; -var1 = self->attrs[COLOR_nit__modelize_property__AClassdef___mfree_init].val; /* _mfree_init on */ -var = var1; -RET_LABEL:; -return var; } -/* method modelize_property#AClassdef#mfree_init= for (self: AClassdef, nullable MMethodDef) */ -void nit__modelize_property___AClassdef___mfree_init_61d(val* self, val* p0) { -self->attrs[COLOR_nit__modelize_property__AClassdef___mfree_init].val = p0; /* _mfree_init on */ -RET_LABEL:; +{ +{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ +var718 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var718 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); +fatal_exit(1); } -/* method modelize_property#MClass#root_init for (self: MClass): nullable MMethodDef */ -val* nit__modelize_property___MClass___root_init(val* self) { -val* var /* : nullable MMethodDef */; -val* var1 /* : nullable MMethodDef */; -var1 = self->attrs[COLOR_nit__modelize_property__MClass___root_init].val; /* _root_init on */ -var = var1; -RET_LABEL:; -return var; +var716 = var718; +RET_LABEL717:(void)0; } -/* method modelize_property#MClass#root_init= for (self: MClass, nullable MMethodDef) */ -void nit__modelize_property___MClass___root_init_61d(val* self, val* p0) { -self->attrs[COLOR_nit__modelize_property__MClass___root_init].val = p0; /* _root_init on */ -RET_LABEL:; } -/* method modelize_property#MClassDef#mprop2npropdef for (self: MClassDef): Map[MProperty, APropdef] */ -val* nit__modelize_property___MClassDef___mprop2npropdef(val* self) { -val* var /* : Map[MProperty, APropdef] */; -val* var1 /* : Map[MProperty, APropdef] */; -var1 = self->attrs[COLOR_nit__modelize_property__MClassDef___mprop2npropdef].val; /* _mprop2npropdef on */ -if (unlikely(var1 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 352); -show_backtrace(1); +if (unlikely(varonce719==NULL)) { +var720 = NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String); +if (likely(varonce721!=NULL)) { +var722 = varonce721; +} else { +var723 = " gets a free constructor for attributes "; +var724 = standard___standard__NativeString___to_s_with_length(var723, 40l); +var722 = var724; +varonce721 = var722; } -var = var1; -RET_LABEL:; -return var; +((struct instance_standard__NativeArray*)var720)->values[1]=var722; +} else { +var720 = varonce719; +varonce719 = NULL; } -/* method modelize_property#MClassDef#build_self_type for (self: MClassDef, ModelBuilder, AClassdef) */ -void nit__modelize_property___MClassDef___build_self_type(val* self, val* p0, val* p1) { -val* var_modelbuilder /* var modelbuilder: ModelBuilder */; -val* var_nclassdef /* var nclassdef: AClassdef */; -short int var /* : Bool */; -short int var1 /* : Bool */; -static val* varonce; -val* var2 /* : String */; -char* var3 /* : NativeString */; -long var4 /* : Int */; -val* var5 /* : FlatString */; -val* var_name /* var name: String */; -val* var6 /* : nullable MProperty */; -val* var_mprop /* var mprop: nullable MProperty */; -val* var7 /* : null */; -short int var8 /* : Bool */; -short int var9 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var11 /* : Bool */; -short int var13 /* : Bool */; -short int var14 /* : Bool */; -int cltype; -int idtype; -short int var15 /* : Bool */; -val* var16 /* : MPropDef */; -val* var18 /* : MPropDef */; -val* var_intro /* var intro: MVirtualTypeDef */; -val* var19 /* : MClassDef */; -val* var21 /* : MClassDef */; -val* var_intro_mclassdef /* var intro_mclassdef: MClassDef */; -short int var22 /* : Bool */; -short int var24 /* : Bool */; -short int var26 /* : Bool */; -val* var27 /* : HashMap[MPropDef, APropdef] */; -val* var29 /* : HashMap[MPropDef, APropdef] */; -val* var30 /* : nullable Object */; -val* var_nintro /* var nintro: APropdef */; -val* var31 /* : MClass */; -val* var33 /* : MClass */; -val* var34 /* : String */; -val* var36 /* : String */; -static val* varonce37; -val* var38 /* : String */; -char* var39 /* : NativeString */; -long var40 /* : Int */; -val* var41 /* : FlatString */; -short int var42 /* : Bool */; -val* var_other44 /* var other: nullable Object */; -short int var45 /* : Bool */; -short int var46 /* : Bool */; -static val* varonce47; -val* var48 /* : String */; -char* var49 /* : NativeString */; -long var50 /* : Int */; -val* var51 /* : FlatString */; -val* var52 /* : MVisibility */; -val* var54 /* : MVisibility */; -val* var55 /* : MVisibility */; -short int var56 /* : Bool */; -short int var58 /* : Bool */; -short int var59 /* : Bool */; -static val* varonce60; -val* var61 /* : String */; -char* var62 /* : NativeString */; -long var63 /* : Int */; -val* var64 /* : FlatString */; -short int var65 /* : Bool */; -short int var67 /* : Bool */; -static val* varonce68; -val* var69 /* : String */; -char* var70 /* : NativeString */; -long var71 /* : Int */; -val* var72 /* : FlatString */; -val* var73 /* : MVirtualTypeDef */; -val* var74 /* : Location */; -val* var76 /* : Location */; -val* var_mpropdef /* var mpropdef: MVirtualTypeDef */; -val* var77 /* : MClass */; -val* var79 /* : MClass */; -val* var80 /* : MClassType */; -val* var82 /* : MClassType */; -var_modelbuilder = p0; -var_nclassdef = p1; { -var = nit___nit__MClassDef___is_intro(self); +var725 = ((val*(*)(val* self))(var_mclassdef->class->vft[COLOR_standard__string__Object__to_s]))(var_mclassdef); /* to_s on */ } -var1 = !var; -if (var1){ -goto RET_LABEL; -} else { +((struct instance_standard__NativeArray*)var720)->values[0]=var725; +{ +var726 = ((val*(*)(val* self))(var_mpropdef704->class->vft[COLOR_standard__string__Object__to_s]))(var_mpropdef704); /* to_s on */ } -if (varonce) { -var2 = varonce; -} else { -var3 = "SELF"; -var4 = 4; -var5 = standard___standard__NativeString___to_s_with_length(var3, var4); -var2 = var5; -varonce = var2; +((struct instance_standard__NativeArray*)var720)->values[2]=var726; +{ +var727 = ((val*(*)(val* self))(var_msignature710->class->vft[COLOR_standard__string__Object__to_s]))(var_msignature710); /* to_s on */ } -var_name = var2; +((struct instance_standard__NativeArray*)var720)->values[3]=var727; { -var6 = nit___nit__ModelBuilder___try_get_mproperty_by_name(var_modelbuilder, var_nclassdef, self, var_name); +var728 = ((val*(*)(val* self))(var720->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var720); /* native_to_s on */ } -var_mprop = var6; -var7 = NULL; -if (var_mprop == NULL) { -var8 = 1; /* is null */ -} else { -var8 = 0; /* arg is null but recv is not */ +varonce719 = var720; +{ +nit___nit__ToolContext___info(var716, var728, 3l); /* Direct call toolcontext#ToolContext#info on */ } -if (0) { -{ /* Inline kernel#Object#== (var_mprop,var7) on */ -var_other = var7; { -{ /* Inline kernel#Object#is_same_instance (var_mprop,var_other) on */ -var13 = var_mprop == var_other; -var11 = var13; -goto RET_LABEL12; -RET_LABEL12:(void)0; +{ /* Inline model#MClassDef#mclass (var_mclassdef) on */ +var731 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var731 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); } +var729 = var731; +RET_LABEL730:(void)0; } -var9 = var11; -goto RET_LABEL10; -RET_LABEL10:(void)0; } -var8 = var9; +{ +{ /* Inline modelize_property#MClass#root_init= (var729,var_mpropdef704) on */ +var729->attrs[COLOR_nit__modelize_property__MClass___root_init].val = var_mpropdef704; /* _root_init on */ +RET_LABEL732:(void)0; } -if (var8){ -goto RET_LABEL; -} else { } -/* isa MVirtualTypeProp */ -cltype = type_nit__MVirtualTypeProp.color; -idtype = type_nit__MVirtualTypeProp.id; -if(cltype >= var_mprop->type->table_size) { -var14 = 0; -} else { -var14 = var_mprop->type->type_table[cltype] == idtype; -} -var15 = !var14; -if (var15){ -goto RET_LABEL; -} else { +RET_LABEL:; } +/* method modelize_property#ModelBuilder#check_visibility for (self: ModelBuilder, ANode, MType, MPropDef) */ +void nit__modelize_property___ModelBuilder___check_visibility(val* self, val* p0, val* p1, val* p2) { +val* var_node /* var node: ANode */; +val* var_mtype /* var mtype: MType */; +val* var_mpropdef /* var mpropdef: MPropDef */; +val* var /* : MClassDef */; +val* var2 /* : MClassDef */; +val* var3 /* : MModule */; +val* var5 /* : MModule */; +val* var_mmodule /* var mmodule: MModule */; +val* var6 /* : MProperty */; +val* var8 /* : MProperty */; +val* var_mproperty /* var mproperty: MProperty */; +val* var_vis_type /* var vis_type: nullable MVisibility */; +val* var_mmodule_type /* var mmodule_type: nullable MModule */; +val* var9 /* : MType */; +short int var10 /* : Bool */; +int cltype; +int idtype; +val* var11 /* : MClass */; +val* var13 /* : MClass */; +val* var14 /* : MVisibility */; +val* var16 /* : MVisibility */; +val* var17 /* : MClass */; +val* var19 /* : MClass */; +val* var20 /* : MClassDef */; +val* var22 /* : MClassDef */; +val* var23 /* : MModule */; +val* var25 /* : MModule */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +val* var29 /* : MVirtualTypeProp */; +val* var31 /* : MVirtualTypeProp */; +val* var32 /* : MVisibility */; +val* var34 /* : MVisibility */; +val* var35 /* : MVirtualTypeProp */; +val* var37 /* : MVirtualTypeProp */; +val* var38 /* : MClassDef */; +val* var40 /* : MClassDef */; +val* var41 /* : MModule */; +val* var43 /* : MModule */; +short int var44 /* : Bool */; +int cltype45; +int idtype46; +short int var47 /* : Bool */; +int cltype48; +int idtype49; +val* var50 /* : NativeArray[String] */; +static val* varonce; +static val* varonce51; +val* var52 /* : String */; +char* var53 /* : NativeString */; +val* var54 /* : FlatString */; +val* var55 /* : String */; +val* var56 /* : String */; +short int var57 /* : Bool */; +short int var58 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var60 /* : Bool */; +short int var61 /* : Bool */; +short int var62 /* : Bool */; +short int var63 /* : Bool */; +short int var65 /* : Bool */; +short int var66 /* : Bool */; +val* var67 /* : MVisibility */; +val* var_vis_module_type /* var vis_module_type: MVisibility */; +val* var68 /* : MVisibility */; +val* var70 /* : MVisibility */; +short int var71 /* : Bool */; +val* var73 /* : NativeArray[String] */; +static val* varonce72; +static val* varonce74; +val* var75 /* : String */; +char* var76 /* : NativeString */; +val* var77 /* : FlatString */; +static val* varonce78; +val* var79 /* : String */; +char* var80 /* : NativeString */; +val* var81 /* : FlatString */; +static val* varonce82; +val* var83 /* : String */; +char* var84 /* : NativeString */; +val* var85 /* : FlatString */; +static val* varonce86; +val* var87 /* : String */; +char* var88 /* : NativeString */; +val* var89 /* : FlatString */; +static val* varonce90; +val* var91 /* : String */; +char* var92 /* : NativeString */; +val* var93 /* : FlatString */; +val* var94 /* : MVisibility */; +val* var96 /* : MVisibility */; +val* var97 /* : String */; +val* var98 /* : String */; +val* var99 /* : String */; +val* var100 /* : String */; +val* var101 /* : String */; +val* var102 /* : MVisibility */; +val* var104 /* : MVisibility */; +short int var105 /* : Bool */; +val* var107 /* : NativeArray[String] */; +static val* varonce106; +static val* varonce108; +val* var109 /* : String */; +char* var110 /* : NativeString */; +val* var111 /* : FlatString */; +static val* varonce112; +val* var113 /* : String */; +char* var114 /* : NativeString */; +val* var115 /* : FlatString */; +static val* varonce116; +val* var117 /* : String */; +char* var118 /* : NativeString */; +val* var119 /* : FlatString */; +static val* varonce120; +val* var121 /* : String */; +char* var122 /* : NativeString */; +val* var123 /* : FlatString */; +static val* varonce124; +val* var125 /* : String */; +char* var126 /* : NativeString */; +val* var127 /* : FlatString */; +static val* varonce128; +val* var129 /* : String */; +char* var130 /* : NativeString */; +val* var131 /* : FlatString */; +val* var132 /* : MVisibility */; +val* var134 /* : MVisibility */; +val* var135 /* : String */; +val* var136 /* : String */; +val* var137 /* : String */; +val* var138 /* : String */; +val* var139 /* : String */; +val* var140 /* : String */; +short int var141 /* : Bool */; +int cltype142; +int idtype143; +val* var144 /* : ANodes[AType] */; +val* var146 /* : ANodes[AType] */; +val* var_ /* var : ANodes[AType] */; +val* var147 /* : Iterator[ANode] */; +val* var_148 /* var : Iterator[AType] */; +short int var149 /* : Bool */; +val* var150 /* : nullable Object */; +val* var_a /* var a: AType */; +val* var151 /* : nullable MType */; +val* var153 /* : nullable MType */; +val* var_t /* var t: nullable MType */; +short int var154 /* : Bool */; +short int var155 /* : Bool */; +val* var_other157 /* var other: nullable Object */; +short int var158 /* : Bool */; +short int var160 /* : Bool */; +short int var162 /* : Bool */; +int cltype163; +int idtype164; +val* var165 /* : Array[MType] */; +val* var167 /* : Array[MType] */; +val* var_168 /* var : Array[MType] */; +val* var169 /* : ArrayIterator[nullable Object] */; +val* var_170 /* var : ArrayIterator[MType] */; +short int var171 /* : Bool */; +val* var172 /* : nullable Object */; +val* var_t173 /* var t: MType */; +var_node = p0; +var_mtype = p1; +var_mpropdef = p2; { -{ /* Inline model#MProperty#intro (var_mprop) on */ -var18 = var_mprop->attrs[COLOR_nit__model__MProperty___intro].val; /* _intro on */ -if (unlikely(var18 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1773); -show_backtrace(1); +{ /* Inline model#MPropDef#mclassdef (var_mpropdef) on */ +var2 = var_mpropdef->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, 2209); +fatal_exit(1); } -var16 = var18; -RET_LABEL17:(void)0; +var = var2; +RET_LABEL1:(void)0; } } -var_intro = var16; { -{ /* Inline model#MPropDef#mclassdef (var_intro) on */ -var21 = var_intro->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ -if (unlikely(var21 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); +{ /* Inline model#MClassDef#mmodule (var) on */ +var5 = var->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var5 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550); +fatal_exit(1); } -var19 = var21; -RET_LABEL20:(void)0; +var3 = var5; +RET_LABEL4:(void)0; } } -var_intro_mclassdef = var19; -{ -{ /* Inline kernel#Object#== (var_intro_mclassdef,self) on */ -var_other = self; +var_mmodule = var3; { -{ /* Inline kernel#Object#is_same_instance (var_intro_mclassdef,var_other) on */ -var26 = var_intro_mclassdef == var_other; -var24 = var26; -goto RET_LABEL25; -RET_LABEL25:(void)0; +{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ +var8 = var_mpropdef->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, 2212); +fatal_exit(1); +} +var6 = var8; +RET_LABEL7:(void)0; } } -var22 = var24; -goto RET_LABEL23; -RET_LABEL23:(void)0; +var_mproperty = var6; +var_vis_type = ((val*)NULL); +var_mmodule_type = ((val*)NULL); +{ +var9 = ((val*(*)(val* self))(var_mtype->class->vft[COLOR_nit__model__MType__undecorate]))(var_mtype); /* undecorate on */ } +var_mtype = var9; +/* isa MClassType */ +cltype = type_nit__MClassType.color; +idtype = type_nit__MClassType.id; +if(cltype >= var_mtype->type->table_size) { +var10 = 0; +} else { +var10 = var_mtype->type->type_table[cltype] == idtype; } -if (var22){ +if (var10){ { -{ /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on */ -var29 = var_modelbuilder->attrs[COLOR_nit__modelize_property__ModelBuilder___mpropdef2npropdef].val; /* _mpropdef2npropdef on */ -if (unlikely(var29 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 40); -show_backtrace(1); +{ /* Inline model#MClassType#mclass (var_mtype) on */ +var13 = var_mtype->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var13 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); } -var27 = var29; -RET_LABEL28:(void)0; +var11 = var13; +RET_LABEL12:(void)0; } } { -var30 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var27, var_intro); +{ /* Inline model#MClass#visibility (var11) on */ +var16 = var11->attrs[COLOR_nit__model__MClass___visibility].val; /* _visibility on */ +if (unlikely(var16 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 440); +fatal_exit(1); +} +var14 = var16; +RET_LABEL15:(void)0; } -var_nintro = var30; +} +var_vis_type = var14; { -{ /* Inline model#MClassDef#mclass (var_intro_mclassdef) on */ -var33 = var_intro_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var33 == NULL)) { +{ /* Inline model#MClassType#mclass (var_mtype) on */ +var19 = var_mtype->attrs[COLOR_nit__model__MClassType___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, 1138); +fatal_exit(1); } -var31 = var33; -RET_LABEL32:(void)0; +var17 = var19; +RET_LABEL18:(void)0; } } { -{ /* Inline model#MClass#name (var31) on */ -var36 = var31->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ -if (unlikely(var36 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 348); -show_backtrace(1); -} -var34 = var36; -RET_LABEL35:(void)0; +{ /* Inline model#MClass#intro (var17) on */ +var22 = var17->attrs[COLOR_nit__model__MClass___intro].val; /* _intro on */ +if (unlikely(var22 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 460); +fatal_exit(1); } +var20 = var22; +RET_LABEL21:(void)0; } -if (varonce37) { -var38 = varonce37; -} else { -var39 = "Object"; -var40 = 6; -var41 = standard___standard__NativeString___to_s_with_length(var39, var40); -var38 = var41; -varonce37 = var38; } { -{ /* Inline kernel#Object#!= (var34,var38) on */ -var_other44 = var38; -{ -var45 = ((short int (*)(val* self, val* p0))(var34->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var34, var_other44) /* == on */; +{ /* Inline model#MClassDef#mmodule (var20) on */ +var25 = var20->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var25 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550); +fatal_exit(1); } -var46 = !var45; -var42 = var46; -goto RET_LABEL43; -RET_LABEL43:(void)0; +var23 = var25; +RET_LABEL24:(void)0; } } -if (var42){ -if (varonce47) { -var48 = varonce47; +var_mmodule_type = var23; } else { -var49 = "Error: the virtual type SELF must be declared in Object."; -var50 = 56; -var51 = standard___standard__NativeString___to_s_with_length(var49, var50); -var48 = var51; -varonce47 = var48; +/* isa MVirtualType */ +cltype27 = type_nit__MVirtualType.color; +idtype28 = type_nit__MVirtualType.id; +if(cltype27 >= var_mtype->type->table_size) { +var26 = 0; +} else { +var26 = var_mtype->type->type_table[cltype27] == idtype28; } +if (var26){ { -nit___nit__ModelBuilder___error(var_modelbuilder, var_nintro, var48); /* Direct call modelbuilder_base#ModelBuilder#error on */ +{ /* Inline model#MVirtualType#mproperty (var_mtype) on */ +var31 = var_mtype->attrs[COLOR_nit__model__MVirtualType___mproperty].val; /* _mproperty on */ +if (unlikely(var31 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1344); +fatal_exit(1); +} +var29 = var31; +RET_LABEL30:(void)0; } -} else { } { -{ /* Inline model#MProperty#visibility (var_mprop) on */ -var54 = var_mprop->attrs[COLOR_nit__model__MProperty___visibility].val; /* _visibility on */ -if (unlikely(var54 == NULL)) { +{ /* Inline model#MProperty#visibility (var29) on */ +var34 = var29->attrs[COLOR_nit__model__MProperty___visibility].val; /* _visibility on */ +if (unlikely(var34 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1757); -show_backtrace(1); -} -var52 = var54; -RET_LABEL53:(void)0; +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1949); +fatal_exit(1); } +var32 = var34; +RET_LABEL33:(void)0; } -{ -var55 = nit__model_base___standard__Object___public_visibility(self); } +var_vis_type = var32; { -{ /* Inline kernel#Object#!= (var52,var55) on */ -var_other44 = var55; -{ -var58 = ((short int (*)(val* self, val* p0))(var52->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var52, var_other44) /* == on */; -} -var59 = !var58; -var56 = var59; -goto RET_LABEL57; -RET_LABEL57:(void)0; +{ /* Inline model#MVirtualType#mproperty (var_mtype) on */ +var37 = var_mtype->attrs[COLOR_nit__model__MVirtualType___mproperty].val; /* _mproperty on */ +if (unlikely(var37 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1344); +fatal_exit(1); } +var35 = var37; +RET_LABEL36:(void)0; } -if (var56){ -if (varonce60) { -var61 = varonce60; -} else { -var62 = "Error: the virtual type SELF must be public."; -var63 = 44; -var64 = standard___standard__NativeString___to_s_with_length(var62, var63); -var61 = var64; -varonce60 = var61; } { -nit___nit__ModelBuilder___error(var_modelbuilder, var_nintro, var61); /* Direct call modelbuilder_base#ModelBuilder#error on */ +{ /* Inline model#MProperty#intro_mclassdef (var35) on */ +var40 = var35->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ +if (unlikely(var40 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1928); +fatal_exit(1); +} +var38 = var40; +RET_LABEL39:(void)0; } -} else { } { -{ /* Inline model#MVirtualTypeDef#is_fixed (var_intro) on */ -var67 = var_intro->attrs[COLOR_nit__model__MVirtualTypeDef___is_fixed].s; /* _is_fixed on */ -var65 = var67; -RET_LABEL66:(void)0; +{ /* Inline model#MClassDef#mmodule (var38) on */ +var43 = var38->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var43 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550); +fatal_exit(1); +} +var41 = var43; +RET_LABEL42:(void)0; } } -if (var65){ -if (varonce68) { -var69 = varonce68; +var_mmodule_type = var41; } else { -var70 = "Error: the virtual type SELF cannot be fixed."; -var71 = 45; -var72 = standard___standard__NativeString___to_s_with_length(var70, var71); -var69 = var72; -varonce68 = var69; +/* isa MParameterType */ +cltype45 = type_nit__MParameterType.color; +idtype46 = type_nit__MParameterType.id; +if(cltype45 >= var_mtype->type->table_size) { +var44 = 0; +} else { +var44 = var_mtype->type->type_table[cltype45] == idtype46; } -{ -nit___nit__ModelBuilder___error(var_modelbuilder, var_nintro, var69); /* Direct call modelbuilder_base#ModelBuilder#error on */ +if (var44){ +} else { +/* isa MNullType */ +cltype48 = type_nit__MNullType.color; +idtype49 = type_nit__MNullType.id; +if(cltype48 >= var_mtype->type->table_size) { +var47 = 0; +} else { +var47 = var_mtype->type->type_table[cltype48] == idtype49; } +if (var47){ } else { +if (unlikely(varonce==NULL)) { +var50 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String); +if (likely(varonce51!=NULL)) { +var52 = varonce51; +} else { +var53 = "Unexpected type "; +var54 = standard___standard__NativeString___to_s_with_length(var53, 16l); +var52 = var54; +varonce51 = var52; } -goto RET_LABEL; +((struct instance_standard__NativeArray*)var50)->values[0]=var52; } else { +var50 = varonce; +varonce = NULL; } -var73 = NEW_nit__MVirtualTypeDef(&type_nit__MVirtualTypeDef); { -{ /* Inline model#MClassDef#location (self) on */ -var76 = self->attrs[COLOR_nit__model__MClassDef___location].val; /* _location on */ -if (unlikely(var76 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 507); -show_backtrace(1); -} -var74 = var76; -RET_LABEL75:(void)0; -} +var55 = ((val*(*)(val* self))(var_mtype->class->vft[COLOR_standard__string__Object__to_s]))(var_mtype); /* to_s on */ } +((struct instance_standard__NativeArray*)var50)->values[1]=var55; { -((void (*)(val* self, val* p0))(var73->class->vft[COLOR_nit__model__MPropDef__mclassdef_61d]))(var73, self) /* mclassdef= on */; +var56 = ((val*(*)(val* self))(var50->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var50); /* native_to_s on */ } +varonce = var50; { -((void (*)(val* self, val* p0))(var73->class->vft[COLOR_nit__model__MPropDef__mproperty_61d]))(var73, var_mprop) /* mproperty= on */; +nit___nit__ANode___debug(var_node, var56); /* Direct call parser_nodes#ANode#debug on */ } -{ -((void (*)(val* self, val* p0))(var73->class->vft[COLOR_nit__model__MPropDef__location_61d]))(var73, var74) /* location= on */; +PRINT_ERROR("Runtime error: %s", "Aborted"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 387); +fatal_exit(1); } -{ -((void (*)(val* self))(var73->class->vft[COLOR_standard__kernel__Object__init]))(var73) /* init on */; } -var_mpropdef = var73; -{ -{ /* Inline model#MClassDef#mclass (self) on */ -var79 = self->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var79 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); } -var77 = var79; -RET_LABEL78:(void)0; } +if (var_vis_type == NULL) { +var57 = 0; /* is null */ +} else { +var57 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_vis_type,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline model#MClass#mclass_type (var77) on */ -var82 = var77->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ -if (unlikely(var82 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 438); -show_backtrace(1); +var60 = ((short int(*)(val* self, val* p0))(var_vis_type->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_vis_type, var_other); /* == on */ } -var80 = var82; -RET_LABEL81:(void)0; +var61 = !var60; +var58 = var61; +goto RET_LABEL59; +RET_LABEL59:(void)0; +} +var57 = var58; } +if (var57){ +if (var_mmodule_type == NULL) { +var62 = 0; /* is null */ +} else { +var62 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_mmodule_type,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline model#MVirtualTypeDef#bound= (var_mpropdef,var80) on */ -var_mpropdef->attrs[COLOR_nit__model__MVirtualTypeDef___bound].val = var80; /* _bound on */ -RET_LABEL83:(void)0; +var65 = ((short int(*)(val* self, val* p0))(var_mmodule_type->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mmodule_type, var_other); /* == on */ } +var66 = !var65; +var63 = var66; +goto RET_LABEL64; +RET_LABEL64:(void)0; } -RET_LABEL:; +var62 = var63; } -/* method modelize_property#APropdef#mpropdef for (self: APropdef): nullable MPropDef */ -val* nit__modelize_property___APropdef___mpropdef(val* self) { -val* var /* : nullable MPropDef */; -val* var1 /* : nullable MPropDef */; -var1 = self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ -var = var1; -RET_LABEL:; -return var; +if (unlikely(!var62)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 391); +fatal_exit(1); } -/* method modelize_property#APropdef#mpropdef= for (self: APropdef, nullable MPropDef) */ -void nit__modelize_property___APropdef___mpropdef_61d(val* self, val* p0) { -short int var /* : Bool */; -int cltype; -int idtype; -const struct type* type_struct; -const char* var_class_name; -/* Covariant cast for argument 0 (mpropdef) isa nullable MPROPDEF */ -/* isa nullable MPROPDEF */ -type_struct = self->type->resolution_table->types[COLOR_nullable__nit__modelize_property__APropdef__MPROPDEF]; -cltype = type_struct->color; -idtype = type_struct->id; -if(p0 == NULL) { -var = 1; +{ +var67 = nit___nit__MModule___visibility_for(var_mmodule, var_mmodule_type); +} +var_vis_module_type = var67; +{ +{ /* Inline model#MProperty#visibility (var_mproperty) on */ +var70 = var_mproperty->attrs[COLOR_nit__model__MProperty___visibility].val; /* _visibility on */ +if (unlikely(var70 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1949); +fatal_exit(1); +} +var68 = var70; +RET_LABEL69:(void)0; +} +} +{ +var71 = standard___standard__Comparable____62d(var68, var_vis_type); +} +if (var71){ +if (unlikely(varonce72==NULL)) { +var73 = NEW_standard__NativeArray(9l, &type_standard__NativeArray__standard__String); +if (likely(varonce74!=NULL)) { +var75 = varonce74; } else { -if(cltype >= p0->type->table_size) { -var = 0; +var76 = "Error: the "; +var77 = standard___standard__NativeString___to_s_with_length(var76, 11l); +var75 = var77; +varonce74 = var75; +} +((struct instance_standard__NativeArray*)var73)->values[0]=var75; +if (likely(varonce78!=NULL)) { +var79 = varonce78; } else { -var = p0->type->type_table[cltype] == idtype; +var80 = " property `"; +var81 = standard___standard__NativeString___to_s_with_length(var80, 11l); +var79 = var81; +varonce78 = var79; } +((struct instance_standard__NativeArray*)var73)->values[2]=var79; +if (likely(varonce82!=NULL)) { +var83 = varonce82; +} else { +var84 = "` cannot contain the "; +var85 = standard___standard__NativeString___to_s_with_length(var84, 21l); +var83 = var85; +varonce82 = var83; } -if (unlikely(!var)) { -var_class_name = p0 == NULL ? "null" : p0->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 405); -show_backtrace(1); +((struct instance_standard__NativeArray*)var73)->values[4]=var83; +if (likely(varonce86!=NULL)) { +var87 = varonce86; +} else { +var88 = " type `"; +var89 = standard___standard__NativeString___to_s_with_length(var88, 7l); +var87 = var89; +varonce86 = var87; } -self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val = p0; /* _mpropdef on */ -RET_LABEL:; +((struct instance_standard__NativeArray*)var73)->values[6]=var87; +if (likely(varonce90!=NULL)) { +var91 = varonce90; +} else { +var92 = "`."; +var93 = standard___standard__NativeString___to_s_with_length(var92, 2l); +var91 = var93; +varonce90 = var91; +} +((struct instance_standard__NativeArray*)var73)->values[8]=var91; +} else { +var73 = varonce72; +varonce72 = NULL; } -/* method modelize_property#APropdef#new_property_visibility for (self: APropdef, ModelBuilder, MClassDef, nullable AVisibility): MVisibility */ -val* nit__modelize_property___APropdef___new_property_visibility(val* self, val* p0, val* p1, val* p2) { -val* var /* : MVisibility */; -val* var_modelbuilder /* var modelbuilder: ModelBuilder */; -val* var_mclassdef /* var mclassdef: MClassDef */; -val* var_nvisibility /* var nvisibility: nullable AVisibility */; -val* var1 /* : MVisibility */; -val* var_mvisibility /* var mvisibility: MVisibility */; -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 /* : MVisibility */; -val* var9 /* : MVisibility */; -short int var10 /* : Bool */; -val* var_other12 /* var other: nullable Object */; -short int var13 /* : Bool */; -short int var15 /* : Bool */; -static val* varonce; -val* var16 /* : String */; -char* var17 /* : NativeString */; -long var18 /* : Int */; -val* var19 /* : FlatString */; -val* var20 /* : MVisibility */; -val* var21 /* : MClass */; -val* var23 /* : MClass */; -val* var24 /* : MVisibility */; -val* var26 /* : MVisibility */; -val* var27 /* : MVisibility */; -short int var28 /* : Bool */; -short int var30 /* : Bool */; -short int var32 /* : Bool */; -val* var33 /* : MVisibility */; -short int var34 /* : Bool */; -short int var36 /* : Bool */; -short int var38 /* : Bool */; -val* var39 /* : null */; -short int var40 /* : Bool */; -short int var41 /* : Bool */; -short int var43 /* : Bool */; -short int var44 /* : Bool */; -static val* varonce45; -val* var46 /* : String */; -char* var47 /* : NativeString */; -long var48 /* : Int */; -val* var49 /* : FlatString */; -val* var50 /* : MVisibility */; -short int var51 /* : Bool */; -short int var53 /* : Bool */; -short int var55 /* : Bool */; -val* var56 /* : null */; -short int var57 /* : Bool */; -short int var58 /* : Bool */; -short int var60 /* : Bool */; -short int var61 /* : Bool */; -static val* varonce62; -val* var63 /* : String */; -char* var64 /* : NativeString */; -long var65 /* : Int */; -val* var66 /* : FlatString */; -static val* varonce67; -val* var68 /* : String */; -char* var69 /* : NativeString */; -long var70 /* : Int */; -val* var71 /* : FlatString */; -val* var72 /* : MVisibility */; -var_modelbuilder = p0; -var_mclassdef = p1; -var_nvisibility = p2; { -var1 = nit__model_base___standard__Object___public_visibility(self); +{ /* Inline model#MProperty#visibility (var_mproperty) on */ +var96 = var_mproperty->attrs[COLOR_nit__model__MProperty___visibility].val; /* _visibility on */ +if (unlikely(var96 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1949); +fatal_exit(1); +} +var94 = var96; +RET_LABEL95:(void)0; } -var_mvisibility = var1; -var2 = NULL; -if (var_nvisibility == NULL) { -var3 = 0; /* is null */ -} else { -var3 = 1; /* arg is null and recv is not */ } -if (0) { -{ /* Inline kernel#Object#!= (var_nvisibility,var2) on */ -var_other = var2; { -var6 = ((short int (*)(val* self, val* p0))(var_nvisibility->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nvisibility, var_other) /* == on */; +var97 = ((val*(*)(val* self))(var94->class->vft[COLOR_standard__string__Object__to_s]))(var94); /* to_s on */ } -var7 = !var6; -var4 = var7; -goto RET_LABEL5; -RET_LABEL5:(void)0; +((struct instance_standard__NativeArray*)var73)->values[1]=var97; +{ +var98 = ((val*(*)(val* self))(var_mproperty->class->vft[COLOR_standard__string__Object__to_s]))(var_mproperty); /* to_s on */ } -var3 = var4; +((struct instance_standard__NativeArray*)var73)->values[3]=var98; +{ +var99 = ((val*(*)(val* self))(var_vis_type->class->vft[COLOR_standard__string__Object__to_s]))(var_vis_type); /* to_s on */ } -if (var3){ +((struct instance_standard__NativeArray*)var73)->values[5]=var99; { -var8 = ((val* (*)(val* self))(var_nvisibility->class->vft[COLOR_nit__modelbuilder_base__AVisibility__mvisibility]))(var_nvisibility) /* mvisibility on */; +var100 = ((val*(*)(val* self))(var_mtype->class->vft[COLOR_standard__string__Object__to_s]))(var_mtype); /* to_s on */ } -var_mvisibility = var8; +((struct instance_standard__NativeArray*)var73)->values[7]=var100; { -var9 = nit__model_base___standard__Object___intrude_visibility(self); +var101 = ((val*(*)(val* self))(var73->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var73); /* native_to_s on */ } +varonce72 = var73; { -{ /* Inline kernel#Object#== (var_mvisibility,var9) on */ -var_other12 = var9; +nit___nit__ModelBuilder___error(self, var_node, var101); /* Direct call modelbuilder_base#ModelBuilder#error on */ +} +goto RET_LABEL; +} else { { -{ /* Inline kernel#Object#is_same_instance (var_mvisibility,var_other12) on */ -var15 = var_mvisibility == var_other12; -var13 = var15; -goto RET_LABEL14; -RET_LABEL14:(void)0; +{ /* Inline model#MProperty#visibility (var_mproperty) on */ +var104 = var_mproperty->attrs[COLOR_nit__model__MProperty___visibility].val; /* _visibility on */ +if (unlikely(var104 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1949); +fatal_exit(1); } +var102 = var104; +RET_LABEL103:(void)0; } -var10 = var13; -goto RET_LABEL11; -RET_LABEL11:(void)0; } +{ +var105 = standard___standard__Comparable____62d(var102, var_vis_module_type); } -if (var10){ -if (varonce) { -var16 = varonce; +if (var105){ +if (unlikely(varonce106==NULL)) { +var107 = NEW_standard__NativeArray(11l, &type_standard__NativeArray__standard__String); +if (likely(varonce108!=NULL)) { +var109 = varonce108; } else { -var17 = "Error: intrude is not a legal visibility for properties."; -var18 = 56; -var19 = standard___standard__NativeString___to_s_with_length(var17, var18); -var16 = var19; -varonce = var16; +var110 = "Error: the "; +var111 = standard___standard__NativeString___to_s_with_length(var110, 11l); +var109 = var111; +varonce108 = var109; } -{ -nit___nit__ModelBuilder___error(var_modelbuilder, var_nvisibility, var16); /* Direct call modelbuilder_base#ModelBuilder#error on */ +((struct instance_standard__NativeArray*)var107)->values[0]=var109; +if (likely(varonce112!=NULL)) { +var113 = varonce112; +} else { +var114 = " property `"; +var115 = standard___standard__NativeString___to_s_with_length(var114, 11l); +var113 = var115; +varonce112 = var113; } -{ -var20 = nit__model_base___standard__Object___public_visibility(self); +((struct instance_standard__NativeArray*)var107)->values[2]=var113; +if (likely(varonce116!=NULL)) { +var117 = varonce116; +} else { +var118 = "` cannot contain the type `"; +var119 = standard___standard__NativeString___to_s_with_length(var118, 27l); +var117 = var119; +varonce116 = var117; +} +((struct instance_standard__NativeArray*)var107)->values[4]=var117; +if (likely(varonce120!=NULL)) { +var121 = varonce120; +} else { +var122 = "` from the "; +var123 = standard___standard__NativeString___to_s_with_length(var122, 11l); +var121 = var123; +varonce120 = var121; +} +((struct instance_standard__NativeArray*)var107)->values[6]=var121; +if (likely(varonce124!=NULL)) { +var125 = varonce124; +} else { +var126 = " module `"; +var127 = standard___standard__NativeString___to_s_with_length(var126, 9l); +var125 = var127; +varonce124 = var125; } -var_mvisibility = var20; +((struct instance_standard__NativeArray*)var107)->values[8]=var125; +if (likely(varonce128!=NULL)) { +var129 = varonce128; } else { +var130 = "`."; +var131 = standard___standard__NativeString___to_s_with_length(var130, 2l); +var129 = var131; +varonce128 = var129; } +((struct instance_standard__NativeArray*)var107)->values[10]=var129; } else { +var107 = varonce106; +varonce106 = NULL; } { -{ /* Inline model#MClassDef#mclass (var_mclassdef) on */ -var23 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var23 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); +{ /* Inline model#MProperty#visibility (var_mproperty) on */ +var134 = var_mproperty->attrs[COLOR_nit__model__MProperty___visibility].val; /* _visibility on */ +if (unlikely(var134 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1949); +fatal_exit(1); } -var21 = var23; -RET_LABEL22:(void)0; +var132 = var134; +RET_LABEL133:(void)0; } } { -{ /* Inline model#MClass#visibility (var21) on */ -var26 = var21->attrs[COLOR_nit__model__MClass___visibility].val; /* _visibility on */ -if (unlikely(var26 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 403); -show_backtrace(1); +var135 = ((val*(*)(val* self))(var132->class->vft[COLOR_standard__string__Object__to_s]))(var132); /* to_s on */ } -var24 = var26; -RET_LABEL25:(void)0; +((struct instance_standard__NativeArray*)var107)->values[1]=var135; +{ +var136 = ((val*(*)(val* self))(var_mproperty->class->vft[COLOR_standard__string__Object__to_s]))(var_mproperty); /* to_s on */ } +((struct instance_standard__NativeArray*)var107)->values[3]=var136; +{ +var137 = ((val*(*)(val* self))(var_mtype->class->vft[COLOR_standard__string__Object__to_s]))(var_mtype); /* to_s on */ } +((struct instance_standard__NativeArray*)var107)->values[5]=var137; { -var27 = nit__model_base___standard__Object___private_visibility(self); +var138 = ((val*(*)(val* self))(var_vis_module_type->class->vft[COLOR_standard__string__Object__to_s]))(var_vis_module_type); /* to_s on */ } +((struct instance_standard__NativeArray*)var107)->values[7]=var138; { -{ /* Inline kernel#Object#== (var24,var27) on */ -var_other12 = var27; +var139 = ((val*(*)(val* self))(var_mmodule_type->class->vft[COLOR_standard__string__Object__to_s]))(var_mmodule_type); /* to_s on */ +} +((struct instance_standard__NativeArray*)var107)->values[9]=var139; { -{ /* Inline kernel#Object#is_same_instance (var24,var_other12) on */ -var32 = var24 == var_other12; -var30 = var32; -goto RET_LABEL31; -RET_LABEL31:(void)0; +var140 = ((val*(*)(val* self))(var107->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var107); /* native_to_s on */ } +varonce106 = var107; +{ +nit___nit__ModelBuilder___error(self, var_node, var140); /* Direct call modelbuilder_base#ModelBuilder#error on */ } -var28 = var30; -goto RET_LABEL29; -RET_LABEL29:(void)0; +goto RET_LABEL; +} else { } } -if (var28){ +} else { +} +/* isa AType */ +cltype142 = type_nit__AType.color; +idtype143 = type_nit__AType.id; +if(cltype142 >= var_node->type->table_size) { +var141 = 0; +} else { +var141 = var_node->type->type_table[cltype142] == idtype143; +} +if (var141){ { -var33 = nit__model_base___standard__Object___protected_visibility(self); +{ /* Inline parser_nodes#AType#n_types (var_node) on */ +var146 = var_node->attrs[COLOR_nit__parser_nodes__AType___n_types].val; /* _n_types on */ +if (unlikely(var146 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1729); +fatal_exit(1); +} +var144 = var146; +RET_LABEL145:(void)0; } +} +var_ = var144; { -{ /* Inline kernel#Object#== (var_mvisibility,var33) on */ -var_other12 = var33; +var147 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_); +} +var_148 = var147; +for(;;) { { -{ /* Inline kernel#Object#is_same_instance (var_mvisibility,var_other12) on */ -var38 = var_mvisibility == var_other12; -var36 = var38; -goto RET_LABEL37; -RET_LABEL37:(void)0; +var149 = ((short int(*)(val* self))((((long)var_148&3)?class_info[((long)var_148&3)]:var_148->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_148); /* is_ok on */ } +if (var149){ +{ +var150 = ((val*(*)(val* self))((((long)var_148&3)?class_info[((long)var_148&3)]:var_148->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_148); /* item on */ } -var34 = var36; -goto RET_LABEL35; -RET_LABEL35:(void)0; +var_a = var150; +{ +{ /* Inline modelbuilder_base#AType#mtype (var_a) on */ +var153 = var_a->attrs[COLOR_nit__modelbuilder_base__AType___mtype].val; /* _mtype on */ +var151 = var153; +RET_LABEL152:(void)0; } } -if (var34){ -var39 = NULL; -if (var_nvisibility == NULL) { -var40 = 0; /* is null */ +var_t = var151; +if (var_t == NULL) { +var154 = 1; /* is null */ } else { -var40 = 1; /* arg is null and recv is not */ +var154 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_nvisibility,var39) on */ -var_other = var39; +{ /* Inline kernel#Object#== (var_t,((val*)NULL)) on */ +var_other157 = ((val*)NULL); { -var43 = ((short int (*)(val* self, val* p0))(var_nvisibility->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nvisibility, var_other) /* == on */; +{ /* Inline kernel#Object#is_same_instance (var_t,var_other157) on */ +var160 = var_t == var_other157; +var158 = var160; +goto RET_LABEL159; +RET_LABEL159:(void)0; } -var44 = !var43; -var41 = var44; -goto RET_LABEL42; -RET_LABEL42:(void)0; } -var40 = var41; +var155 = var158; +goto RET_LABEL156; +RET_LABEL156:(void)0; } -if (unlikely(!var40)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 423); -show_backtrace(1); +var154 = var155; } -if (varonce45) { -var46 = varonce45; +if (var154){ +goto BREAK_label; } else { -var47 = "Error: The only legal visibility for properties in a private class is private."; -var48 = 78; -var49 = standard___standard__NativeString___to_s_with_length(var47, var48); -var46 = var49; -varonce45 = var46; -} -{ -nit___nit__ModelBuilder___error(var_modelbuilder, var_nvisibility, var46); /* Direct call modelbuilder_base#ModelBuilder#error on */ } -} else { { -var50 = nit__model_base___standard__Object___private_visibility(self); +nit__modelize_property___ModelBuilder___check_visibility(self, var_a, var_t, var_mpropdef); /* Direct call modelize_property#ModelBuilder#check_visibility on */ } +BREAK_label: (void)0; { -{ /* Inline kernel#Object#== (var_mvisibility,var50) on */ -var_other12 = var50; -{ -{ /* Inline kernel#Object#is_same_instance (var_mvisibility,var_other12) on */ -var55 = var_mvisibility == var_other12; -var53 = var55; -goto RET_LABEL54; -RET_LABEL54:(void)0; +((void(*)(val* self))((((long)var_148&3)?class_info[((long)var_148&3)]:var_148->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_148); /* next on */ } +} else { +goto BREAK_label161; } -var51 = var53; -goto RET_LABEL52; -RET_LABEL52:(void)0; } +BREAK_label161: (void)0; +{ +((void(*)(val* self))((((long)var_148&3)?class_info[((long)var_148&3)]:var_148->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_148); /* finish on */ } -if (var51){ -var56 = NULL; -if (var_nvisibility == NULL) { -var57 = 0; /* is null */ } else { -var57 = 1; /* arg is null and recv is not */ +/* isa MGenericType */ +cltype163 = type_nit__MGenericType.color; +idtype164 = type_nit__MGenericType.id; +if(cltype163 >= var_mtype->type->table_size) { +var162 = 0; +} else { +var162 = var_mtype->type->type_table[cltype163] == idtype164; } -if (0) { -{ /* Inline kernel#Object#!= (var_nvisibility,var56) on */ -var_other = var56; +if (var162){ { -var60 = ((short int (*)(val* self, val* p0))(var_nvisibility->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nvisibility, var_other) /* == on */; +{ /* Inline model#MGenericType#arguments (var_mtype) on */ +var167 = var_mtype->attrs[COLOR_nit__model__MGenericType___arguments].val; /* _arguments on */ +if (unlikely(var167 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1244); +fatal_exit(1); } -var61 = !var60; -var58 = var61; -goto RET_LABEL59; -RET_LABEL59:(void)0; +var165 = var167; +RET_LABEL166:(void)0; } -var57 = var58; } -if (unlikely(!var57)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 426); -show_backtrace(1); +var_168 = var165; +{ +var169 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_168); } -if (varonce62) { -var63 = varonce62; -} else { -var64 = "useless-visibility"; -var65 = 18; -var66 = standard___standard__NativeString___to_s_with_length(var64, var65); -var63 = var66; -varonce62 = var63; +var_170 = var169; +for(;;) { +{ +var171 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_170); } -if (varonce67) { -var68 = varonce67; -} else { -var69 = "Warning: private is superfluous since the only legal visibility for properties in a private class is private."; -var70 = 109; -var71 = standard___standard__NativeString___to_s_with_length(var69, var70); -var68 = var71; -varonce67 = var68; +if (var171){ +{ +var172 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_170); } +var_t173 = var172; { -nit___nit__ModelBuilder___advice(var_modelbuilder, var_nvisibility, var63, var68); /* Direct call modelbuilder_base#ModelBuilder#advice on */ +nit__modelize_property___ModelBuilder___check_visibility(self, var_node, var_t173, var_mpropdef); /* Direct call modelize_property#ModelBuilder#check_visibility on */ +} +{ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_170); /* Direct call array#ArrayIterator#next on */ } } else { +goto BREAK_label174; } } +BREAK_label174: (void)0; { -var72 = nit__model_base___standard__Object___private_visibility(self); +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_170); /* Direct call array#ArrayIterator#finish on */ } -var_mvisibility = var72; } else { } -var = var_mvisibility; -goto RET_LABEL; +} RET_LABEL:; -return var; } -/* method modelize_property#APropdef#set_doc for (self: APropdef, MPropDef, ModelBuilder) */ -void nit__modelize_property___APropdef___set_doc(val* self, val* p0, val* p1) { -val* var_mpropdef /* var mpropdef: MPropDef */; -val* var_modelbuilder /* var modelbuilder: ModelBuilder */; -val* var /* : nullable ADoc */; -val* var2 /* : nullable ADoc */; -val* var_ndoc /* var ndoc: nullable ADoc */; -val* var3 /* : null */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var7 /* : Bool */; +/* method modelize_property#ModelBuilder#check_virtual_types_circularity for (self: ModelBuilder, ANode, MVirtualTypeProp, MType, MModule): Bool */ +short int nit__modelize_property___ModelBuilder___check_virtual_types_circularity(val* self, val* p0, val* p1, val* p2, val* p3) { +short int var /* : Bool */; +val* var_node /* var node: ANode */; +val* var_mproperty /* var mproperty: MVirtualTypeProp */; +val* var_recv /* var recv: MType */; +val* var_mmodule /* var mmodule: MModule */; +val* var1 /* : MVirtualType */; +val* var3 /* : MVirtualType */; +val* var_mtype /* var mtype: MVirtualType */; +val* var4 /* : POSet[MType] */; +val* var_poset /* var poset: POSet[MType] */; +val* var6 /* : List[MType] */; +val* var_todo /* var todo: List[MType] */; short int var8 /* : Bool */; -val* var9 /* : MDoc */; -val* var_mdoc /* var mdoc: MDoc */; +short int var9 /* : Bool */; +val* var10 /* : nullable Object */; +val* var_t /* var t: MType */; +short int var11 /* : Bool */; short int var12 /* : Bool */; short int var13 /* : Bool */; -short int var_ /* var : Bool */; -val* var14 /* : MProperty */; -val* var16 /* : MProperty */; -val* var17 /* : MVisibility */; -val* var19 /* : MVisibility */; -val* var20 /* : MVisibility */; -short int var21 /* : Bool */; -static val* varonce; -val* var22 /* : String */; -char* var23 /* : NativeString */; -long var24 /* : Int */; -val* var25 /* : FlatString */; -static val* varonce26; -val* var27 /* : String */; -char* var28 /* : NativeString */; -long var29 /* : Int */; -val* var30 /* : FlatString */; -val* var31 /* : MProperty */; -val* var33 /* : MProperty */; -static val* varonce34; -val* var35 /* : String */; -char* var36 /* : NativeString */; -long var37 /* : Int */; -val* var38 /* : FlatString */; -val* var39 /* : Array[Object] */; -long var40 /* : Int */; -val* var41 /* : NativeArray[Object] */; -val* var42 /* : String */; -static val* varonce43; -val* var44 /* : String */; -char* var45 /* : NativeString */; -long var46 /* : Int */; -val* var47 /* : FlatString */; -val* var48 /* : nullable AAnnotation */; -val* var_at_deprecated /* var at_deprecated: nullable AAnnotation */; -val* var49 /* : null */; +int cltype; +int idtype; +val* var14 /* : Array[MType] */; +val* var_ /* var : Array[MType] */; +val* var15 /* : MType */; +val* var17 /* : MType */; +val* var_nexts /* var nexts: nullable Object */; +short int var18 /* : Bool */; +int cltype19; +int idtype20; +val* var21 /* : Array[MType] */; +val* var23 /* : Array[MType] */; +short int var24 /* : Bool */; +int cltype25; +int idtype26; +val* var27 /* : MVirtualTypeProp */; +val* var29 /* : MVirtualTypeProp */; +val* var_vt /* var vt: MVirtualTypeProp */; +val* var30 /* : Array[MPropDef] */; +val* var_defs /* var defs: Array[MVirtualTypeDef] */; +short int var31 /* : Bool */; +short int var32 /* : Bool */; +val* var33 /* : Array[MType] */; +val* var_34 /* var : Array[MVirtualTypeDef] */; +val* var35 /* : ArrayIterator[nullable Object] */; +val* var_36 /* var : ArrayIterator[MVirtualTypeDef] */; +short int var37 /* : Bool */; +val* var38 /* : nullable Object */; +val* var_d /* var d: MVirtualTypeDef */; +val* var39 /* : nullable Object */; +val* var40 /* : nullable MType */; +val* var42 /* : nullable MType */; +val* var_next /* var next: nullable MType */; +short int var43 /* : Bool */; +short int var44 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var46 /* : Bool */; +short int var48 /* : Bool */; short int var50 /* : Bool */; -short int var51 /* : Bool */; +int cltype51; +int idtype52; short int var53 /* : Bool */; -short int var54 /* : Bool */; -short int var55 /* : Bool */; -short int var56 /* : Bool */; -static val* varonce57; -val* var58 /* : String */; -char* var59 /* : NativeString */; -long var60 /* : Int */; -val* var61 /* : FlatString */; -val* var62 /* : MDeprecationInfo */; -val* var_info /* var info: MDeprecationInfo */; -val* var64 /* : nullable ADoc */; -val* var66 /* : nullable ADoc */; -val* var67 /* : null */; -short int var68 /* : Bool */; -short int var69 /* : Bool */; -short int var71 /* : Bool */; -short int var72 /* : Bool */; -val* var73 /* : MDoc */; -val* var75 /* : MProperty */; -val* var77 /* : MProperty */; -var_mpropdef = p0; -var_modelbuilder = p1; +int cltype54; +int idtype55; +val* var_56 /* var : Array[MType] */; +val* var57 /* : ArrayIterator[nullable Object] */; +val* var_58 /* var : ArrayIterator[MType] */; +short int var59 /* : Bool */; +val* var60 /* : nullable Object */; +val* var_next61 /* var next: MType */; +short int var62 /* : Bool */; +short int var63 /* : Bool */; +short int var65 /* : Bool */; +short int var67 /* : Bool */; +val* var68 /* : NativeArray[String] */; +static val* varonce; +static val* varonce69; +val* var70 /* : String */; +char* var71 /* : NativeString */; +val* var72 /* : FlatString */; +static val* varonce73; +val* var74 /* : String */; +char* var75 /* : NativeString */; +val* var76 /* : FlatString */; +static val* varonce77; +val* var78 /* : String */; +char* var79 /* : NativeString */; +val* var80 /* : FlatString */; +val* var81 /* : String */; +val* var82 /* : String */; +val* var83 /* : String */; +val* var85 /* : NativeArray[String] */; +static val* varonce84; +static val* varonce86; +val* var87 /* : String */; +char* var88 /* : NativeString */; +val* var89 /* : FlatString */; +static val* varonce90; +val* var91 /* : String */; +char* var92 /* : NativeString */; +val* var93 /* : FlatString */; +static val* varonce94; +val* var95 /* : String */; +char* var96 /* : NativeString */; +val* var97 /* : FlatString */; +static val* varonce98; +val* var99 /* : String */; +char* var100 /* : NativeString */; +val* var101 /* : FlatString */; +val* var102 /* : String */; +val* var103 /* : String */; +val* var104 /* : String */; +val* var105 /* : String */; +var_node = p0; +var_mproperty = p1; +var_recv = p2; +var_mmodule = p3; { -{ /* Inline parser_nodes#ADefinition#n_doc (self) on */ -var2 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_doc].val; /* _n_doc on */ -var = var2; -RET_LABEL1:(void)0; +{ /* Inline model#MVirtualTypeProp#mvirtualtype (var_mproperty) on */ +var3 = var_mproperty->attrs[COLOR_nit__model__MVirtualTypeProp___mvirtualtype].val; /* _mvirtualtype on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mvirtualtype"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2191); +fatal_exit(1); } +var1 = var3; +RET_LABEL2:(void)0; } -var_ndoc = var; -var3 = NULL; -if (var_ndoc == NULL) { -var4 = 0; /* is null */ -} else { -var4 = 1; /* arg is null and recv is not */ } -if (0) { -{ /* Inline kernel#Object#!= (var_ndoc,var3) on */ -var_other = var3; +var_mtype = var1; +var4 = NEW_poset__POSet(&type_poset__POSet__nit__MType); { -var7 = ((short int (*)(val* self, val* p0))(var_ndoc->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ndoc, var_other) /* == on */; +{ /* Inline kernel#Object#init (var4) on */ +RET_LABEL5:(void)0; } -var8 = !var7; -var5 = var8; -goto RET_LABEL6; -RET_LABEL6:(void)0; } -var4 = var5; +var_poset = var4; +var6 = NEW_standard__List(&type_standard__List__nit__MType); +{ +{ /* Inline list#List#init (var6) on */ +RET_LABEL7:(void)0; } -if (var4){ +} +var_todo = var6; { -var9 = nit__modelbuilder_base___ADoc___to_mdoc(var_ndoc); +standard___standard__Sequence___SimpleCollection__add(var_todo, var_mtype); /* Direct call abstract_collection#Sequence#add on */ } -var_mdoc = var9; +for(;;) { { -{ /* Inline mdoc#MEntity#mdoc= (var_mpropdef,var_mdoc) on */ -var_mpropdef->attrs[COLOR_nit__mdoc__MEntity___mdoc].val = var_mdoc; /* _mdoc on */ -RET_LABEL10:(void)0; +var8 = standard___standard__List___standard__abstract_collection__Collection__is_empty(var_todo); } +var9 = !var8; +if (var9){ +{ +var10 = standard___standard__List___standard__abstract_collection__Sequence__pop(var_todo); } +var_t = var10; { -{ /* Inline mdoc#MDoc#original_mentity= (var_mdoc,var_mpropdef) on */ -var_mdoc->attrs[COLOR_nit__mdoc__MDoc___original_mentity].val = var_mpropdef; /* _original_mentity on */ -RET_LABEL11:(void)0; +var11 = ((short int(*)(val* self))(var_t->class->vft[COLOR_nit__model__MType__need_anchor]))(var_t); /* need_anchor on */ } +var12 = !var11; +if (var12){ +goto BREAK_label; +} else { } +/* isa MNullableType */ +cltype = type_nit__MNullableType.color; +idtype = type_nit__MNullableType.id; +if(cltype >= var_t->type->table_size) { +var13 = 0; } else { -{ -var13 = nit___nit__MPropDef___is_intro(var_mpropdef); +var13 = var_t->type->type_table[cltype] == idtype; } -var_ = var13; if (var13){ +var14 = NEW_standard__Array(&type_standard__Array__nit__MType); { -{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ -var16 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var16 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); -} -var14 = var16; -RET_LABEL15:(void)0; -} +standard___standard__Array___with_capacity(var14, 1l); /* Direct call array#Array#with_capacity on */ } +var_ = var14; { -{ /* Inline model#MProperty#visibility (var14) on */ -var19 = var14->attrs[COLOR_nit__model__MProperty___visibility].val; /* _visibility on */ -if (unlikely(var19 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1757); -show_backtrace(1); +{ /* Inline model#MProxyType#mtype (var_t) on */ +var17 = var_t->attrs[COLOR_nit__model__MProxyType___mtype].val; /* _mtype on */ +if (unlikely(var17 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1598); +fatal_exit(1); } -var17 = var19; -RET_LABEL18:(void)0; +var15 = var17; +RET_LABEL16:(void)0; } } { -var20 = nit__model_base___standard__Object___protected_visibility(self); +standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_, var15); /* Direct call array#AbstractArray#push on */ +} +var_nexts = var_; +} else { +/* isa MGenericType */ +cltype19 = type_nit__MGenericType.color; +idtype20 = type_nit__MGenericType.id; +if(cltype19 >= var_t->type->table_size) { +var18 = 0; +} else { +var18 = var_t->type->type_table[cltype19] == idtype20; } +if (var18){ { -var21 = standard___standard__Comparable____62d_61d(var17, var20); +{ /* Inline model#MGenericType#arguments (var_t) on */ +var23 = var_t->attrs[COLOR_nit__model__MGenericType___arguments].val; /* _arguments on */ +if (unlikely(var23 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1244); +fatal_exit(1); } -var12 = var21; -} else { -var12 = var_; +var21 = var23; +RET_LABEL22:(void)0; } -if (var12){ -if (varonce) { -var22 = varonce; -} else { -var23 = "missing-doc"; -var24 = 11; -var25 = standard___standard__NativeString___to_s_with_length(var23, var24); -var22 = var25; -varonce = var22; } -if (varonce26) { -var27 = varonce26; +var_nexts = var21; } else { -var28 = "Documentation warning: Undocumented property `"; -var29 = 46; -var30 = standard___standard__NativeString___to_s_with_length(var28, var29); -var27 = var30; -varonce26 = var27; +/* isa MVirtualType */ +cltype25 = type_nit__MVirtualType.color; +idtype26 = type_nit__MVirtualType.id; +if(cltype25 >= var_t->type->table_size) { +var24 = 0; +} else { +var24 = var_t->type->type_table[cltype25] == idtype26; } +if (var24){ { -{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ -var33 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var33 == NULL)) { +{ /* Inline model#MVirtualType#mproperty (var_t) on */ +var29 = var_t->attrs[COLOR_nit__model__MVirtualType___mproperty].val; /* _mproperty on */ +if (unlikely(var29 == 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, 1344); +fatal_exit(1); } -var31 = var33; -RET_LABEL32:(void)0; +var27 = var29; +RET_LABEL28:(void)0; } } -if (varonce34) { -var35 = varonce34; -} else { -var36 = "`"; -var37 = 1; -var38 = standard___standard__NativeString___to_s_with_length(var36, var37); -var35 = var38; -varonce34 = var35; +var_vt = var27; +{ +var30 = nit___nit__MProperty___lookup_definitions(var_vt, var_mmodule, var_recv); } -var39 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var39 = array_instance Array[Object] */ -var40 = 3; -var41 = NEW_standard__NativeArray(var40, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var41)->values[0] = (val*) var27; -((struct instance_standard__NativeArray*)var41)->values[1] = (val*) var31; -((struct instance_standard__NativeArray*)var41)->values[2] = (val*) var35; +var_defs = var30; { -((void (*)(val* self, val* p0, long p1))(var39->class->vft[COLOR_standard__array__Array__with_native]))(var39, var41, var40) /* with_native on */; +var31 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_defs); } +var32 = !var31; +if (unlikely(!var32)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 445); +fatal_exit(1); } +var33 = NEW_standard__Array(&type_standard__Array__nit__MType); { -var42 = ((val* (*)(val* self))(var39->class->vft[COLOR_standard__string__Object__to_s]))(var39) /* to_s on */; +standard___standard__Array___standard__kernel__Object__init(var33); /* Direct call array#Array#init on */ } +var_nexts = var33; +var_34 = var_defs; { -nit___nit__ModelBuilder___advice(var_modelbuilder, self, var22, var42); /* Direct call modelbuilder_base#ModelBuilder#advice on */ +var35 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_34); } -} else { +var_36 = var35; +for(;;) { +{ +var37 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_36); } +if (var37){ +{ +var38 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_36); } -if (varonce43) { -var44 = varonce43; -} else { -var45 = "deprecated"; -var46 = 10; -var47 = standard___standard__NativeString___to_s_with_length(var45, var46); -var44 = var47; -varonce43 = var44; +var_d = var38; +{ +var39 = standard___standard__SequenceRead___Collection__first(var_defs); } { -var48 = nit__annotation___Prod___get_single_annotation(self, var44, var_modelbuilder); +{ /* Inline model#MVirtualTypeDef#bound (var39) on */ +var42 = var39->attrs[COLOR_nit__model__MVirtualTypeDef___bound].val; /* _bound on */ +var40 = var42; +RET_LABEL41:(void)0; } -var_at_deprecated = var48; -var49 = NULL; -if (var_at_deprecated == NULL) { -var50 = 0; /* is null */ +} +var_next = var40; +if (var_next == NULL) { +var43 = 1; /* is null */ } else { -var50 = 1; /* arg is null and recv is not */ +var43 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_at_deprecated,var49) on */ -var_other = var49; +{ /* Inline kernel#Object#== (var_next,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var53 = ((short int (*)(val* self, val* p0))(var_at_deprecated->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_at_deprecated, var_other) /* == on */; +{ /* Inline kernel#Object#is_same_instance (var_next,var_other) on */ +var48 = var_next == var_other; +var46 = var48; +goto RET_LABEL47; +RET_LABEL47:(void)0; } -var54 = !var53; -var51 = var54; -goto RET_LABEL52; -RET_LABEL52:(void)0; } -var50 = var51; +var44 = var46; +goto RET_LABEL45; +RET_LABEL45:(void)0; } -if (var50){ -{ -var55 = nit___nit__MPropDef___is_intro(var_mpropdef); +var43 = var44; } -var56 = !var55; -if (var56){ -if (varonce57) { -var58 = varonce57; +if (var43){ +var = 0; +goto RET_LABEL; } else { -var59 = "Error: method redefinition cannot be deprecated."; -var60 = 48; -var61 = standard___standard__NativeString___to_s_with_length(var59, var60); -var58 = var61; -varonce57 = var58; } { -nit___nit__ModelBuilder___error(var_modelbuilder, self, var58); /* Direct call modelbuilder_base#ModelBuilder#error on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_nexts, var_next); /* Direct call array#Array#add on */ } -} else { -var62 = NEW_nit__MDeprecationInfo(&type_nit__MDeprecationInfo); { -{ /* Inline kernel#Object#init (var62) on */ -RET_LABEL63:(void)0; +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_36); /* Direct call array#ArrayIterator#next on */ +} +} else { +goto BREAK_label49; } } -var_info = var62; +BREAK_label49: (void)0; { -{ /* Inline parser_nodes#ADefinition#n_doc (var_at_deprecated) on */ -var66 = var_at_deprecated->attrs[COLOR_nit__parser_nodes__ADefinition___n_doc].val; /* _n_doc on */ -var64 = var66; -RET_LABEL65:(void)0; +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_36); /* Direct call array#ArrayIterator#finish on */ } +} else { +/* isa MClassType */ +cltype51 = type_nit__MClassType.color; +idtype52 = type_nit__MClassType.id; +if(cltype51 >= var_t->type->table_size) { +var50 = 0; +} else { +var50 = var_t->type->type_table[cltype51] == idtype52; } -var_ndoc = var64; -var67 = NULL; -if (var_ndoc == NULL) { -var68 = 0; /* is null */ +if (var50){ +goto BREAK_label; +} else { +/* isa MParameterType */ +cltype54 = type_nit__MParameterType.color; +idtype55 = type_nit__MParameterType.id; +if(cltype54 >= var_t->type->table_size) { +var53 = 0; } else { -var68 = 1; /* arg is null and recv is not */ +var53 = var_t->type->type_table[cltype54] == idtype55; +} +if (var53){ +goto BREAK_label; +} else { +PRINT_ERROR("Runtime error: %s", "Aborted"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 459); +fatal_exit(1); } -if (0) { -{ /* Inline kernel#Object#!= (var_ndoc,var67) on */ -var_other = var67; -{ -var71 = ((short int (*)(val* self, val* p0))(var_ndoc->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ndoc, var_other) /* == on */; } -var72 = !var71; -var69 = var72; -goto RET_LABEL70; -RET_LABEL70:(void)0; } -var68 = var69; } -if (var68){ -{ -var73 = nit__modelbuilder_base___ADoc___to_mdoc(var_ndoc); } +var_56 = var_nexts; { -{ /* Inline mdoc#MDeprecationInfo#mdoc= (var_info,var73) on */ -var_info->attrs[COLOR_nit__mdoc__MDeprecationInfo___mdoc].val = var73; /* _mdoc on */ -RET_LABEL74:(void)0; +var57 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_56); } +var_58 = var57; +for(;;) { +{ +var59 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_58); } -} else { +if (var59){ +{ +var60 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_58); } +var_next61 = var60; { -{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ -var77 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var77 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +var62 = poset___poset__POSet___has_edge(var_poset, var_next61, var_t); } -var75 = var77; -RET_LABEL76:(void)0; +if (var62){ +{ +{ /* Inline kernel#Object#== (var_mtype,var_next61) on */ +var_other = var_next61; +{ +{ /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on */ +var67 = var_mtype == var_other; +var65 = var67; +goto RET_LABEL66; +RET_LABEL66:(void)0; } } -{ -{ /* Inline mdoc#MEntity#deprecation= (var75,var_info) on */ -var75->attrs[COLOR_nit__mdoc__MEntity___deprecation].val = var_info; /* _deprecation on */ -RET_LABEL78:(void)0; +var63 = var65; +goto RET_LABEL64; +RET_LABEL64:(void)0; } } +if (var63){ +if (unlikely(varonce==NULL)) { +var68 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce69!=NULL)) { +var70 = varonce69; +} else { +var71 = "Error: circularity of virtual type definition: "; +var72 = standard___standard__NativeString___to_s_with_length(var71, 47l); +var70 = var72; +varonce69 = var70; } +((struct instance_standard__NativeArray*)var68)->values[0]=var70; +if (likely(varonce73!=NULL)) { +var74 = varonce73; } else { +var75 = " <-> "; +var76 = standard___standard__NativeString___to_s_with_length(var75, 5l); +var74 = var76; +varonce73 = var74; } -RET_LABEL:; +((struct instance_standard__NativeArray*)var68)->values[2]=var74; +if (likely(varonce77!=NULL)) { +var78 = varonce77; +} else { +var79 = "."; +var80 = standard___standard__NativeString___to_s_with_length(var79, 1l); +var78 = var80; +varonce77 = var78; } -/* method modelize_property#APropdef#check_redef_property_visibility for (self: APropdef, ModelBuilder, nullable AVisibility, MProperty) */ -void nit__modelize_property___APropdef___check_redef_property_visibility(val* self, val* p0, val* p1, val* p2) { -val* var_modelbuilder /* var modelbuilder: ModelBuilder */; -val* var_nvisibility /* var nvisibility: nullable AVisibility */; -val* var_mprop /* var mprop: MProperty */; -val* var /* : null */; -short int var1 /* : Bool */; -short int var2 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var4 /* : Bool */; -short int var6 /* : Bool */; -val* var7 /* : MVisibility */; -val* var_mvisibility /* var mvisibility: MVisibility */; -short int var8 /* : Bool */; -val* var9 /* : MVisibility */; -val* var11 /* : MVisibility */; -short int var12 /* : Bool */; -val* var_other14 /* var other: nullable Object */; -short int var15 /* : Bool */; -short int var16 /* : Bool */; -short int var_ /* var : Bool */; -val* var17 /* : MVisibility */; -short int var18 /* : Bool */; -short int var20 /* : Bool */; -short int var21 /* : Bool */; -static val* varonce; -val* var22 /* : String */; -char* var23 /* : NativeString */; -long var24 /* : Int */; -val* var25 /* : FlatString */; -val* var26 /* : MVisibility */; -val* var28 /* : MVisibility */; -static val* varonce29; -val* var30 /* : String */; -char* var31 /* : NativeString */; -long var32 /* : Int */; -val* var33 /* : FlatString */; -val* var34 /* : Array[Object] */; -long var35 /* : Int */; -val* var36 /* : NativeArray[Object] */; -val* var37 /* : String */; -var_modelbuilder = p0; -var_nvisibility = p1; -var_mprop = p2; -var = NULL; -if (var_nvisibility == NULL) { -var1 = 1; /* is null */ +((struct instance_standard__NativeArray*)var68)->values[4]=var78; } else { -var1 = 0; /* arg is null but recv is not */ +var68 = varonce; +varonce = NULL; } -if (0) { -{ /* Inline kernel#Object#== (var_nvisibility,var) on */ -var_other = var; { -{ /* Inline kernel#Object#is_same_instance (var_nvisibility,var_other) on */ -var6 = var_nvisibility == var_other; -var4 = var6; -goto RET_LABEL5; -RET_LABEL5:(void)0; +var81 = ((val*(*)(val* self))(var_next61->class->vft[COLOR_standard__string__Object__to_s]))(var_next61); /* to_s on */ } +((struct instance_standard__NativeArray*)var68)->values[1]=var81; +{ +var82 = ((val*(*)(val* self))(var_t->class->vft[COLOR_standard__string__Object__to_s]))(var_t); /* to_s on */ } -var2 = var4; -goto RET_LABEL3; -RET_LABEL3:(void)0; +((struct instance_standard__NativeArray*)var68)->values[3]=var82; +{ +var83 = ((val*(*)(val* self))(var68->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var68); /* native_to_s on */ } -var1 = var2; +varonce = var68; +{ +nit___nit__ModelBuilder___error(self, var_node, var83); /* Direct call modelbuilder_base#ModelBuilder#error on */ } -if (var1){ -goto RET_LABEL; } else { +if (unlikely(varonce84==NULL)) { +var85 = NEW_standard__NativeArray(7l, &type_standard__NativeArray__standard__String); +if (likely(varonce86!=NULL)) { +var87 = varonce86; +} else { +var88 = "Error: circularity of virtual type definition: "; +var89 = standard___standard__NativeString___to_s_with_length(var88, 47l); +var87 = var89; +varonce86 = var87; } -{ -var7 = ((val* (*)(val* self))(var_nvisibility->class->vft[COLOR_nit__modelbuilder_base__AVisibility__mvisibility]))(var_nvisibility) /* mvisibility on */; +((struct instance_standard__NativeArray*)var85)->values[0]=var87; +if (likely(varonce90!=NULL)) { +var91 = varonce90; +} else { +var92 = " -> "; +var93 = standard___standard__NativeString___to_s_with_length(var92, 4l); +var91 = var93; +varonce90 = var91; } -var_mvisibility = var7; -{ -{ /* Inline model#MProperty#visibility (var_mprop) on */ -var11 = var_mprop->attrs[COLOR_nit__model__MProperty___visibility].val; /* _visibility on */ -if (unlikely(var11 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1757); -show_backtrace(1); +((struct instance_standard__NativeArray*)var85)->values[2]=var91; +if (likely(varonce94!=NULL)) { +var95 = varonce94; +} else { +var96 = " <-> "; +var97 = standard___standard__NativeString___to_s_with_length(var96, 5l); +var95 = var97; +varonce94 = var95; } -var9 = var11; -RET_LABEL10:(void)0; +((struct instance_standard__NativeArray*)var85)->values[4]=var95; +if (likely(varonce98!=NULL)) { +var99 = varonce98; +} else { +var100 = "."; +var101 = standard___standard__NativeString___to_s_with_length(var100, 1l); +var99 = var101; +varonce98 = var99; } +((struct instance_standard__NativeArray*)var85)->values[6]=var99; +} else { +var85 = varonce84; +varonce84 = NULL; } { -{ /* Inline kernel#Object#!= (var_mvisibility,var9) on */ -var_other14 = var9; +var102 = ((val*(*)(val* self))(var_mtype->class->vft[COLOR_standard__string__Object__to_s]))(var_mtype); /* to_s on */ +} +((struct instance_standard__NativeArray*)var85)->values[1]=var102; { -var15 = ((short int (*)(val* self, val* p0))(var_mvisibility->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mvisibility, var_other14) /* == on */; +var103 = ((val*(*)(val* self))(var_next61->class->vft[COLOR_standard__string__Object__to_s]))(var_next61); /* to_s on */ } -var16 = !var15; -var12 = var16; -goto RET_LABEL13; -RET_LABEL13:(void)0; +((struct instance_standard__NativeArray*)var85)->values[3]=var103; +{ +var104 = ((val*(*)(val* self))(var_t->class->vft[COLOR_standard__string__Object__to_s]))(var_t); /* to_s on */ } +((struct instance_standard__NativeArray*)var85)->values[5]=var104; +{ +var105 = ((val*(*)(val* self))(var85->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var85); /* native_to_s on */ } -var_ = var12; -if (var12){ +varonce84 = var85; { -var17 = nit__model_base___standard__Object___public_visibility(self); +nit___nit__ModelBuilder___error(self, var_node, var105); /* Direct call modelbuilder_base#ModelBuilder#error on */ } +} +var = 0; +goto RET_LABEL; +} else { { -{ /* Inline kernel#Object#!= (var_mvisibility,var17) on */ -var_other14 = var17; +poset___poset__POSet___add_edge(var_poset, var_t, var_next61); /* Direct call poset#POSet#add_edge on */ +} { -var20 = ((short int (*)(val* self, val* p0))(var_mvisibility->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mvisibility, var_other14) /* == on */; +standard___standard__Sequence___SimpleCollection__add(var_todo, var_next61); /* Direct call abstract_collection#Sequence#add on */ } -var21 = !var20; -var18 = var21; -goto RET_LABEL19; -RET_LABEL19:(void)0; } +{ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_58); /* Direct call array#ArrayIterator#next on */ } -var8 = var18; } else { -var8 = var_; +goto BREAK_label106; } -if (var8){ -if (varonce) { -var22 = varonce; -} else { -var23 = "Error: redefinition changed the visibility from a "; -var24 = 50; -var25 = standard___standard__NativeString___to_s_with_length(var23, var24); -var22 = var25; -varonce = var22; } +BREAK_label106: (void)0; { -{ /* Inline model#MProperty#visibility (var_mprop) on */ -var28 = var_mprop->attrs[COLOR_nit__model__MProperty___visibility].val; /* _visibility on */ -if (unlikely(var28 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1757); -show_backtrace(1); +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_58); /* Direct call array#ArrayIterator#finish on */ } -var26 = var28; -RET_LABEL27:(void)0; +} else { +goto BREAK_label107; } +BREAK_label: (void)0; } -if (varonce29) { -var30 = varonce29; -} else { -var31 = " to a "; -var32 = 6; -var33 = standard___standard__NativeString___to_s_with_length(var31, var32); -var30 = var33; -varonce29 = var30; +BREAK_label107: (void)0; +var = 1; +goto RET_LABEL; +RET_LABEL:; +return var; } -var34 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var34 = array_instance Array[Object] */ -var35 = 4; -var36 = NEW_standard__NativeArray(var35, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var36)->values[0] = (val*) var22; -((struct instance_standard__NativeArray*)var36)->values[1] = (val*) var26; -((struct instance_standard__NativeArray*)var36)->values[2] = (val*) var30; -((struct instance_standard__NativeArray*)var36)->values[3] = (val*) var_mvisibility; -{ -((void (*)(val* self, val* p0, long p1))(var34->class->vft[COLOR_standard__array__Array__with_native]))(var34, var36, var35) /* with_native on */; +/* method modelize_property#MPropDef#has_supercall for (self: MPropDef): Bool */ +short int nit__modelize_property___MPropDef___has_supercall(val* self) { +short int var /* : Bool */; +short int var1 /* : Bool */; +var1 = self->attrs[COLOR_nit__modelize_property__MPropDef___has_supercall].s; /* _has_supercall on */ +var = var1; +RET_LABEL:; +return var; } +/* method modelize_property#MPropDef#has_supercall= for (self: MPropDef, Bool) */ +void nit__modelize_property___MPropDef___has_supercall_61d(val* self, short int p0) { +self->attrs[COLOR_nit__modelize_property__MPropDef___has_supercall].s = p0; /* _has_supercall on */ +RET_LABEL:; } -{ -var37 = ((val* (*)(val* self))(var34->class->vft[COLOR_standard__string__Object__to_s]))(var34) /* to_s on */; +/* method modelize_property#AClassdef#build_properties_is_done for (self: AClassdef): Bool */ +short int nit__modelize_property___AClassdef___build_properties_is_done(val* self) { +short int var /* : Bool */; +short int var1 /* : Bool */; +var1 = self->attrs[COLOR_nit__modelize_property__AClassdef___build_properties_is_done].s; /* _build_properties_is_done on */ +var = var1; +RET_LABEL:; +return var; } -{ -nit___nit__ModelBuilder___error(var_modelbuilder, var_nvisibility, var37); /* Direct call modelbuilder_base#ModelBuilder#error on */ +/* method modelize_property#AClassdef#build_properties_is_done= for (self: AClassdef, Bool) */ +void nit__modelize_property___AClassdef___build_properties_is_done_61d(val* self, short int p0) { +self->attrs[COLOR_nit__modelize_property__AClassdef___build_properties_is_done].s = p0; /* _build_properties_is_done on */ +RET_LABEL:; } -} else { +/* method modelize_property#AClassdef#mfree_init for (self: AClassdef): nullable MMethodDef */ +val* nit__modelize_property___AClassdef___mfree_init(val* self) { +val* var /* : nullable MMethodDef */; +val* var1 /* : nullable MMethodDef */; +var1 = self->attrs[COLOR_nit__modelize_property__AClassdef___mfree_init].val; /* _mfree_init on */ +var = var1; +RET_LABEL:; +return var; } +/* method modelize_property#AClassdef#mfree_init= for (self: AClassdef, nullable MMethodDef) */ +void nit__modelize_property___AClassdef___mfree_init_61d(val* self, val* p0) { +self->attrs[COLOR_nit__modelize_property__AClassdef___mfree_init].val = p0; /* _mfree_init on */ RET_LABEL:; } -/* method modelize_property#APropdef#check_redef_keyword for (self: APropdef, ModelBuilder, MClassDef, nullable Token, Bool, MProperty): Bool */ -short int nit__modelize_property___APropdef___check_redef_keyword(val* self, val* p0, val* p1, val* p2, short int p3, val* p4) { -short int var /* : Bool */; -val* var_modelbuilder /* var modelbuilder: ModelBuilder */; -val* var_mclassdef /* var mclassdef: MClassDef */; -val* var_kwredef /* var kwredef: nullable Token */; -short int var_need_redef /* var need_redef: Bool */; -val* var_mprop /* var mprop: MProperty */; +/* method modelize_property#MClass#root_init for (self: MClass): nullable MMethodDef */ +val* nit__modelize_property___MClass___root_init(val* self) { +val* var /* : nullable MMethodDef */; +val* var1 /* : nullable MMethodDef */; +var1 = self->attrs[COLOR_nit__modelize_property__MClass___root_init].val; /* _root_init on */ +var = var1; +RET_LABEL:; +return var; +} +/* method modelize_property#MClass#root_init= for (self: MClass, nullable MMethodDef) */ +void nit__modelize_property___MClass___root_init_61d(val* self, val* p0) { +self->attrs[COLOR_nit__modelize_property__MClass___root_init].val = p0; /* _root_init on */ +RET_LABEL:; +} +/* method modelize_property#MClassDef#mprop2npropdef for (self: MClassDef): Map[MProperty, APropdef] */ +val* nit__modelize_property___MClassDef___mprop2npropdef(val* self) { +val* var /* : Map[MProperty, APropdef] */; val* var1 /* : Map[MProperty, APropdef] */; -val* var3 /* : Map[MProperty, APropdef] */; -short int var4 /* : Bool */; +var1 = self->attrs[COLOR_nit__modelize_property__MClassDef___mprop2npropdef].val; /* _mprop2npropdef on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 505); +fatal_exit(1); +} +var = var1; +RET_LABEL:; +return var; +} +/* method modelize_property#MClassDef#build_self_type for (self: MClassDef, ModelBuilder, AClassdef) */ +void nit__modelize_property___MClassDef___build_self_type(val* self, val* p0, val* p1) { +val* var_modelbuilder /* var modelbuilder: ModelBuilder */; +val* var_nclassdef /* var nclassdef: AClassdef */; +short int var /* : Bool */; +short int var1 /* : Bool */; static val* varonce; -val* var5 /* : String */; -char* var6 /* : NativeString */; -long var7 /* : Int */; -val* var8 /* : FlatString */; -static val* varonce9; -val* var10 /* : String */; -char* var11 /* : NativeString */; -long var12 /* : Int */; -val* var13 /* : FlatString */; -val* var14 /* : MClass */; -val* var16 /* : MClass */; -static val* varonce17; -val* var18 /* : String */; -char* var19 /* : NativeString */; -long var20 /* : Int */; -val* var21 /* : FlatString */; -val* var22 /* : Map[MProperty, APropdef] */; -val* var24 /* : Map[MProperty, APropdef] */; -val* var25 /* : nullable Object */; -val* var26 /* : Location */; -val* var28 /* : Location */; -long var29 /* : Int */; -long var31 /* : Int */; -static val* varonce32; -val* var33 /* : String */; -char* var34 /* : NativeString */; -long var35 /* : Int */; -val* var36 /* : FlatString */; -val* var37 /* : Array[Object] */; -long var38 /* : Int */; -val* var39 /* : NativeArray[Object] */; -val* var40 /* : Object */; -val* var41 /* : String */; -short int var42 /* : Bool */; -short int var43 /* : Bool */; -short int var44 /* : Bool */; +val* var2 /* : String */; +char* var3 /* : NativeString */; +val* var4 /* : FlatString */; +val* var_name /* var name: String */; +val* var5 /* : nullable MProperty */; +val* var_mprop /* var mprop: nullable MProperty */; +short int var6 /* : Bool */; +short int var7 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var9 /* : Bool */; +short int var11 /* : Bool */; +short int var12 /* : Bool */; int cltype; int idtype; -short int var_ /* var : Bool */; -short int var45 /* : Bool */; -short int var47 /* : Bool */; -val* var48 /* : nullable ANode */; -val* var50 /* : nullable ANode */; -short int var51 /* : Bool */; -int cltype52; -int idtype53; -short int var54 /* : Bool */; +short int var13 /* : Bool */; +val* var14 /* : MPropDef */; +val* var16 /* : MPropDef */; +val* var_intro /* var intro: MVirtualTypeDef */; +val* var17 /* : MClassDef */; +val* var19 /* : MClassDef */; +val* var_intro_mclassdef /* var intro_mclassdef: MClassDef */; +short int var20 /* : Bool */; +short int var22 /* : Bool */; +short int var24 /* : Bool */; +val* var25 /* : HashMap[MPropDef, APropdef] */; +val* var27 /* : HashMap[MPropDef, APropdef] */; +val* var28 /* : nullable Object */; +val* var_nintro /* var nintro: APropdef */; +val* var29 /* : MClass */; +val* var31 /* : MClass */; +val* var32 /* : String */; +val* var34 /* : String */; +static val* varonce35; +val* var36 /* : String */; +char* var37 /* : NativeString */; +val* var38 /* : FlatString */; +short int var39 /* : Bool */; +val* var_other41 /* var other: nullable Object */; +short int var42 /* : Bool */; +short int var43 /* : Bool */; +static val* varonce44; +val* var45 /* : String */; +char* var46 /* : NativeString */; +val* var47 /* : FlatString */; +val* var48 /* : MVisibility */; +val* var50 /* : MVisibility */; +val* var51 /* : Sys */; +val* var52 /* : MVisibility */; +short int var53 /* : Bool */; +short int var55 /* : Bool */; short int var56 /* : Bool */; -short int var57 /* : Bool */; -short int var58 /* : Bool */; -short int var60 /* : Bool */; -static val* varonce61; -val* var62 /* : String */; -char* var63 /* : NativeString */; -long var64 /* : Int */; -val* var65 /* : FlatString */; -static val* varonce66; -val* var67 /* : String */; -char* var68 /* : NativeString */; -long var69 /* : Int */; -val* var70 /* : FlatString */; -val* var71 /* : Array[Object] */; -long var72 /* : Int */; -val* var73 /* : NativeArray[Object] */; -val* var74 /* : String */; -static val* varonce75; -val* var76 /* : String */; -char* var77 /* : NativeString */; -long var78 /* : Int */; -val* var79 /* : FlatString */; -static val* varonce80; -val* var81 /* : String */; -char* var82 /* : NativeString */; -long var83 /* : Int */; -val* var84 /* : FlatString */; -val* var85 /* : Array[Object] */; -long var86 /* : Int */; -val* var87 /* : NativeArray[Object] */; -val* var88 /* : String */; -short int var89 /* : Bool */; -short int var90 /* : Bool */; -short int var91 /* : Bool */; -int cltype92; -int idtype93; -short int var_94 /* var : Bool */; -short int var95 /* : Bool */; -short int var97 /* : Bool */; -short int var98 /* : Bool */; -val* var99 /* : null */; -short int var100 /* : Bool */; -short int var101 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var103 /* : Bool */; -short int var105 /* : Bool */; -static val* varonce106; -val* var107 /* : String */; -char* var108 /* : NativeString */; -long var109 /* : Int */; -val* var110 /* : FlatString */; -val* var111 /* : MClass */; -val* var113 /* : MClass */; -static val* varonce114; -val* var115 /* : String */; -char* var116 /* : NativeString */; -long var117 /* : Int */; -val* var118 /* : FlatString */; -val* var119 /* : String */; -val* var121 /* : String */; -static val* varonce122; -val* var123 /* : String */; -char* var124 /* : NativeString */; -long var125 /* : Int */; -val* var126 /* : FlatString */; -val* var127 /* : Array[Object] */; -long var128 /* : Int */; -val* var129 /* : NativeArray[Object] */; -val* var130 /* : String */; -short int var131 /* : Bool */; -short int var132 /* : Bool */; -val* var133 /* : MClassDef */; -val* var135 /* : MClassDef */; -val* var136 /* : MModule */; -val* var138 /* : MModule */; -val* var139 /* : nullable MGroup */; -val* var141 /* : nullable MGroup */; -val* var142 /* : null */; -short int var143 /* : Bool */; -short int var144 /* : Bool */; -val* var_other146 /* var other: nullable Object */; -short int var147 /* : Bool */; -short int var148 /* : Bool */; -short int var_149 /* var : Bool */; -val* var150 /* : MVisibility */; -val* var152 /* : MVisibility */; -val* var153 /* : MVisibility */; -short int var154 /* : Bool */; -val* var155 /* : Model */; -val* var157 /* : Model */; -val* var158 /* : String */; -val* var160 /* : String */; -val* var161 /* : nullable Array[MProperty] */; -val* var_others /* var others: nullable Array[MProperty] */; -val* var162 /* : null */; -short int var163 /* : Bool */; -short int var164 /* : Bool */; -short int var166 /* : Bool */; -short int var167 /* : Bool */; -val* var_168 /* var : Array[MProperty] */; -val* var169 /* : ArrayIterator[nullable Object] */; -val* var_170 /* var : ArrayIterator[MProperty] */; -short int var171 /* : Bool */; -val* var172 /* : nullable Object */; -val* var_other173 /* var other: MProperty */; -short int var174 /* : Bool */; -short int var175 /* : Bool */; -short int var176 /* : Bool */; -short int var177 /* : Bool */; -short int var178 /* : Bool */; -short int var180 /* : Bool */; -short int var181 /* : Bool */; -short int var_182 /* var : Bool */; -val* var183 /* : MClassDef */; -val* var185 /* : MClassDef */; -val* var186 /* : MModule */; -val* var188 /* : MModule */; -val* var189 /* : nullable MGroup */; -val* var191 /* : nullable MGroup */; -val* var192 /* : null */; -short int var193 /* : Bool */; -short int var194 /* : Bool */; -short int var196 /* : Bool */; -short int var197 /* : Bool */; -short int var_198 /* var : Bool */; -val* var199 /* : MClassDef */; -val* var201 /* : MClassDef */; -val* var202 /* : MModule */; -val* var204 /* : MModule */; -val* var205 /* : nullable MGroup */; -val* var207 /* : nullable MGroup */; -val* var208 /* : MProject */; -val* var210 /* : MProject */; -val* var211 /* : MClassDef */; -val* var213 /* : MClassDef */; -val* var214 /* : MModule */; -val* var216 /* : MModule */; -val* var217 /* : nullable MGroup */; -val* var219 /* : nullable MGroup */; -val* var220 /* : MProject */; -val* var222 /* : MProject */; -short int var223 /* : Bool */; -short int var225 /* : Bool */; -short int var227 /* : Bool */; -short int var_228 /* var : Bool */; -val* var229 /* : MClassDef */; -val* var231 /* : MClassDef */; -val* var232 /* : MClass */; -val* var234 /* : MClass */; -val* var235 /* : String */; -val* var237 /* : String */; -val* var238 /* : MClassDef */; -val* var240 /* : MClassDef */; -val* var241 /* : MClass */; -val* var243 /* : MClass */; -val* var244 /* : String */; -val* var246 /* : String */; -short int var247 /* : Bool */; -short int var_248 /* var : Bool */; -val* var249 /* : MVisibility */; -val* var251 /* : MVisibility */; -val* var252 /* : MVisibility */; -short int var253 /* : Bool */; -static val* varonce254; -val* var255 /* : String */; -char* var256 /* : NativeString */; -long var257 /* : Int */; -val* var258 /* : FlatString */; -static val* varonce259; -val* var260 /* : String */; -char* var261 /* : NativeString */; -long var262 /* : Int */; -val* var263 /* : FlatString */; -val* var264 /* : String */; -static val* varonce265; -val* var266 /* : String */; -char* var267 /* : NativeString */; -long var268 /* : Int */; -val* var269 /* : FlatString */; -val* var270 /* : MClassDef */; -val* var272 /* : MClassDef */; -val* var273 /* : MModule */; -val* var275 /* : MModule */; -static val* varonce276; -val* var277 /* : String */; -char* var278 /* : NativeString */; -long var279 /* : Int */; -val* var280 /* : FlatString */; -val* var281 /* : MClassDef */; -val* var283 /* : MClassDef */; -val* var284 /* : MClass */; -val* var286 /* : MClass */; -val* var287 /* : String */; -val* var289 /* : String */; -static val* varonce290; -val* var291 /* : String */; -char* var292 /* : NativeString */; -long var293 /* : Int */; -val* var294 /* : FlatString */; -val* var295 /* : Array[Object] */; -long var296 /* : Int */; -val* var297 /* : NativeArray[Object] */; -val* var298 /* : String */; -short int var300 /* : Bool */; -static val* varonce301; -val* var302 /* : String */; -char* var303 /* : NativeString */; -long var304 /* : Int */; -val* var305 /* : FlatString */; -val* var306 /* : MClass */; -val* var308 /* : MClass */; -static val* varonce309; -val* var310 /* : String */; -char* var311 /* : NativeString */; -long var312 /* : Int */; -val* var313 /* : FlatString */; -val* var314 /* : String */; -val* var316 /* : String */; -static val* varonce317; -val* var318 /* : String */; -char* var319 /* : NativeString */; -long var320 /* : Int */; -val* var321 /* : FlatString */; -val* var322 /* : Array[Object] */; -long var323 /* : Int */; -val* var324 /* : NativeArray[Object] */; -val* var325 /* : String */; -short int var326 /* : Bool */; -short int var327 /* : Bool */; +static val* varonce57; +val* var58 /* : String */; +char* var59 /* : NativeString */; +val* var60 /* : FlatString */; +short int var61 /* : Bool */; +short int var63 /* : Bool */; +static val* varonce64; +val* var65 /* : String */; +char* var66 /* : NativeString */; +val* var67 /* : FlatString */; +val* var68 /* : MVirtualTypeDef */; +val* var69 /* : Location */; +val* var71 /* : Location */; +val* var_mpropdef /* var mpropdef: MVirtualTypeDef */; +val* var72 /* : MClass */; +val* var74 /* : MClass */; +val* var75 /* : MClassType */; +val* var77 /* : MClassType */; var_modelbuilder = p0; -var_mclassdef = p1; -var_kwredef = p2; -var_need_redef = p3; -var_mprop = p4; +var_nclassdef = p1; { -{ /* Inline modelize_property#MClassDef#mprop2npropdef (var_mclassdef) on */ -var3 = var_mclassdef->attrs[COLOR_nit__modelize_property__MClassDef___mprop2npropdef].val; /* _mprop2npropdef on */ -if (unlikely(var3 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 352); -show_backtrace(1); +var = nit___nit__MClassDef___is_intro(self); } -var1 = var3; -RET_LABEL2:(void)0; +var1 = !var; +if (var1){ +goto RET_LABEL; +} else { } +if (likely(varonce!=NULL)) { +var2 = varonce; +} else { +var3 = "SELF"; +var4 = standard___standard__NativeString___to_s_with_length(var3, 4l); +var2 = var4; +varonce = var2; } +var_name = var2; { -var4 = standard___standard__MapRead___has_key(var1, var_mprop); -} -if (var4){ -if (varonce) { -var5 = varonce; -} else { -var6 = "Error: A property "; -var7 = 18; -var8 = standard___standard__NativeString___to_s_with_length(var6, var7); -var5 = var8; -varonce = var5; +var5 = nit___nit__ModelBuilder___try_get_mproperty_by_name(var_modelbuilder, var_nclassdef, self, var_name); } -if (varonce9) { -var10 = varonce9; +var_mprop = var5; +if (var_mprop == NULL) { +var6 = 1; /* is null */ } else { -var11 = " is already defined in class "; -var12 = 29; -var13 = standard___standard__NativeString___to_s_with_length(var11, var12); -var10 = var13; -varonce9 = var10; +var6 = 0; /* arg is null but recv is not */ } +if (0) { +{ /* Inline kernel#Object#== (var_mprop,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline model#MClassDef#mclass (var_mclassdef) on */ -var16 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var16 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); +{ /* Inline kernel#Object#is_same_instance (var_mprop,var_other) on */ +var11 = var_mprop == var_other; +var9 = var11; +goto RET_LABEL10; +RET_LABEL10:(void)0; } -var14 = var16; -RET_LABEL15:(void)0; } +var7 = var9; +goto RET_LABEL8; +RET_LABEL8:(void)0; } -if (varonce17) { -var18 = varonce17; -} else { -var19 = " at line "; -var20 = 9; -var21 = standard___standard__NativeString___to_s_with_length(var19, var20); -var18 = var21; -varonce17 = var18; -} -{ -{ /* Inline modelize_property#MClassDef#mprop2npropdef (var_mclassdef) on */ -var24 = var_mclassdef->attrs[COLOR_nit__modelize_property__MClassDef___mprop2npropdef].val; /* _mprop2npropdef on */ -if (unlikely(var24 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 352); -show_backtrace(1); +var6 = var7; } -var22 = var24; -RET_LABEL23:(void)0; +if (var6){ +goto RET_LABEL; +} else { } +/* isa MVirtualTypeProp */ +cltype = type_nit__MVirtualTypeProp.color; +idtype = type_nit__MVirtualTypeProp.id; +if(cltype >= var_mprop->type->table_size) { +var12 = 0; +} else { +var12 = var_mprop->type->type_table[cltype] == idtype; } -{ -var25 = ((val* (*)(val* self, val* p0))(var22->class->vft[COLOR_standard__abstract_collection__MapRead___91d_93d]))(var22, var_mprop) /* [] on */; +var13 = !var12; +if (var13){ +goto RET_LABEL; +} else { } { -{ /* Inline parser_nodes#ANode#location (var25) on */ -var28 = var25->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ -if (unlikely(var28 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 23); -show_backtrace(1); +{ /* Inline model#MProperty#intro (var_mprop) on */ +var16 = var_mprop->attrs[COLOR_nit__model__MProperty___intro].val; /* _intro on */ +if (unlikely(var16 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1968); +fatal_exit(1); } -var26 = var28; -RET_LABEL27:(void)0; +var14 = var16; +RET_LABEL15:(void)0; } } +var_intro = var14; { -{ /* Inline location#Location#line_start (var26) on */ -var31 = var26->attrs[COLOR_nit__location__Location___line_start].l; /* _line_start on */ -var29 = var31; -RET_LABEL30:(void)0; -} -} -if (varonce32) { -var33 = varonce32; -} else { -var34 = "."; -var35 = 1; -var36 = standard___standard__NativeString___to_s_with_length(var34, var35); -var33 = var36; -varonce32 = var33; +{ /* Inline model#MPropDef#mclassdef (var_intro) on */ +var19 = var_intro->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ +if (unlikely(var19 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209); +fatal_exit(1); } -var37 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var37 = array_instance Array[Object] */ -var38 = 7; -var39 = NEW_standard__NativeArray(var38, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var39)->values[0] = (val*) var5; -((struct instance_standard__NativeArray*)var39)->values[1] = (val*) var_mprop; -((struct instance_standard__NativeArray*)var39)->values[2] = (val*) var10; -((struct instance_standard__NativeArray*)var39)->values[3] = (val*) var14; -((struct instance_standard__NativeArray*)var39)->values[4] = (val*) var18; -var40 = BOX_standard__Int(var29); /* autobox from Int to Object */ -((struct instance_standard__NativeArray*)var39)->values[5] = (val*) var40; -((struct instance_standard__NativeArray*)var39)->values[6] = (val*) var33; -{ -((void (*)(val* self, val* p0, long p1))(var37->class->vft[COLOR_standard__array__Array__with_native]))(var37, var39, var38) /* with_native on */; +var17 = var19; +RET_LABEL18:(void)0; } } +var_intro_mclassdef = var17; { -var41 = ((val* (*)(val* self))(var37->class->vft[COLOR_standard__string__Object__to_s]))(var37) /* to_s on */; -} +{ /* Inline kernel#Object#== (var_intro_mclassdef,self) on */ +var_other = self; { -nit___nit__ModelBuilder___error(var_modelbuilder, self, var41); /* Direct call modelbuilder_base#ModelBuilder#error on */ -} -var42 = 0; -var = var42; -goto RET_LABEL; -} else { +{ /* Inline kernel#Object#is_same_instance (var_intro_mclassdef,var_other) on */ +var24 = var_intro_mclassdef == var_other; +var22 = var24; +goto RET_LABEL23; +RET_LABEL23:(void)0; } -/* isa MMethod */ -cltype = type_nit__MMethod.color; -idtype = type_nit__MMethod.id; -if(cltype >= var_mprop->type->table_size) { -var44 = 0; -} else { -var44 = var_mprop->type->type_table[cltype] == idtype; } -var_ = var44; -if (var44){ -{ -{ /* Inline model#MMethod#is_toplevel (var_mprop) on */ -var47 = var_mprop->attrs[COLOR_nit__model__MMethod___is_toplevel].s; /* _is_toplevel on */ -var45 = var47; -RET_LABEL46:(void)0; +var20 = var22; +goto RET_LABEL21; +RET_LABEL21:(void)0; } } +if (var20){ { -{ /* Inline parser_nodes#ANode#parent (self) on */ -var50 = self->attrs[COLOR_nit__parser_nodes__ANode___parent].val; /* _parent on */ -var48 = var50; -RET_LABEL49:(void)0; +{ /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on */ +var27 = var_modelbuilder->attrs[COLOR_nit__modelize_property__ModelBuilder___mpropdef2npropdef].val; /* _mpropdef2npropdef on */ +if (unlikely(var27 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 40); +fatal_exit(1); } +var25 = var27; +RET_LABEL26:(void)0; } -/* isa ATopClassdef */ -cltype52 = type_nit__ATopClassdef.color; -idtype53 = type_nit__ATopClassdef.id; -if(var48 == NULL) { -var51 = 0; -} else { -if(cltype52 >= var48->type->table_size) { -var51 = 0; -} else { -var51 = var48->type->type_table[cltype52] == idtype53; } +{ +var28 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var25, var_intro); } +var_nintro = var28; { -{ /* Inline kernel#Bool#!= (var45,var51) on */ -var56 = var45 == var51; -var57 = !var56; -var54 = var57; -goto RET_LABEL55; -RET_LABEL55:(void)0; +{ /* Inline model#MClassDef#mclass (var_intro_mclassdef) on */ +var31 = var_intro_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var31 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); } +var29 = var31; +RET_LABEL30:(void)0; } -var43 = var54; -} else { -var43 = var_; } -if (var43){ { -{ /* Inline model#MMethod#is_toplevel (var_mprop) on */ -var60 = var_mprop->attrs[COLOR_nit__model__MMethod___is_toplevel].s; /* _is_toplevel on */ -var58 = var60; -RET_LABEL59:(void)0; +{ /* Inline model#MClass#name (var29) on */ +var34 = var29->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ +if (unlikely(var34 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 362); +fatal_exit(1); } +var32 = var34; +RET_LABEL33:(void)0; } -if (var58){ -if (varonce61) { -var62 = varonce61; -} else { -var63 = "Error: "; -var64 = 7; -var65 = standard___standard__NativeString___to_s_with_length(var63, var64); -var62 = var65; -varonce61 = var62; } -if (varonce66) { -var67 = varonce66; +if (likely(varonce35!=NULL)) { +var36 = varonce35; } else { -var68 = " is a top level method."; -var69 = 23; -var70 = standard___standard__NativeString___to_s_with_length(var68, var69); -var67 = var70; -varonce66 = var67; +var37 = "Object"; +var38 = standard___standard__NativeString___to_s_with_length(var37, 6l); +var36 = var38; +varonce35 = var36; } -var71 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var71 = array_instance Array[Object] */ -var72 = 3; -var73 = NEW_standard__NativeArray(var72, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var73)->values[0] = (val*) var62; -((struct instance_standard__NativeArray*)var73)->values[1] = (val*) var_mprop; -((struct instance_standard__NativeArray*)var73)->values[2] = (val*) var67; { -((void (*)(val* self, val* p0, long p1))(var71->class->vft[COLOR_standard__array__Array__with_native]))(var71, var73, var72) /* with_native on */; -} -} +{ /* Inline kernel#Object#!= (var32,var36) on */ +var_other41 = var36; { -var74 = ((val* (*)(val* self))(var71->class->vft[COLOR_standard__string__Object__to_s]))(var71) /* to_s on */; +var42 = ((short int(*)(val* self, val* p0))(var32->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var32, var_other41); /* == on */ } -{ -nit___nit__ModelBuilder___error(var_modelbuilder, self, var74); /* Direct call modelbuilder_base#ModelBuilder#error on */ +var43 = !var42; +var39 = var43; +goto RET_LABEL40; +RET_LABEL40:(void)0; } -} else { -if (varonce75) { -var76 = varonce75; -} else { -var77 = "Error: "; -var78 = 7; -var79 = standard___standard__NativeString___to_s_with_length(var77, var78); -var76 = var79; -varonce75 = var76; } -if (varonce80) { -var81 = varonce80; +if (var39){ +if (likely(varonce44!=NULL)) { +var45 = varonce44; } else { -var82 = " is not a top level method."; -var83 = 27; -var84 = standard___standard__NativeString___to_s_with_length(var82, var83); -var81 = var84; -varonce80 = var81; -} -var85 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var85 = array_instance Array[Object] */ -var86 = 3; -var87 = NEW_standard__NativeArray(var86, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var87)->values[0] = (val*) var76; -((struct instance_standard__NativeArray*)var87)->values[1] = (val*) var_mprop; -((struct instance_standard__NativeArray*)var87)->values[2] = (val*) var81; -{ -((void (*)(val* self, val* p0, long p1))(var85->class->vft[COLOR_standard__array__Array__with_native]))(var85, var87, var86) /* with_native on */; -} -} -{ -var88 = ((val* (*)(val* self))(var85->class->vft[COLOR_standard__string__Object__to_s]))(var85) /* to_s on */; +var46 = "Error: the virtual type `SELF` must be declared in `Object`."; +var47 = standard___standard__NativeString___to_s_with_length(var46, 60l); +var45 = var47; +varonce44 = var45; } { -nit___nit__ModelBuilder___error(var_modelbuilder, self, var88); /* Direct call modelbuilder_base#ModelBuilder#error on */ -} -} -var89 = 0; -var = var89; -goto RET_LABEL; -} else { +nit___nit__ModelBuilder___error(var_modelbuilder, var_nintro, var45); /* Direct call modelbuilder_base#ModelBuilder#error on */ } -/* isa MMethod */ -cltype92 = type_nit__MMethod.color; -idtype93 = type_nit__MMethod.id; -if(cltype92 >= var_mprop->type->table_size) { -var91 = 0; } else { -var91 = var_mprop->type->type_table[cltype92] == idtype93; } -var_94 = var91; -if (var91){ { -{ /* Inline model#MMethod#is_root_init (var_mprop) on */ -var97 = var_mprop->attrs[COLOR_nit__model__MMethod___is_root_init].s; /* _is_root_init on */ -var95 = var97; -RET_LABEL96:(void)0; -} -} -var90 = var95; -} else { -var90 = var_94; +{ /* Inline model#MProperty#visibility (var_mprop) on */ +var50 = var_mprop->attrs[COLOR_nit__model__MProperty___visibility].val; /* _visibility on */ +if (unlikely(var50 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1949); +fatal_exit(1); } -if (var90){ -var98 = 1; -var = var98; -goto RET_LABEL; -} else { +var48 = var50; +RET_LABEL49:(void)0; } -var99 = NULL; -if (var_kwredef == NULL) { -var100 = 1; /* is null */ -} else { -var100 = 0; /* arg is null but recv is not */ } -if (0) { -{ /* Inline kernel#Object#== (var_kwredef,var99) on */ -var_other = var99; +var51 = glob_sys; { -{ /* Inline kernel#Object#is_same_instance (var_kwredef,var_other) on */ -var105 = var_kwredef == var_other; -var103 = var105; -goto RET_LABEL104; -RET_LABEL104:(void)0; +var52 = nit__model_base___standard__Sys___public_visibility(var51); } +{ +{ /* Inline kernel#Object#!= (var48,var52) on */ +var_other41 = var52; +{ +var55 = ((short int(*)(val* self, val* p0))(var48->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var48, var_other41); /* == on */ } -var101 = var103; -goto RET_LABEL102; -RET_LABEL102:(void)0; +var56 = !var55; +var53 = var56; +goto RET_LABEL54; +RET_LABEL54:(void)0; } -var100 = var101; } -if (var100){ -if (var_need_redef){ -if (varonce106) { -var107 = varonce106; +if (var53){ +if (likely(varonce57!=NULL)) { +var58 = varonce57; } else { -var108 = "Redef error: "; -var109 = 13; -var110 = standard___standard__NativeString___to_s_with_length(var108, var109); -var107 = var110; -varonce106 = var107; +var59 = "Error: the virtual type `SELF` must be public."; +var60 = standard___standard__NativeString___to_s_with_length(var59, 46l); +var58 = var60; +varonce57 = var58; } { -{ /* Inline model#MClassDef#mclass (var_mclassdef) on */ -var113 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var113 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); -} -var111 = var113; -RET_LABEL112:(void)0; -} +nit___nit__ModelBuilder___error(var_modelbuilder, var_nintro, var58); /* Direct call modelbuilder_base#ModelBuilder#error on */ } -if (varonce114) { -var115 = varonce114; } else { -var116 = "::"; -var117 = 2; -var118 = standard___standard__NativeString___to_s_with_length(var116, var117); -var115 = var118; -varonce114 = var115; } { -{ /* Inline model#MProperty#name (var_mprop) on */ -var121 = var_mprop->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ -if (unlikely(var121 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1741); -show_backtrace(1); -} -var119 = var121; -RET_LABEL120:(void)0; +{ /* Inline model#MVirtualTypeDef#is_fixed (var_intro) on */ +var63 = var_intro->attrs[COLOR_nit__model__MVirtualTypeDef___is_fixed].s; /* _is_fixed on */ +var61 = var63; +RET_LABEL62:(void)0; } } -if (varonce122) { -var123 = varonce122; +if (var61){ +if (likely(varonce64!=NULL)) { +var65 = varonce64; } else { -var124 = " is an inherited property. To redefine it, add the redef keyword."; -var125 = 65; -var126 = standard___standard__NativeString___to_s_with_length(var124, var125); -var123 = var126; -varonce122 = var123; -} -var127 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var127 = array_instance Array[Object] */ -var128 = 5; -var129 = NEW_standard__NativeArray(var128, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var129)->values[0] = (val*) var107; -((struct instance_standard__NativeArray*)var129)->values[1] = (val*) var111; -((struct instance_standard__NativeArray*)var129)->values[2] = (val*) var115; -((struct instance_standard__NativeArray*)var129)->values[3] = (val*) var119; -((struct instance_standard__NativeArray*)var129)->values[4] = (val*) var123; -{ -((void (*)(val* self, val* p0, long p1))(var127->class->vft[COLOR_standard__array__Array__with_native]))(var127, var129, var128) /* with_native on */; -} +var66 = "Error: the virtual type `SELF` cannot be fixed."; +var67 = standard___standard__NativeString___to_s_with_length(var66, 47l); +var65 = var67; +varonce64 = var65; } { -var130 = ((val* (*)(val* self))(var127->class->vft[COLOR_standard__string__Object__to_s]))(var127) /* to_s on */; +nit___nit__ModelBuilder___error(var_modelbuilder, var_nintro, var65); /* Direct call modelbuilder_base#ModelBuilder#error on */ } -{ -nit___nit__ModelBuilder___error(var_modelbuilder, self, var130); /* Direct call modelbuilder_base#ModelBuilder#error on */ +} else { } -var131 = 0; -var = var131; goto RET_LABEL; } else { } +var68 = NEW_nit__MVirtualTypeDef(&type_nit__MVirtualTypeDef); { -{ /* Inline model#MProperty#intro_mclassdef (var_mprop) on */ -var135 = var_mprop->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ -if (unlikely(var135 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1736); -show_backtrace(1); +{ /* Inline model#MClassDef#location (self) on */ +var71 = self->attrs[COLOR_nit__model__MClassDef___location].val; /* _location on */ +if (unlikely(var71 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 568); +fatal_exit(1); } -var133 = var135; -RET_LABEL134:(void)0; +var69 = var71; +RET_LABEL70:(void)0; } } { -{ /* Inline model#MClassDef#mmodule (var133) on */ -var138 = var133->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var138 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 489); -show_backtrace(1); -} -var136 = var138; -RET_LABEL137:(void)0; -} +((void(*)(val* self, val* p0))(var68->class->vft[COLOR_nit__model__MPropDef__mclassdef_61d]))(var68, self); /* mclassdef= on */ } { -{ /* Inline mmodule#MModule#mgroup (var136) on */ -var141 = var136->attrs[COLOR_nit__mmodule__MModule___mgroup].val; /* _mgroup on */ -var139 = var141; -RET_LABEL140:(void)0; +((void(*)(val* self, val* p0))(var68->class->vft[COLOR_nit__model__MPropDef__mproperty_61d]))(var68, var_mprop); /* mproperty= on */ } -} -var142 = NULL; -if (var139 == NULL) { -var143 = 0; /* is null */ -} else { -var143 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var139,var142) on */ -var_other146 = var142; { -var147 = ((short int (*)(val* self, val* p0))(var139->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var139, var_other146) /* == on */; +((void(*)(val* self, val* p0))(var68->class->vft[COLOR_nit__model__MPropDef__location_61d]))(var68, var69); /* location= on */ } -var148 = !var147; -var144 = var148; -goto RET_LABEL145; -RET_LABEL145:(void)0; -} -var143 = var144; -} -var_149 = var143; -if (var143){ { -{ /* Inline model#MProperty#visibility (var_mprop) on */ -var152 = var_mprop->attrs[COLOR_nit__model__MProperty___visibility].val; /* _visibility on */ -if (unlikely(var152 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1757); -show_backtrace(1); -} -var150 = var152; -RET_LABEL151:(void)0; -} +((void(*)(val* self))(var68->class->vft[COLOR_standard__kernel__Object__init]))(var68); /* init on */ } +var_mpropdef = var68; { -var153 = nit__model_base___standard__Object___protected_visibility(self); +{ /* Inline model#MClassDef#mclass (self) on */ +var74 = self->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var74 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); } -{ -var154 = standard___standard__Comparable____62d_61d(var150, var153); +var72 = var74; +RET_LABEL73:(void)0; } -var132 = var154; -} else { -var132 = var_149; } -if (var132){ { -{ /* Inline modelbuilder_base#ModelBuilder#model (var_modelbuilder) on */ -var157 = var_modelbuilder->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___model].val; /* _model on */ -if (unlikely(var157 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 44); -show_backtrace(1); +{ /* Inline model#MClass#mclass_type (var72) on */ +var77 = var72->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ +if (unlikely(var77 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 484); +fatal_exit(1); } -var155 = var157; -RET_LABEL156:(void)0; +var75 = var77; +RET_LABEL76:(void)0; } } { -{ /* Inline model#MProperty#name (var_mprop) on */ -var160 = var_mprop->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ -if (unlikely(var160 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1741); -show_backtrace(1); +{ /* Inline model#MVirtualTypeDef#bound= (var_mpropdef,var75) on */ +var_mpropdef->attrs[COLOR_nit__model__MVirtualTypeDef___bound].val = var75; /* _bound on */ +RET_LABEL78:(void)0; } -var158 = var160; -RET_LABEL159:(void)0; } +RET_LABEL:; } -{ -var161 = nit__model___Model___get_mproperties_by_name(var155, var158); +/* method modelize_property#APropdef#mpropdef for (self: APropdef): nullable MPropDef */ +val* nit__modelize_property___APropdef___mpropdef(val* self) { +val* var /* : nullable MPropDef */; +val* var1 /* : nullable MPropDef */; +var1 = self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +var = var1; +RET_LABEL:; +return var; } -var_others = var161; -var162 = NULL; -if (var_others == NULL) { -var163 = 0; /* is null */ +/* method modelize_property#APropdef#mpropdef= for (self: APropdef, nullable MPropDef) */ +void nit__modelize_property___APropdef___mpropdef_61d(val* self, val* p0) { +short int var /* : Bool */; +int cltype; +int idtype; +const struct type* type_struct; +const char* var_class_name; +/* Covariant cast for argument 0 (mpropdef) isa nullable MPROPDEF */ +/* isa nullable MPROPDEF */ +type_struct = self->type->resolution_table->types[COLOR_nullable__nit__modelize_property__APropdef__MPROPDEF]; +cltype = type_struct->color; +idtype = type_struct->id; +if(p0 == NULL) { +var = 1; +} else { +if(cltype >= p0->type->table_size) { +var = 0; } else { -var163 = 1; /* arg is null and recv is not */ +var = p0->type->type_table[cltype] == idtype; } -if (0) { -{ /* Inline kernel#Object#!= (var_others,var162) on */ -var_other146 = var162; -{ -var166 = ((short int (*)(val* self, val* p0))(var_others->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_others, var_other146) /* == on */; } -var167 = !var166; -var164 = var167; -goto RET_LABEL165; -RET_LABEL165:(void)0; +if (unlikely(!var)) { +var_class_name = p0 == NULL ? "null" : p0->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 558); +fatal_exit(1); } -var163 = var164; +self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val = p0; /* _mpropdef on */ +RET_LABEL:; } -if (var163){ -var_168 = var_others; -{ -var169 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_168); +/* method modelize_property#APropdef#build_property for (self: APropdef, ModelBuilder, MClassDef) */ +void nit__modelize_property___APropdef___build_property(val* self, val* p0, val* p1) { +val* var_modelbuilder /* var modelbuilder: ModelBuilder */; +val* var_mclassdef /* var mclassdef: MClassDef */; +var_modelbuilder = p0; +var_mclassdef = p1; +RET_LABEL:; } -var_170 = var169; -for(;;) { -{ -var171 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_170); -} -if (var171){ -{ -var172 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_170); -} -var_other173 = var172; -{ -{ /* Inline kernel#Object#!= (var_other173,var_mprop) on */ -var_other146 = var_mprop; -{ -var180 = ((short int (*)(val* self, val* p0))(var_other173->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_other173, var_other146) /* == on */; -} -var181 = !var180; -var178 = var181; -goto RET_LABEL179; -RET_LABEL179:(void)0; -} -} -var_182 = var178; -if (var178){ -{ -{ /* Inline model#MProperty#intro_mclassdef (var_other173) on */ -var185 = var_other173->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ -if (unlikely(var185 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1736); -show_backtrace(1); -} -var183 = var185; -RET_LABEL184:(void)0; -} -} -{ -{ /* Inline model#MClassDef#mmodule (var183) on */ -var188 = var183->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var188 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 489); -show_backtrace(1); -} -var186 = var188; -RET_LABEL187:(void)0; +/* method modelize_property#APropdef#build_signature for (self: APropdef, ModelBuilder) */ +void nit__modelize_property___APropdef___build_signature(val* self, val* p0) { +val* var_modelbuilder /* var modelbuilder: ModelBuilder */; +var_modelbuilder = p0; +RET_LABEL:; } +/* method modelize_property#APropdef#check_signature for (self: APropdef, ModelBuilder) */ +void nit__modelize_property___APropdef___check_signature(val* self, val* p0) { +val* var_modelbuilder /* var modelbuilder: ModelBuilder */; +var_modelbuilder = p0; +RET_LABEL:; } +/* method modelize_property#APropdef#new_property_visibility for (self: APropdef, ModelBuilder, MClassDef, nullable AVisibility): MVisibility */ +val* nit__modelize_property___APropdef___new_property_visibility(val* self, val* p0, val* p1, val* p2) { +val* var /* : MVisibility */; +val* var_modelbuilder /* var modelbuilder: ModelBuilder */; +val* var_mclassdef /* var mclassdef: MClassDef */; +val* var_nvisibility /* var nvisibility: nullable AVisibility */; +val* var1 /* : Sys */; +val* var2 /* : MVisibility */; +val* var_mvisibility /* var mvisibility: MVisibility */; +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 /* : MVisibility */; +val* var9 /* : Sys */; +val* var10 /* : MVisibility */; +short int var11 /* : Bool */; +val* var_other13 /* var other: nullable Object */; +short int var14 /* : Bool */; +short int var16 /* : Bool */; +static val* varonce; +val* var17 /* : String */; +char* var18 /* : NativeString */; +val* var19 /* : FlatString */; +val* var20 /* : Sys */; +val* var21 /* : MVisibility */; +val* var22 /* : MClass */; +val* var24 /* : MClass */; +val* var25 /* : MVisibility */; +val* var27 /* : MVisibility */; +val* var28 /* : Sys */; +val* var29 /* : MVisibility */; +short int var30 /* : Bool */; +short int var32 /* : Bool */; +short int var34 /* : Bool */; +val* var35 /* : Sys */; +val* var36 /* : MVisibility */; +short int var37 /* : Bool */; +short int var39 /* : Bool */; +short int var41 /* : Bool */; +short int var42 /* : Bool */; +short int var43 /* : Bool */; +short int var45 /* : Bool */; +short int var46 /* : Bool */; +static val* varonce47; +val* var48 /* : String */; +char* var49 /* : NativeString */; +val* var50 /* : FlatString */; +val* var51 /* : Sys */; +val* var52 /* : MVisibility */; +short int var53 /* : Bool */; +short int var55 /* : Bool */; +short int var57 /* : Bool */; +short int var58 /* : Bool */; +short int var59 /* : Bool */; +short int var61 /* : Bool */; +short int var62 /* : Bool */; +static val* varonce63; +val* var64 /* : String */; +char* var65 /* : NativeString */; +val* var66 /* : FlatString */; +static val* varonce67; +val* var68 /* : String */; +char* var69 /* : NativeString */; +val* var70 /* : FlatString */; +val* var71 /* : Sys */; +val* var72 /* : MVisibility */; +var_modelbuilder = p0; +var_mclassdef = p1; +var_nvisibility = p2; +var1 = glob_sys; { -{ /* Inline mmodule#MModule#mgroup (var186) on */ -var191 = var186->attrs[COLOR_nit__mmodule__MModule___mgroup].val; /* _mgroup on */ -var189 = var191; -RET_LABEL190:(void)0; +var2 = nit__model_base___standard__Sys___public_visibility(var1); } -} -var192 = NULL; -if (var189 == NULL) { -var193 = 0; /* is null */ +var_mvisibility = var2; +if (var_nvisibility == NULL) { +var3 = 0; /* is null */ } else { -var193 = 1; /* arg is null and recv is not */ +var3 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var189,var192) on */ -var_other146 = var192; -{ -var196 = ((short int (*)(val* self, val* p0))(var189->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var189, var_other146) /* == on */; -} -var197 = !var196; -var194 = var197; -goto RET_LABEL195; -RET_LABEL195:(void)0; -} -var193 = var194; -} -var177 = var193; -} else { -var177 = var_182; -} -var_198 = var177; -if (var177){ +{ /* Inline kernel#Object#!= (var_nvisibility,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline model#MProperty#intro_mclassdef (var_other173) on */ -var201 = var_other173->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ -if (unlikely(var201 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1736); -show_backtrace(1); +var6 = ((short int(*)(val* self, val* p0))(var_nvisibility->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nvisibility, var_other); /* == on */ } -var199 = var201; -RET_LABEL200:(void)0; +var7 = !var6; +var4 = var7; +goto RET_LABEL5; +RET_LABEL5:(void)0; } +var3 = var4; } +if (var3){ { -{ /* Inline model#MClassDef#mmodule (var199) on */ -var204 = var199->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var204 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 489); -show_backtrace(1); -} -var202 = var204; -RET_LABEL203:(void)0; -} +var8 = ((val*(*)(val* self))(var_nvisibility->class->vft[COLOR_nit__modelbuilder_base__AVisibility__mvisibility]))(var_nvisibility); /* mvisibility on */ } +var_mvisibility = var8; +var9 = glob_sys; { -{ /* Inline mmodule#MModule#mgroup (var202) on */ -var207 = var202->attrs[COLOR_nit__mmodule__MModule___mgroup].val; /* _mgroup on */ -var205 = var207; -RET_LABEL206:(void)0; -} -} -if (var205 == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 494); -show_backtrace(1); -} else { -{ /* Inline mproject#MGroup#mproject (var205) on */ -if (unlikely(var205 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject, 69); -show_backtrace(1); -} -var210 = var205->attrs[COLOR_nit__mproject__MGroup___mproject].val; /* _mproject on */ -if (unlikely(var210 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproject"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject, 69); -show_backtrace(1); -} -var208 = var210; -RET_LABEL209:(void)0; -} +var10 = nit__model_base___standard__Sys___intrude_visibility(var9); } { -{ /* Inline model#MProperty#intro_mclassdef (var_mprop) on */ -var213 = var_mprop->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ -if (unlikely(var213 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1736); -show_backtrace(1); -} -var211 = var213; -RET_LABEL212:(void)0; -} -} +{ /* Inline kernel#Object#== (var_mvisibility,var10) on */ +var_other13 = var10; { -{ /* Inline model#MClassDef#mmodule (var211) on */ -var216 = var211->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var216 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 489); -show_backtrace(1); -} -var214 = var216; -RET_LABEL215:(void)0; +{ /* Inline kernel#Object#is_same_instance (var_mvisibility,var_other13) on */ +var16 = var_mvisibility == var_other13; +var14 = var16; +goto RET_LABEL15; +RET_LABEL15:(void)0; } } -{ -{ /* Inline mmodule#MModule#mgroup (var214) on */ -var219 = var214->attrs[COLOR_nit__mmodule__MModule___mgroup].val; /* _mgroup on */ -var217 = var219; -RET_LABEL218:(void)0; +var11 = var14; +goto RET_LABEL12; +RET_LABEL12:(void)0; } } -if (var217 == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 494); -show_backtrace(1); +if (var11){ +if (likely(varonce!=NULL)) { +var17 = varonce; } else { -{ /* Inline mproject#MGroup#mproject (var217) on */ -if (unlikely(var217 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject, 69); -show_backtrace(1); -} -var222 = var217->attrs[COLOR_nit__mproject__MGroup___mproject].val; /* _mproject on */ -if (unlikely(var222 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproject"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject, 69); -show_backtrace(1); -} -var220 = var222; -RET_LABEL221:(void)0; -} +var18 = "Error: `intrude` is not a legal visibility for properties."; +var19 = standard___standard__NativeString___to_s_with_length(var18, 58l); +var17 = var19; +varonce = var17; } { -{ /* Inline kernel#Object#== (var208,var220) on */ -var_other = var220; -{ -{ /* Inline kernel#Object#is_same_instance (var208,var_other) on */ -var227 = var208 == var_other; -var225 = var227; -goto RET_LABEL226; -RET_LABEL226:(void)0; -} +nit___nit__ModelBuilder___error(var_modelbuilder, var_nvisibility, var17); /* Direct call modelbuilder_base#ModelBuilder#error on */ } -var223 = var225; -goto RET_LABEL224; -RET_LABEL224:(void)0; -} -} -var176 = var223; -} else { -var176 = var_198; -} -var_228 = var176; -if (var176){ +var20 = glob_sys; { -{ /* Inline model#MProperty#intro_mclassdef (var_other173) on */ -var231 = var_other173->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ -if (unlikely(var231 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1736); -show_backtrace(1); +var21 = nit__model_base___standard__Sys___public_visibility(var20); } -var229 = var231; -RET_LABEL230:(void)0; +var_mvisibility = var21; +} else { } +} else { } { -{ /* Inline model#MClassDef#mclass (var229) on */ -var234 = var229->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var234 == NULL)) { +{ /* Inline model#MClassDef#mclass (var_mclassdef) on */ +var24 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var24 == 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); } -var232 = var234; -RET_LABEL233:(void)0; +var22 = var24; +RET_LABEL23:(void)0; } } { -{ /* Inline model#MClass#name (var232) on */ -var237 = var232->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ -if (unlikely(var237 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 348); -show_backtrace(1); +{ /* Inline model#MClass#visibility (var22) on */ +var27 = var22->attrs[COLOR_nit__model__MClass___visibility].val; /* _visibility on */ +if (unlikely(var27 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 440); +fatal_exit(1); } -var235 = var237; -RET_LABEL236:(void)0; +var25 = var27; +RET_LABEL26:(void)0; } } +var28 = glob_sys; { -{ /* Inline model#MProperty#intro_mclassdef (var_mprop) on */ -var240 = var_mprop->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ -if (unlikely(var240 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1736); -show_backtrace(1); -} -var238 = var240; -RET_LABEL239:(void)0; -} +var29 = nit__model_base___standard__Sys___private_visibility(var28); } { -{ /* Inline model#MClassDef#mclass (var238) on */ -var243 = var238->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var243 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); -} -var241 = var243; -RET_LABEL242:(void)0; -} -} +{ /* Inline kernel#Object#== (var25,var29) on */ +var_other13 = var29; { -{ /* Inline model#MClass#name (var241) on */ -var246 = var241->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ -if (unlikely(var246 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 348); -show_backtrace(1); -} -var244 = var246; -RET_LABEL245:(void)0; +{ /* Inline kernel#Object#is_same_instance (var25,var_other13) on */ +var34 = var25 == var_other13; +var32 = var34; +goto RET_LABEL33; +RET_LABEL33:(void)0; } } -{ -var247 = ((short int (*)(val* self, val* p0))(var235->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var235, var244) /* == on */; +var30 = var32; +goto RET_LABEL31; +RET_LABEL31:(void)0; } -var175 = var247; -} else { -var175 = var_228; } -var_248 = var175; -if (var175){ +if (var30){ +var35 = glob_sys; { -{ /* Inline model#MProperty#visibility (var_other173) on */ -var251 = var_other173->attrs[COLOR_nit__model__MProperty___visibility].val; /* _visibility on */ -if (unlikely(var251 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1757); -show_backtrace(1); -} -var249 = var251; -RET_LABEL250:(void)0; -} +var36 = nit__model_base___standard__Sys___protected_visibility(var35); } { -var252 = nit__model_base___standard__Object___protected_visibility(self); -} +{ /* Inline kernel#Object#== (var_mvisibility,var36) on */ +var_other13 = var36; { -var253 = standard___standard__Comparable____62d_61d(var249, var252); -} -var174 = var253; -} else { -var174 = var_248; +{ /* Inline kernel#Object#is_same_instance (var_mvisibility,var_other13) on */ +var41 = var_mvisibility == var_other13; +var39 = var41; +goto RET_LABEL40; +RET_LABEL40:(void)0; } -if (var174){ -if (varonce254) { -var255 = varonce254; -} else { -var256 = "full-name-conflict"; -var257 = 18; -var258 = standard___standard__NativeString___to_s_with_length(var256, var257); -var255 = var258; -varonce254 = var255; } -if (varonce259) { -var260 = varonce259; -} else { -var261 = "Warning: A property named `"; -var262 = 27; -var263 = standard___standard__NativeString___to_s_with_length(var261, var262); -var260 = var263; -varonce259 = var260; +var37 = var39; +goto RET_LABEL38; +RET_LABEL38:(void)0; } -{ -var264 = nit___nit__MProperty___nit__model_base__MEntity__full_name(var_other173); } -if (varonce265) { -var266 = varonce265; +if (var37){ +if (var_nvisibility == NULL) { +var42 = 0; /* is null */ } else { -var267 = "` is already defined in module `"; -var268 = 32; -var269 = standard___standard__NativeString___to_s_with_length(var267, var268); -var266 = var269; -varonce265 = var266; +var42 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_nvisibility,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline model#MProperty#intro_mclassdef (var_other173) on */ -var272 = var_other173->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ -if (unlikely(var272 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1736); -show_backtrace(1); -} -var270 = var272; -RET_LABEL271:(void)0; +var45 = ((short int(*)(val* self, val* p0))(var_nvisibility->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nvisibility, var_other); /* == on */ } +var46 = !var45; +var43 = var46; +goto RET_LABEL44; +RET_LABEL44:(void)0; } -{ -{ /* Inline model#MClassDef#mmodule (var270) on */ -var275 = var270->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var275 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 489); -show_backtrace(1); -} -var273 = var275; -RET_LABEL274:(void)0; +var42 = var43; } +if (unlikely(!var42)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 576); +fatal_exit(1); } -if (varonce276) { -var277 = varonce276; +if (likely(varonce47!=NULL)) { +var48 = varonce47; } else { -var278 = "` for the class `"; -var279 = 17; -var280 = standard___standard__NativeString___to_s_with_length(var278, var279); -var277 = var280; -varonce276 = var277; +var49 = "Error: `private` is the only legal visibility for properties in a private class."; +var50 = standard___standard__NativeString___to_s_with_length(var49, 80l); +var48 = var50; +varonce47 = var48; } { -{ /* Inline model#MProperty#intro_mclassdef (var_other173) on */ -var283 = var_other173->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ -if (unlikely(var283 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1736); -show_backtrace(1); -} -var281 = var283; -RET_LABEL282:(void)0; -} +nit___nit__ModelBuilder___error(var_modelbuilder, var_nvisibility, var48); /* Direct call modelbuilder_base#ModelBuilder#error on */ } +} else { +var51 = glob_sys; { -{ /* Inline model#MClassDef#mclass (var281) on */ -var286 = var281->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var286 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); -} -var284 = var286; -RET_LABEL285:(void)0; -} +var52 = nit__model_base___standard__Sys___private_visibility(var51); } { -{ /* Inline model#MClass#name (var284) on */ -var289 = var284->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ -if (unlikely(var289 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 348); -show_backtrace(1); +{ /* Inline kernel#Object#== (var_mvisibility,var52) on */ +var_other13 = var52; +{ +{ /* Inline kernel#Object#is_same_instance (var_mvisibility,var_other13) on */ +var57 = var_mvisibility == var_other13; +var55 = var57; +goto RET_LABEL56; +RET_LABEL56:(void)0; } -var287 = var289; -RET_LABEL288:(void)0; +} +var53 = var55; +goto RET_LABEL54; +RET_LABEL54:(void)0; } } -if (varonce290) { -var291 = varonce290; +if (var53){ +if (var_nvisibility == NULL) { +var58 = 0; /* is null */ } else { -var292 = "`."; -var293 = 2; -var294 = standard___standard__NativeString___to_s_with_length(var292, var293); -var291 = var294; -varonce290 = var291; +var58 = 1; /* arg is null and recv is not */ } -var295 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var295 = array_instance Array[Object] */ -var296 = 7; -var297 = NEW_standard__NativeArray(var296, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var297)->values[0] = (val*) var260; -((struct instance_standard__NativeArray*)var297)->values[1] = (val*) var264; -((struct instance_standard__NativeArray*)var297)->values[2] = (val*) var266; -((struct instance_standard__NativeArray*)var297)->values[3] = (val*) var273; -((struct instance_standard__NativeArray*)var297)->values[4] = (val*) var277; -((struct instance_standard__NativeArray*)var297)->values[5] = (val*) var287; -((struct instance_standard__NativeArray*)var297)->values[6] = (val*) var291; +if (0) { +{ /* Inline kernel#Object#!= (var_nvisibility,((val*)NULL)) on */ +var_other = ((val*)NULL); { -((void (*)(val* self, val* p0, long p1))(var295->class->vft[COLOR_standard__array__Array__with_native]))(var295, var297, var296) /* with_native on */; +var61 = ((short int(*)(val* self, val* p0))(var_nvisibility->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nvisibility, var_other); /* == on */ } +var62 = !var61; +var59 = var62; +goto RET_LABEL60; +RET_LABEL60:(void)0; } -{ -var298 = ((val* (*)(val* self))(var295->class->vft[COLOR_standard__string__Object__to_s]))(var295) /* to_s on */; +var58 = var59; } -{ -nit___nit__ModelBuilder___advice(var_modelbuilder, self, var255, var298); /* Direct call modelbuilder_base#ModelBuilder#advice on */ +if (unlikely(!var58)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 579); +fatal_exit(1); } -goto BREAK_label; +if (likely(varonce63!=NULL)) { +var64 = varonce63; } else { +var65 = "useless-visibility"; +var66 = standard___standard__NativeString___to_s_with_length(var65, 18l); +var64 = var66; +varonce63 = var64; } -{ -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_170); /* Direct call array#ArrayIterator#next on */ -} +if (likely(varonce67!=NULL)) { +var68 = varonce67; } else { -goto BREAK_label; -} +var69 = "Warning: `private` is superfluous since the only legal visibility for properties in a private class is private."; +var70 = standard___standard__NativeString___to_s_with_length(var69, 111l); +var68 = var70; +varonce67 = var68; } -BREAK_label: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_170) on */ -RET_LABEL299:(void)0; -} +nit___nit__ModelBuilder___advice(var_modelbuilder, var_nvisibility, var64, var68); /* Direct call modelbuilder_base#ModelBuilder#advice on */ } } else { } -} else { -} -} else { -var300 = !var_need_redef; -if (var300){ -if (varonce301) { -var302 = varonce301; -} else { -var303 = "Error: No property "; -var304 = 19; -var305 = standard___standard__NativeString___to_s_with_length(var303, var304); -var302 = var305; -varonce301 = var302; } +var71 = glob_sys; { -{ /* Inline model#MClassDef#mclass (var_mclassdef) on */ -var308 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var308 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); -} -var306 = var308; -RET_LABEL307:(void)0; -} +var72 = nit__model_base___standard__Sys___private_visibility(var71); } -if (varonce309) { -var310 = varonce309; +var_mvisibility = var72; } else { -var311 = "::"; -var312 = 2; -var313 = standard___standard__NativeString___to_s_with_length(var311, var312); -var310 = var313; -varonce309 = var310; } -{ -{ /* Inline model#MProperty#name (var_mprop) on */ -var316 = var_mprop->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ -if (unlikely(var316 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1741); -show_backtrace(1); +var = var_mvisibility; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method modelize_property#APropdef#set_doc for (self: APropdef, MPropDef, ModelBuilder) */ +void nit__modelize_property___APropdef___set_doc(val* self, val* p0, val* p1) { +val* var_mpropdef /* var mpropdef: MPropDef */; +val* var_modelbuilder /* var modelbuilder: ModelBuilder */; +val* var /* : nullable ADoc */; +val* var2 /* : nullable ADoc */; +val* var_ndoc /* var ndoc: nullable ADoc */; +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 /* : MDoc */; +val* var_mdoc /* var mdoc: MDoc */; +short int var11 /* : Bool */; +short int var12 /* : Bool */; +short int var_ /* var : Bool */; +val* var13 /* : MProperty */; +val* var15 /* : MProperty */; +val* var16 /* : MVisibility */; +val* var18 /* : MVisibility */; +val* var19 /* : Sys */; +val* var20 /* : MVisibility */; +short int var21 /* : Bool */; +static val* varonce; +val* var22 /* : String */; +char* var23 /* : NativeString */; +val* var24 /* : FlatString */; +val* var26 /* : NativeArray[String] */; +static val* varonce25; +static val* varonce27; +val* var28 /* : String */; +char* var29 /* : NativeString */; +val* var30 /* : FlatString */; +static val* varonce31; +val* var32 /* : String */; +char* var33 /* : NativeString */; +val* var34 /* : FlatString */; +val* var35 /* : MProperty */; +val* var37 /* : MProperty */; +val* var38 /* : String */; +val* var39 /* : String */; +static val* varonce40; +val* var41 /* : String */; +char* var42 /* : NativeString */; +val* var43 /* : FlatString */; +val* var44 /* : nullable AAnnotation */; +val* var_at_deprecated /* var at_deprecated: nullable AAnnotation */; +short int var45 /* : Bool */; +short int var46 /* : Bool */; +short int var48 /* : Bool */; +short int var49 /* : Bool */; +short int var50 /* : Bool */; +short int var51 /* : Bool */; +static val* varonce52; +val* var53 /* : String */; +char* var54 /* : NativeString */; +val* var55 /* : FlatString */; +val* var56 /* : MDeprecationInfo */; +val* var_info /* var info: MDeprecationInfo */; +val* var58 /* : nullable ADoc */; +val* var60 /* : nullable ADoc */; +short int var61 /* : Bool */; +short int var62 /* : Bool */; +short int var64 /* : Bool */; +short int var65 /* : Bool */; +val* var66 /* : MDoc */; +val* var68 /* : MProperty */; +val* var70 /* : MProperty */; +var_mpropdef = p0; +var_modelbuilder = p1; +{ +{ /* Inline parser_nodes#ADefinition#n_doc (self) on */ +var2 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_doc].val; /* _n_doc on */ +var = var2; +RET_LABEL1:(void)0; +} +} +var_ndoc = var; +if (var_ndoc == NULL) { +var3 = 0; /* is null */ +} else { +var3 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_ndoc,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +var6 = ((short int(*)(val* self, val* p0))(var_ndoc->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ndoc, var_other); /* == on */ +} +var7 = !var6; +var4 = var7; +goto RET_LABEL5; +RET_LABEL5:(void)0; +} +var3 = var4; +} +if (var3){ +{ +var8 = nit__modelbuilder_base___ADoc___to_mdoc(var_ndoc); +} +var_mdoc = var8; +{ +{ /* Inline mdoc#MEntity#mdoc= (var_mpropdef,var_mdoc) on */ +var_mpropdef->attrs[COLOR_nit__mdoc__MEntity___mdoc].val = var_mdoc; /* _mdoc on */ +RET_LABEL9:(void)0; +} +} +{ +{ /* Inline mdoc#MDoc#original_mentity= (var_mdoc,var_mpropdef) on */ +var_mdoc->attrs[COLOR_nit__mdoc__MDoc___original_mentity].val = var_mpropdef; /* _original_mentity on */ +RET_LABEL10:(void)0; +} +} +} else { +{ +var12 = nit___nit__MPropDef___is_intro(var_mpropdef); +} +var_ = var12; +if (var12){ +{ +{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ +var15 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var15 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); +} +var13 = var15; +RET_LABEL14:(void)0; +} +} +{ +{ /* Inline model#MProperty#visibility (var13) on */ +var18 = var13->attrs[COLOR_nit__model__MProperty___visibility].val; /* _visibility on */ +if (unlikely(var18 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1949); +fatal_exit(1); +} +var16 = var18; +RET_LABEL17:(void)0; +} +} +var19 = glob_sys; +{ +var20 = nit__model_base___standard__Sys___protected_visibility(var19); +} +{ +var21 = standard___standard__Comparable____62d_61d(var16, var20); +} +var11 = var21; +} else { +var11 = var_; +} +if (var11){ +if (likely(varonce!=NULL)) { +var22 = varonce; +} else { +var23 = "missing-doc"; +var24 = standard___standard__NativeString___to_s_with_length(var23, 11l); +var22 = var24; +varonce = var22; +} +if (unlikely(varonce25==NULL)) { +var26 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce27!=NULL)) { +var28 = varonce27; +} else { +var29 = "Documentation warning: Undocumented property `"; +var30 = standard___standard__NativeString___to_s_with_length(var29, 46l); +var28 = var30; +varonce27 = var28; +} +((struct instance_standard__NativeArray*)var26)->values[0]=var28; +if (likely(varonce31!=NULL)) { +var32 = varonce31; +} else { +var33 = "`"; +var34 = standard___standard__NativeString___to_s_with_length(var33, 1l); +var32 = var34; +varonce31 = var32; +} +((struct instance_standard__NativeArray*)var26)->values[2]=var32; +} else { +var26 = varonce25; +varonce25 = NULL; +} +{ +{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ +var37 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var37 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); +} +var35 = var37; +RET_LABEL36:(void)0; +} +} +{ +var38 = ((val*(*)(val* self))(var35->class->vft[COLOR_standard__string__Object__to_s]))(var35); /* to_s on */ +} +((struct instance_standard__NativeArray*)var26)->values[1]=var38; +{ +var39 = ((val*(*)(val* self))(var26->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var26); /* native_to_s on */ +} +varonce25 = var26; +{ +nit___nit__ModelBuilder___advice(var_modelbuilder, self, var22, var39); /* Direct call modelbuilder_base#ModelBuilder#advice on */ +} +} else { +} +} +if (likely(varonce40!=NULL)) { +var41 = varonce40; +} else { +var42 = "deprecated"; +var43 = standard___standard__NativeString___to_s_with_length(var42, 10l); +var41 = var43; +varonce40 = var41; +} +{ +var44 = nit__annotation___Prod___get_single_annotation(self, var41, var_modelbuilder); +} +var_at_deprecated = var44; +if (var_at_deprecated == NULL) { +var45 = 0; /* is null */ +} else { +var45 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_at_deprecated,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +var48 = ((short int(*)(val* self, val* p0))(var_at_deprecated->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_at_deprecated, var_other); /* == on */ +} +var49 = !var48; +var46 = var49; +goto RET_LABEL47; +RET_LABEL47:(void)0; +} +var45 = var46; +} +if (var45){ +{ +var50 = nit___nit__MPropDef___is_intro(var_mpropdef); +} +var51 = !var50; +if (var51){ +if (likely(varonce52!=NULL)) { +var53 = varonce52; +} else { +var54 = "Error: method redefinition cannot be deprecated."; +var55 = standard___standard__NativeString___to_s_with_length(var54, 48l); +var53 = var55; +varonce52 = var53; +} +{ +nit___nit__ModelBuilder___error(var_modelbuilder, self, var53); /* Direct call modelbuilder_base#ModelBuilder#error on */ +} +} else { +var56 = NEW_nit__MDeprecationInfo(&type_nit__MDeprecationInfo); +{ +{ /* Inline kernel#Object#init (var56) on */ +RET_LABEL57:(void)0; +} +} +var_info = var56; +{ +{ /* Inline parser_nodes#ADefinition#n_doc (var_at_deprecated) on */ +var60 = var_at_deprecated->attrs[COLOR_nit__parser_nodes__ADefinition___n_doc].val; /* _n_doc on */ +var58 = var60; +RET_LABEL59:(void)0; +} +} +var_ndoc = var58; +if (var_ndoc == NULL) { +var61 = 0; /* is null */ +} else { +var61 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_ndoc,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +var64 = ((short int(*)(val* self, val* p0))(var_ndoc->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ndoc, var_other); /* == on */ +} +var65 = !var64; +var62 = var65; +goto RET_LABEL63; +RET_LABEL63:(void)0; +} +var61 = var62; +} +if (var61){ +{ +var66 = nit__modelbuilder_base___ADoc___to_mdoc(var_ndoc); +} +{ +{ /* Inline mdoc#MDeprecationInfo#mdoc= (var_info,var66) on */ +var_info->attrs[COLOR_nit__mdoc__MDeprecationInfo___mdoc].val = var66; /* _mdoc on */ +RET_LABEL67:(void)0; +} +} +} else { +} +{ +{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ +var70 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var70 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); +} +var68 = var70; +RET_LABEL69:(void)0; +} +} +{ +{ /* Inline mdoc#MEntity#deprecation= (var68,var_info) on */ +var68->attrs[COLOR_nit__mdoc__MEntity___deprecation].val = var_info; /* _deprecation on */ +RET_LABEL71:(void)0; +} +} +} +} else { +} +RET_LABEL:; +} +/* method modelize_property#APropdef#check_redef_property_visibility for (self: APropdef, ModelBuilder, nullable AVisibility, MProperty) */ +void nit__modelize_property___APropdef___check_redef_property_visibility(val* self, val* p0, val* p1, val* p2) { +val* var_modelbuilder /* var modelbuilder: ModelBuilder */; +val* var_nvisibility /* var nvisibility: nullable AVisibility */; +val* var_mprop /* var mprop: MProperty */; +short int var /* : Bool */; +short int var1 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var3 /* : Bool */; +short int var5 /* : Bool */; +val* var6 /* : MVisibility */; +val* var_mvisibility /* var mvisibility: MVisibility */; +short int var7 /* : Bool */; +val* var8 /* : MVisibility */; +val* var10 /* : MVisibility */; +short int var11 /* : Bool */; +val* var_other13 /* var other: nullable Object */; +short int var14 /* : Bool */; +short int var15 /* : Bool */; +short int var_ /* var : Bool */; +val* var16 /* : Sys */; +val* var17 /* : MVisibility */; +short int var18 /* : Bool */; +short int var20 /* : Bool */; +short int var21 /* : Bool */; +val* var22 /* : NativeArray[String] */; +static val* varonce; +static val* varonce23; +val* var24 /* : String */; +char* var25 /* : NativeString */; +val* var26 /* : FlatString */; +static val* varonce27; +val* var28 /* : String */; +char* var29 /* : NativeString */; +val* var30 /* : FlatString */; +static val* varonce31; +val* var32 /* : String */; +char* var33 /* : NativeString */; +val* var34 /* : FlatString */; +val* var35 /* : MVisibility */; +val* var37 /* : MVisibility */; +val* var38 /* : String */; +val* var39 /* : String */; +val* var40 /* : String */; +var_modelbuilder = p0; +var_nvisibility = p1; +var_mprop = p2; +if (var_nvisibility == NULL) { +var = 1; /* is null */ +} else { +var = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel#Object#== (var_nvisibility,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +{ /* Inline kernel#Object#is_same_instance (var_nvisibility,var_other) on */ +var5 = var_nvisibility == var_other; +var3 = var5; +goto RET_LABEL4; +RET_LABEL4:(void)0; +} +} +var1 = var3; +goto RET_LABEL2; +RET_LABEL2:(void)0; +} +var = var1; +} +if (var){ +goto RET_LABEL; +} else { } -var314 = var316; -RET_LABEL315:(void)0; +{ +var6 = ((val*(*)(val* self))(var_nvisibility->class->vft[COLOR_nit__modelbuilder_base__AVisibility__mvisibility]))(var_nvisibility); /* mvisibility on */ +} +var_mvisibility = var6; +{ +{ /* Inline model#MProperty#visibility (var_mprop) on */ +var10 = var_mprop->attrs[COLOR_nit__model__MProperty___visibility].val; /* _visibility on */ +if (unlikely(var10 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1949); +fatal_exit(1); } +var8 = var10; +RET_LABEL9:(void)0; } -if (varonce317) { -var318 = varonce317; -} else { -var319 = " is inherited. Remove the redef keyword to define a new property."; -var320 = 65; -var321 = standard___standard__NativeString___to_s_with_length(var319, var320); -var318 = var321; -varonce317 = var318; } -var322 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var322 = array_instance Array[Object] */ -var323 = 5; -var324 = NEW_standard__NativeArray(var323, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var324)->values[0] = (val*) var302; -((struct instance_standard__NativeArray*)var324)->values[1] = (val*) var306; -((struct instance_standard__NativeArray*)var324)->values[2] = (val*) var310; -((struct instance_standard__NativeArray*)var324)->values[3] = (val*) var314; -((struct instance_standard__NativeArray*)var324)->values[4] = (val*) var318; { -((void (*)(val* self, val* p0, long p1))(var322->class->vft[COLOR_standard__array__Array__with_native]))(var322, var324, var323) /* with_native on */; +{ /* Inline kernel#Object#!= (var_mvisibility,var8) on */ +var_other13 = var8; +{ +var14 = ((short int(*)(val* self, val* p0))(var_mvisibility->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mvisibility, var_other13); /* == on */ +} +var15 = !var14; +var11 = var15; +goto RET_LABEL12; +RET_LABEL12:(void)0; } } +var_ = var11; +if (var11){ +var16 = glob_sys; { -var325 = ((val* (*)(val* self))(var322->class->vft[COLOR_standard__string__Object__to_s]))(var322) /* to_s on */; +var17 = nit__model_base___standard__Sys___public_visibility(var16); } { -nit___nit__ModelBuilder___error(var_modelbuilder, self, var325); /* Direct call modelbuilder_base#ModelBuilder#error on */ +{ /* Inline kernel#Object#!= (var_mvisibility,var17) on */ +var_other13 = var17; +{ +var20 = ((short int(*)(val* self, val* p0))(var_mvisibility->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mvisibility, var_other13); /* == on */ } -var326 = 0; -var = var326; -goto RET_LABEL; +var21 = !var20; +var18 = var21; +goto RET_LABEL19; +RET_LABEL19:(void)0; +} +} +var7 = var18; } else { +var7 = var_; } +if (var7){ +if (unlikely(varonce==NULL)) { +var22 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce23!=NULL)) { +var24 = varonce23; +} else { +var25 = "Error: redefinition changed the visibility from `"; +var26 = standard___standard__NativeString___to_s_with_length(var25, 49l); +var24 = var26; +varonce23 = var24; } -var327 = 1; -var = var327; -goto RET_LABEL; -RET_LABEL:; -return var; +((struct instance_standard__NativeArray*)var22)->values[0]=var24; +if (likely(varonce27!=NULL)) { +var28 = varonce27; +} else { +var29 = "` to `"; +var30 = standard___standard__NativeString___to_s_with_length(var29, 6l); +var28 = var30; +varonce27 = var28; } -/* method modelize_property#ASignature#is_visited= for (self: ASignature, Bool) */ -void nit__modelize_property___ASignature___is_visited_61d(val* self, short int p0) { -self->attrs[COLOR_nit__modelize_property__ASignature___is_visited].s = p0; /* _is_visited on */ -RET_LABEL:; +((struct instance_standard__NativeArray*)var22)->values[2]=var28; +if (likely(varonce31!=NULL)) { +var32 = varonce31; +} else { +var33 = "`."; +var34 = standard___standard__NativeString___to_s_with_length(var33, 2l); +var32 = var34; +varonce31 = var32; } -/* method modelize_property#ASignature#param_names for (self: ASignature): Array[String] */ -val* nit__modelize_property___ASignature___param_names(val* self) { -val* var /* : Array[String] */; -val* var1 /* : Array[String] */; -var1 = self->attrs[COLOR_nit__modelize_property__ASignature___param_names].val; /* _param_names on */ -if (unlikely(var1 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _param_names"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 514); -show_backtrace(1); +((struct instance_standard__NativeArray*)var22)->values[4]=var32; +} else { +var22 = varonce; +varonce = NULL; } -var = var1; -RET_LABEL:; -return var; +{ +{ /* Inline model#MProperty#visibility (var_mprop) on */ +var37 = var_mprop->attrs[COLOR_nit__model__MProperty___visibility].val; /* _visibility on */ +if (unlikely(var37 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1949); +fatal_exit(1); } -/* method modelize_property#ASignature#param_types for (self: ASignature): Array[MType] */ -val* nit__modelize_property___ASignature___param_types(val* self) { -val* var /* : Array[MType] */; -val* var1 /* : Array[MType] */; -var1 = self->attrs[COLOR_nit__modelize_property__ASignature___param_types].val; /* _param_types on */ -if (unlikely(var1 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _param_types"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 517); -show_backtrace(1); +var35 = var37; +RET_LABEL36:(void)0; } -var = var1; -RET_LABEL:; -return var; } -/* method modelize_property#ASignature#vararg_rank for (self: ASignature): Int */ -long nit__modelize_property___ASignature___vararg_rank(val* self) { -long var /* : Int */; -long var1 /* : Int */; -var1 = self->attrs[COLOR_nit__modelize_property__ASignature___vararg_rank].l; /* _vararg_rank on */ -var = var1; -RET_LABEL:; -return var; +{ +var38 = ((val*(*)(val* self))(var35->class->vft[COLOR_standard__string__Object__to_s]))(var35); /* to_s on */ } -/* method modelize_property#ASignature#vararg_rank= for (self: ASignature, Int) */ -void nit__modelize_property___ASignature___vararg_rank_61d(val* self, long p0) { -self->attrs[COLOR_nit__modelize_property__ASignature___vararg_rank].l = p0; /* _vararg_rank on */ -RET_LABEL:; +((struct instance_standard__NativeArray*)var22)->values[1]=var38; +{ +var39 = ((val*(*)(val* self))(var_mvisibility->class->vft[COLOR_standard__string__Object__to_s]))(var_mvisibility); /* to_s on */ } -/* method modelize_property#ASignature#ret_type for (self: ASignature): nullable MType */ -val* nit__modelize_property___ASignature___ret_type(val* self) { -val* var /* : nullable MType */; -val* var1 /* : nullable MType */; -var1 = self->attrs[COLOR_nit__modelize_property__ASignature___ret_type].val; /* _ret_type on */ -var = var1; -RET_LABEL:; -return var; +((struct instance_standard__NativeArray*)var22)->values[3]=var39; +{ +var40 = ((val*(*)(val* self))(var22->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var22); /* native_to_s on */ +} +varonce = var22; +{ +nit___nit__ModelBuilder___error(var_modelbuilder, var_nvisibility, var40); /* Direct call modelbuilder_base#ModelBuilder#error on */ +} +} else { } -/* method modelize_property#ASignature#ret_type= for (self: ASignature, nullable MType) */ -void nit__modelize_property___ASignature___ret_type_61d(val* self, val* p0) { -self->attrs[COLOR_nit__modelize_property__ASignature___ret_type].val = p0; /* _ret_type on */ RET_LABEL:; } -/* method modelize_property#ASignature#visit_signature for (self: ASignature, ModelBuilder, MClassDef): Bool */ -short int nit__modelize_property___ASignature___visit_signature(val* self, val* p0, val* p1) { +/* method modelize_property#APropdef#check_redef_keyword for (self: APropdef, ModelBuilder, MClassDef, nullable Token, Bool, MProperty): Bool */ +short int nit__modelize_property___APropdef___check_redef_keyword(val* self, val* p0, val* p1, val* p2, short int p3, val* p4) { short int var /* : Bool */; val* var_modelbuilder /* var modelbuilder: ModelBuilder */; val* var_mclassdef /* var mclassdef: MClassDef */; -val* var1 /* : MModule */; -val* var3 /* : MModule */; -val* var_mmodule /* var mmodule: MModule */; -val* var4 /* : Array[String] */; -val* var6 /* : Array[String] */; -val* var_param_names /* var param_names: Array[String] */; -val* var7 /* : Array[MType] */; -val* var9 /* : Array[MType] */; -val* var_param_types /* var param_types: Array[MType] */; -val* var10 /* : ANodes[AParam] */; -val* var12 /* : ANodes[AParam] */; -val* var_ /* var : ANodes[AParam] */; -val* var13 /* : Iterator[ANode] */; -val* var_14 /* var : Iterator[AParam] */; -short int var15 /* : Bool */; -val* var16 /* : nullable Object */; -val* var_np /* var np: AParam */; -val* var17 /* : TId */; -val* var19 /* : TId */; -val* var20 /* : String */; -val* var21 /* : nullable AType */; -val* var23 /* : nullable AType */; -val* var_ntype /* var ntype: nullable AType */; -val* var24 /* : null */; -short int var25 /* : Bool */; -short int var26 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var28 /* : Bool */; -short int var29 /* : Bool */; -val* var30 /* : nullable MType */; -val* var_mtype /* var mtype: nullable MType */; -val* var31 /* : null */; -short int var32 /* : Bool */; -short int var33 /* : Bool */; -val* var_other35 /* var other: nullable Object */; -short int var36 /* : Bool */; -short int var38 /* : Bool */; +val* var_kwredef /* var kwredef: nullable Token */; +short int var_need_redef /* var need_redef: Bool */; +val* var_mprop /* var mprop: MProperty */; +val* var1 /* : Map[MProperty, APropdef] */; +val* var3 /* : Map[MProperty, APropdef] */; +short int var4 /* : Bool */; +val* var5 /* : NativeArray[String] */; +static val* varonce; +static val* varonce6; +val* var7 /* : String */; +char* var8 /* : NativeString */; +val* var9 /* : FlatString */; +static val* varonce10; +val* var11 /* : String */; +char* var12 /* : NativeString */; +val* var13 /* : FlatString */; +static val* varonce14; +val* var15 /* : String */; +char* var16 /* : NativeString */; +val* var17 /* : FlatString */; +static val* varonce18; +val* var19 /* : String */; +char* var20 /* : NativeString */; +val* var21 /* : FlatString */; +val* var22 /* : String */; +val* var23 /* : MClass */; +val* var25 /* : MClass */; +val* var26 /* : String */; +val* var27 /* : Map[MProperty, APropdef] */; +val* var29 /* : Map[MProperty, APropdef] */; +val* var30 /* : nullable Object */; +val* var31 /* : Location */; +val* var33 /* : Location */; +long var34 /* : Int */; +long var36 /* : Int */; +val* var37 /* : String */; +val* var38 /* : String */; short int var39 /* : Bool */; -long var40 /* : Int */; -long var_i /* var i: Int */; -long var41 /* : Int */; -long var43 /* : Int */; -long var44 /* : Int */; -long var46 /* : Int */; -long var47 /* : Int */; -short int var49 /* : Bool */; +short int var40 /* : Bool */; int cltype; int idtype; -const char* var_class_name; -long var50 /* : Int */; -long var_51 /* var : Int */; -short int var52 /* : Bool */; -short int var54 /* : Bool */; -int cltype55; -int idtype56; -const char* var_class_name57; -short int var58 /* : Bool */; -long var59 /* : Int */; -long var60 /* : Int */; -val* var61 /* : nullable TDotdotdot */; -val* var63 /* : nullable TDotdotdot */; -val* var64 /* : null */; -short int var65 /* : Bool */; -short int var66 /* : Bool */; -short int var68 /* : Bool */; -short int var69 /* : Bool */; -long var70 /* : Int */; -long var72 /* : Int */; -long var73 /* : Int */; -long var74 /* : Int */; -long var76 /* : Int */; -short int var77 /* : Bool */; -short int var79 /* : Bool */; -short int var80 /* : Bool */; -static val* varonce; -val* var81 /* : String */; -char* var82 /* : NativeString */; -long var83 /* : Int */; -val* var84 /* : FlatString */; -long var85 /* : Int */; -long var87 /* : Int */; -val* var88 /* : nullable Object */; -static val* varonce89; -val* var90 /* : String */; -char* var91 /* : NativeString */; -long var92 /* : Int */; -val* var93 /* : FlatString */; -val* var94 /* : Array[Object] */; -long var95 /* : Int */; -val* var96 /* : NativeArray[Object] */; -val* var97 /* : String */; -short int var98 /* : Bool */; -long var99 /* : Int */; -long var101 /* : Int */; -long var102 /* : Int */; -long var103 /* : Int */; +short int var_ /* var : Bool */; +short int var41 /* : Bool */; +short int var43 /* : Bool */; +short int var44 /* : Bool */; +short int var45 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var47 /* : Bool */; +short int var49 /* : Bool */; +val* var51 /* : NativeArray[String] */; +static val* varonce50; +static val* varonce52; +val* var53 /* : String */; +char* var54 /* : NativeString */; +val* var55 /* : FlatString */; +static val* varonce56; +val* var57 /* : String */; +char* var58 /* : NativeString */; +val* var59 /* : FlatString */; +static val* varonce60; +val* var61 /* : String */; +char* var62 /* : NativeString */; +val* var63 /* : FlatString */; +val* var64 /* : MClass */; +val* var66 /* : MClass */; +val* var67 /* : String */; +val* var68 /* : String */; +val* var70 /* : String */; +val* var71 /* : String */; +short int var72 /* : Bool */; +val* var73 /* : MClassDef */; +val* var75 /* : MClassDef */; +val* var76 /* : MModule */; +val* var78 /* : MModule */; +val* var79 /* : nullable MGroup */; +val* var81 /* : nullable MGroup */; +short int var82 /* : Bool */; +short int var83 /* : Bool */; +val* var_other85 /* var other: nullable Object */; +short int var86 /* : Bool */; +short int var87 /* : Bool */; +short int var_88 /* var : Bool */; +val* var89 /* : MVisibility */; +val* var91 /* : MVisibility */; +val* var92 /* : Sys */; +val* var93 /* : MVisibility */; +short int var94 /* : Bool */; +val* var95 /* : Model */; +val* var97 /* : Model */; +val* var98 /* : String */; +val* var100 /* : String */; +val* var101 /* : nullable Array[MProperty] */; +val* var_others /* var others: nullable Array[MProperty] */; +short int var102 /* : Bool */; +short int var103 /* : Bool */; short int var105 /* : Bool */; -int cltype106; -int idtype107; -const char* var_class_name108; -long var109 /* : Int */; -val* var113 /* : nullable AType */; -val* var115 /* : nullable AType */; -val* var_ntype116 /* var ntype: nullable AType */; -val* var117 /* : null */; -short int var118 /* : Bool */; +short int var106 /* : Bool */; +val* var_107 /* var : Array[MProperty] */; +val* var108 /* : ArrayIterator[nullable Object] */; +val* var_109 /* var : ArrayIterator[MProperty] */; +short int var110 /* : Bool */; +val* var111 /* : nullable Object */; +val* var_other112 /* var other: MProperty */; +short int var113 /* : Bool */; +short int var114 /* : Bool */; +short int var115 /* : Bool */; +short int var116 /* : Bool */; +short int var117 /* : Bool */; short int var119 /* : Bool */; -short int var121 /* : Bool */; -short int var122 /* : Bool */; -val* var123 /* : nullable MType */; -val* var125 /* : nullable MType */; -val* var127 /* : nullable MType */; -val* var128 /* : null */; -short int var129 /* : Bool */; -short int var130 /* : Bool */; +short int var120 /* : Bool */; +short int var_121 /* var : Bool */; +val* var122 /* : MClassDef */; +val* var124 /* : MClassDef */; +val* var125 /* : MModule */; +val* var127 /* : MModule */; +val* var128 /* : nullable MGroup */; +val* var130 /* : nullable MGroup */; +short int var131 /* : Bool */; short int var132 /* : Bool */; short int var134 /* : Bool */; short int var135 /* : Bool */; -short int var136 /* : Bool */; -short int var138 /* : Bool */; +short int var_136 /* var : Bool */; +val* var137 /* : MClassDef */; +val* var139 /* : MClassDef */; +val* var140 /* : MModule */; +val* var142 /* : MModule */; +val* var143 /* : nullable MGroup */; +val* var145 /* : nullable MGroup */; +val* var146 /* : MProject */; +val* var148 /* : MProject */; +val* var149 /* : MClassDef */; +val* var151 /* : MClassDef */; +val* var152 /* : MModule */; +val* var154 /* : MModule */; +val* var155 /* : nullable MGroup */; +val* var157 /* : nullable MGroup */; +val* var158 /* : MProject */; +val* var160 /* : MProject */; +short int var161 /* : Bool */; +short int var163 /* : Bool */; +short int var165 /* : Bool */; +short int var_166 /* var : Bool */; +val* var167 /* : MClassDef */; +val* var169 /* : MClassDef */; +val* var170 /* : MClass */; +val* var172 /* : MClass */; +val* var173 /* : String */; +val* var175 /* : String */; +val* var176 /* : MClassDef */; +val* var178 /* : MClassDef */; +val* var179 /* : MClass */; +val* var181 /* : MClass */; +val* var182 /* : String */; +val* var184 /* : String */; +short int var185 /* : Bool */; +short int var_186 /* var : Bool */; +val* var187 /* : MVisibility */; +val* var189 /* : MVisibility */; +val* var190 /* : Sys */; +val* var191 /* : MVisibility */; +short int var192 /* : Bool */; +static val* varonce193; +val* var194 /* : String */; +char* var195 /* : NativeString */; +val* var196 /* : FlatString */; +val* var198 /* : NativeArray[String] */; +static val* varonce197; +static val* varonce199; +val* var200 /* : String */; +char* var201 /* : NativeString */; +val* var202 /* : FlatString */; +static val* varonce203; +val* var204 /* : String */; +char* var205 /* : NativeString */; +val* var206 /* : FlatString */; +static val* varonce207; +val* var208 /* : String */; +char* var209 /* : NativeString */; +val* var210 /* : FlatString */; +static val* varonce211; +val* var212 /* : String */; +char* var213 /* : NativeString */; +val* var214 /* : FlatString */; +val* var215 /* : String */; +val* var216 /* : MClassDef */; +val* var218 /* : MClassDef */; +val* var219 /* : MModule */; +val* var221 /* : MModule */; +val* var222 /* : String */; +val* var223 /* : MClassDef */; +val* var225 /* : MClassDef */; +val* var226 /* : MClass */; +val* var228 /* : MClass */; +val* var229 /* : String */; +val* var231 /* : String */; +val* var232 /* : String */; +short int var233 /* : Bool */; +val* var235 /* : NativeArray[String] */; +static val* varonce234; +static val* varonce236; +val* var237 /* : String */; +char* var238 /* : NativeString */; +val* var239 /* : FlatString */; +static val* varonce240; +val* var241 /* : String */; +char* var242 /* : NativeString */; +val* var243 /* : FlatString */; +static val* varonce244; +val* var245 /* : String */; +char* var246 /* : NativeString */; +val* var247 /* : FlatString */; +val* var248 /* : MClass */; +val* var250 /* : MClass */; +val* var251 /* : String */; +val* var252 /* : String */; +val* var254 /* : String */; +val* var255 /* : String */; var_modelbuilder = p0; var_mclassdef = p1; +var_kwredef = p2; +var_need_redef = p3; +var_mprop = p4; +{ +{ /* Inline modelize_property#MClassDef#mprop2npropdef (var_mclassdef) on */ +var3 = var_mclassdef->attrs[COLOR_nit__modelize_property__MClassDef___mprop2npropdef].val; /* _mprop2npropdef on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 505); +fatal_exit(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} +} +{ +var4 = ((short int(*)(val* self, val* p0))((((long)var1&3)?class_info[((long)var1&3)]:var1->class)->vft[COLOR_standard__abstract_collection__MapRead__has_key]))(var1, var_mprop); /* has_key on */ +} +if (var4){ +if (unlikely(varonce==NULL)) { +var5 = NEW_standard__NativeArray(7l, &type_standard__NativeArray__standard__String); +if (likely(varonce6!=NULL)) { +var7 = varonce6; +} else { +var8 = "Error: a property `"; +var9 = standard___standard__NativeString___to_s_with_length(var8, 19l); +var7 = var9; +varonce6 = var7; +} +((struct instance_standard__NativeArray*)var5)->values[0]=var7; +if (likely(varonce10!=NULL)) { +var11 = varonce10; +} else { +var12 = "` is already defined in class `"; +var13 = standard___standard__NativeString___to_s_with_length(var12, 31l); +var11 = var13; +varonce10 = var11; +} +((struct instance_standard__NativeArray*)var5)->values[2]=var11; +if (likely(varonce14!=NULL)) { +var15 = varonce14; +} else { +var16 = "` at line "; +var17 = standard___standard__NativeString___to_s_with_length(var16, 10l); +var15 = var17; +varonce14 = var15; +} +((struct instance_standard__NativeArray*)var5)->values[4]=var15; +if (likely(varonce18!=NULL)) { +var19 = varonce18; +} else { +var20 = "."; +var21 = standard___standard__NativeString___to_s_with_length(var20, 1l); +var19 = var21; +varonce18 = var19; +} +((struct instance_standard__NativeArray*)var5)->values[6]=var19; +} else { +var5 = varonce; +varonce = NULL; +} +{ +var22 = ((val*(*)(val* self))(var_mprop->class->vft[COLOR_standard__string__Object__to_s]))(var_mprop); /* to_s on */ +} +((struct instance_standard__NativeArray*)var5)->values[1]=var22; +{ +{ /* Inline model#MClassDef#mclass (var_mclassdef) on */ +var25 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var25 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); +} +var23 = var25; +RET_LABEL24:(void)0; +} +} +{ +var26 = ((val*(*)(val* self))(var23->class->vft[COLOR_standard__string__Object__to_s]))(var23); /* to_s on */ +} +((struct instance_standard__NativeArray*)var5)->values[3]=var26; +{ +{ /* Inline modelize_property#MClassDef#mprop2npropdef (var_mclassdef) on */ +var29 = var_mclassdef->attrs[COLOR_nit__modelize_property__MClassDef___mprop2npropdef].val; /* _mprop2npropdef on */ +if (unlikely(var29 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 505); +fatal_exit(1); +} +var27 = var29; +RET_LABEL28:(void)0; +} +} { -{ /* Inline model#MClassDef#mmodule (var_mclassdef) on */ -var3 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var3 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 489); -show_backtrace(1); +var30 = ((val*(*)(val* self, val* p0))((((long)var27&3)?class_info[((long)var27&3)]:var27->class)->vft[COLOR_standard__abstract_collection__MapRead___91d_93d]))(var27, var_mprop); /* [] on */ } -var1 = var3; -RET_LABEL2:(void)0; +{ +{ /* Inline parser_nodes#ANode#location (var30) on */ +var33 = var30->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var33 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24); +fatal_exit(1); +} +var31 = var33; +RET_LABEL32:(void)0; } } -var_mmodule = var1; { -{ /* Inline modelize_property#ASignature#param_names (self) on */ -var6 = self->attrs[COLOR_nit__modelize_property__ASignature___param_names].val; /* _param_names on */ -if (unlikely(var6 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _param_names"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 514); -show_backtrace(1); +{ /* Inline location#Location#line_start (var31) on */ +var36 = var31->attrs[COLOR_nit__location__Location___line_start].l; /* _line_start on */ +var34 = var36; +RET_LABEL35:(void)0; } -var4 = var6; -RET_LABEL5:(void)0; } +var37 = standard__string___Int___Object__to_s(var34); +((struct instance_standard__NativeArray*)var5)->values[5]=var37; +{ +var38 = ((val*(*)(val* self))(var5->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var5); /* native_to_s on */ } -var_param_names = var4; +varonce = var5; { -{ /* Inline modelize_property#ASignature#param_types (self) on */ -var9 = self->attrs[COLOR_nit__modelize_property__ASignature___param_types].val; /* _param_types on */ -if (unlikely(var9 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _param_types"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 517); -show_backtrace(1); +nit___nit__ModelBuilder___error(var_modelbuilder, self, var38); /* Direct call modelbuilder_base#ModelBuilder#error on */ } -var7 = var9; -RET_LABEL8:(void)0; +var = 0; +goto RET_LABEL; +} else { } +/* isa MMethod */ +cltype = type_nit__MMethod.color; +idtype = type_nit__MMethod.id; +if(cltype >= var_mprop->type->table_size) { +var40 = 0; +} else { +var40 = var_mprop->type->type_table[cltype] == idtype; } -var_param_types = var7; +var_ = var40; +if (var40){ { -{ /* Inline parser_nodes#ASignature#n_params (self) on */ -var12 = self->attrs[COLOR_nit__parser_nodes__ASignature___n_params].val; /* _n_params on */ -if (unlikely(var12 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1506); -show_backtrace(1); +{ /* Inline model#MMethod#is_root_init (var_mprop) on */ +var43 = var_mprop->attrs[COLOR_nit__model__MMethod___is_root_init].s; /* _is_root_init on */ +var41 = var43; +RET_LABEL42:(void)0; } -var10 = var12; -RET_LABEL11:(void)0; } +var39 = var41; +} else { +var39 = var_; } -var_ = var10; +if (var39){ +var = 1; +goto RET_LABEL; +} else { +} +if (var_kwredef == NULL) { +var44 = 1; /* is null */ +} else { +var44 = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel#Object#== (var_kwredef,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var13 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_); +{ /* Inline kernel#Object#is_same_instance (var_kwredef,var_other) on */ +var49 = var_kwredef == var_other; +var47 = var49; +goto RET_LABEL48; +RET_LABEL48:(void)0; +} +} +var45 = var47; +goto RET_LABEL46; +RET_LABEL46:(void)0; +} +var44 = var45; +} +if (var44){ +if (var_need_redef){ +if (unlikely(varonce50==NULL)) { +var51 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce52!=NULL)) { +var53 = varonce52; +} else { +var54 = "Redef Error: `"; +var55 = standard___standard__NativeString___to_s_with_length(var54, 14l); +var53 = var55; +varonce52 = var53; +} +((struct instance_standard__NativeArray*)var51)->values[0]=var53; +if (likely(varonce56!=NULL)) { +var57 = varonce56; +} else { +var58 = "::"; +var59 = standard___standard__NativeString___to_s_with_length(var58, 2l); +var57 = var59; +varonce56 = var57; +} +((struct instance_standard__NativeArray*)var51)->values[2]=var57; +if (likely(varonce60!=NULL)) { +var61 = varonce60; +} else { +var62 = "` is an inherited property. To redefine it, add the `redef` keyword."; +var63 = standard___standard__NativeString___to_s_with_length(var62, 68l); +var61 = var63; +varonce60 = var61; +} +((struct instance_standard__NativeArray*)var51)->values[4]=var61; +} else { +var51 = varonce50; +varonce50 = NULL; } -var_14 = var13; -for(;;) { { -var15 = ((short int (*)(val* self))(var_14->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_14) /* is_ok on */; +{ /* Inline model#MClassDef#mclass (var_mclassdef) on */ +var66 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var66 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); +} +var64 = var66; +RET_LABEL65:(void)0; +} } -if (var15){ { -var16 = ((val* (*)(val* self))(var_14->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_14) /* item on */; +var67 = ((val*(*)(val* self))(var64->class->vft[COLOR_standard__string__Object__to_s]))(var64); /* to_s on */ } -var_np = var16; +((struct instance_standard__NativeArray*)var51)->values[1]=var67; { -{ /* Inline parser_nodes#AParam#n_id (var_np) on */ -var19 = var_np->attrs[COLOR_nit__parser_nodes__AParam___n_id].val; /* _n_id on */ -if (unlikely(var19 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1520); -show_backtrace(1); +{ /* Inline model#MProperty#name (var_mprop) on */ +var70 = var_mprop->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ +if (unlikely(var70 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1933); +fatal_exit(1); } -var17 = var19; -RET_LABEL18:(void)0; +var68 = var70; +RET_LABEL69:(void)0; } } +((struct instance_standard__NativeArray*)var51)->values[3]=var68; { -var20 = nit__lexer_work___Token___text(var17); +var71 = ((val*(*)(val* self))(var51->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var51); /* native_to_s on */ } +varonce50 = var51; { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_param_names, var20); /* Direct call array#Array#add on */ +nit___nit__ModelBuilder___error(var_modelbuilder, self, var71); /* Direct call modelbuilder_base#ModelBuilder#error on */ +} +var = 0; +goto RET_LABEL; +} else { } { -{ /* Inline parser_nodes#AParam#n_type (var_np) on */ -var23 = var_np->attrs[COLOR_nit__parser_nodes__AParam___n_type].val; /* _n_type on */ -var21 = var23; -RET_LABEL22:(void)0; +{ /* Inline model#MProperty#intro_mclassdef (var_mprop) on */ +var75 = var_mprop->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ +if (unlikely(var75 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1928); +fatal_exit(1); } +var73 = var75; +RET_LABEL74:(void)0; } -var_ntype = var21; -var24 = NULL; -if (var_ntype == NULL) { -var25 = 0; /* is null */ -} else { -var25 = 1; /* arg is null and recv is not */ } -if (0) { -{ /* Inline kernel#Object#!= (var_ntype,var24) on */ -var_other = var24; { -var28 = ((short int (*)(val* self, val* p0))(var_ntype->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ntype, var_other) /* == on */; +{ /* Inline model#MClassDef#mmodule (var73) on */ +var78 = var73->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var78 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550); +fatal_exit(1); } -var29 = !var28; -var26 = var29; -goto RET_LABEL27; -RET_LABEL27:(void)0; +var76 = var78; +RET_LABEL77:(void)0; } -var25 = var26; } -if (var25){ { -var30 = nit__modelize_class___ModelBuilder___resolve_mtype(var_modelbuilder, var_mmodule, var_mclassdef, var_ntype); +{ /* Inline mmodule#MModule#mgroup (var76) on */ +var81 = var76->attrs[COLOR_nit__mmodule__MModule___mgroup].val; /* _mgroup on */ +var79 = var81; +RET_LABEL80:(void)0; } -var_mtype = var30; -var31 = NULL; -if (var_mtype == NULL) { -var32 = 1; /* is null */ +} +if (var79 == NULL) { +var82 = 0; /* is null */ } else { -var32 = 0; /* arg is null but recv is not */ +var82 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_mtype,var31) on */ -var_other35 = var31; +{ /* Inline kernel#Object#!= (var79,((val*)NULL)) on */ +var_other85 = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_mtype,var_other35) on */ -var38 = var_mtype == var_other35; -var36 = var38; -goto RET_LABEL37; -RET_LABEL37:(void)0; +var86 = ((short int(*)(val* self, val* p0))(var79->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var79, var_other85); /* == on */ } +var87 = !var86; +var83 = var87; +goto RET_LABEL84; +RET_LABEL84:(void)0; } -var33 = var36; -goto RET_LABEL34; -RET_LABEL34:(void)0; +var82 = var83; } -var32 = var33; +var_88 = var82; +if (var82){ +{ +{ /* Inline model#MProperty#visibility (var_mprop) on */ +var91 = var_mprop->attrs[COLOR_nit__model__MProperty___visibility].val; /* _visibility on */ +if (unlikely(var91 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1949); +fatal_exit(1); } -if (var32){ -var39 = 0; -var = var39; -goto RET_LABEL; -} else { +var89 = var91; +RET_LABEL90:(void)0; } -var40 = 0; -var_i = var40; -{ -{ /* Inline array#AbstractArrayRead#length (var_param_names) on */ -var43 = var_param_names->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ -var41 = var43; -RET_LABEL42:(void)0; } +var92 = glob_sys; +{ +var93 = nit__model_base___standard__Sys___protected_visibility(var92); } { -{ /* Inline array#AbstractArrayRead#length (var_param_types) on */ -var46 = var_param_types->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ -var44 = var46; -RET_LABEL45:(void)0; +var94 = standard___standard__Comparable____62d_61d(var89, var93); } +var72 = var94; +} else { +var72 = var_88; } +if (var72){ { -{ /* Inline kernel#Int#- (var41,var44) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var49 = 1; /* easy isa OTHER*/ -if (unlikely(!var49)) { -var_class_name = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416); -show_backtrace(1); +{ /* Inline modelbuilder_base#ModelBuilder#model (var_modelbuilder) on */ +var97 = var_modelbuilder->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___model].val; /* _model on */ +if (unlikely(var97 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 44); +fatal_exit(1); } -var50 = var41 - var44; -var47 = var50; -goto RET_LABEL48; -RET_LABEL48:(void)0; +var95 = var97; +RET_LABEL96:(void)0; } } -var_51 = var47; -for(;;) { { -{ /* Inline kernel#Int#< (var_i,var_51) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var54 = 1; /* easy isa OTHER*/ -if (unlikely(!var54)) { -var_class_name57 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name57); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +{ /* Inline model#MProperty#name (var_mprop) on */ +var100 = var_mprop->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ +if (unlikely(var100 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1933); +fatal_exit(1); } -var58 = var_i < var_51; -var52 = var58; -goto RET_LABEL53; -RET_LABEL53:(void)0; +var98 = var100; +RET_LABEL99:(void)0; } } -if (var52){ { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_param_types, var_mtype); /* Direct call array#Array#add on */ +var101 = nit__model___Model___get_mproperties_by_name(var95, var98); +} +var_others = var101; +if (var_others == NULL) { +var102 = 0; /* is null */ +} else { +var102 = 1; /* arg is null and recv is not */ } -var59 = 1; +if (0) { +{ /* Inline kernel#Object#!= (var_others,((val*)NULL)) on */ +var_other85 = ((val*)NULL); { -var60 = standard___standard__Int___Discrete__successor(var_i, var59); +var105 = ((short int(*)(val* self, val* p0))(var_others->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_others, var_other85); /* == on */ } -var_i = var60; -} else { -goto BREAK_label; +var106 = !var105; +var103 = var106; +goto RET_LABEL104; +RET_LABEL104:(void)0; } +var102 = var103; } -BREAK_label: (void)0; +if (var102){ +var_107 = var_others; { -{ /* Inline parser_nodes#AParam#n_dotdotdot (var_np) on */ -var63 = var_np->attrs[COLOR_nit__parser_nodes__AParam___n_dotdotdot].val; /* _n_dotdotdot on */ -var61 = var63; -RET_LABEL62:(void)0; +var108 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_107); } +var_109 = var108; +for(;;) { +{ +var110 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_109); } -var64 = NULL; -if (var61 == NULL) { -var65 = 0; /* is null */ -} else { -var65 = 1; /* arg is null and recv is not */ +if (var110){ +{ +var111 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_109); } -if (0) { -{ /* Inline kernel#Object#!= (var61,var64) on */ -var_other = var64; +var_other112 = var111; { -var68 = ((short int (*)(val* self, val* p0))(var61->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var61, var_other) /* == on */; +{ /* Inline kernel#Object#!= (var_other112,var_mprop) on */ +var_other85 = var_mprop; +{ +var119 = ((short int(*)(val* self, val* p0))(var_other112->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_other112, var_other85); /* == on */ } -var69 = !var68; -var66 = var69; -goto RET_LABEL67; -RET_LABEL67:(void)0; +var120 = !var119; +var117 = var120; +goto RET_LABEL118; +RET_LABEL118:(void)0; } -var65 = var66; } -if (var65){ +var_121 = var117; +if (var117){ { -{ /* Inline modelize_property#ASignature#vararg_rank (self) on */ -var72 = self->attrs[COLOR_nit__modelize_property__ASignature___vararg_rank].l; /* _vararg_rank on */ -var70 = var72; -RET_LABEL71:(void)0; +{ /* Inline model#MProperty#intro_mclassdef (var_other112) on */ +var124 = var_other112->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ +if (unlikely(var124 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1928); +fatal_exit(1); +} +var122 = var124; +RET_LABEL123:(void)0; } } -var73 = 1; { -{ /* Inline kernel#Int#unary - (var73) on */ -var76 = -var73; -var74 = var76; -goto RET_LABEL75; -RET_LABEL75:(void)0; +{ /* Inline model#MClassDef#mmodule (var122) on */ +var127 = var122->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var127 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550); +fatal_exit(1); +} +var125 = var127; +RET_LABEL126:(void)0; } } { -{ /* Inline kernel#Int#!= (var70,var74) on */ -var79 = var70 == var74; -var80 = !var79; -var77 = var80; -goto RET_LABEL78; -RET_LABEL78:(void)0; +{ /* Inline mmodule#MModule#mgroup (var125) on */ +var130 = var125->attrs[COLOR_nit__mmodule__MModule___mgroup].val; /* _mgroup on */ +var128 = var130; +RET_LABEL129:(void)0; } } -if (var77){ -if (varonce) { -var81 = varonce; +if (var128 == NULL) { +var131 = 0; /* is null */ } else { -var82 = "Error: "; -var83 = 7; -var84 = standard___standard__NativeString___to_s_with_length(var82, var83); -var81 = var84; -varonce = var81; +var131 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var128,((val*)NULL)) on */ +var_other85 = ((val*)NULL); { -{ /* Inline modelize_property#ASignature#vararg_rank (self) on */ -var87 = self->attrs[COLOR_nit__modelize_property__ASignature___vararg_rank].l; /* _vararg_rank on */ -var85 = var87; -RET_LABEL86:(void)0; +var134 = ((short int(*)(val* self, val* p0))(var128->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var128, var_other85); /* == on */ } +var135 = !var134; +var132 = var135; +goto RET_LABEL133; +RET_LABEL133:(void)0; } -{ -var88 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_param_names, var85); +var131 = var132; } -if (varonce89) { -var90 = varonce89; +var116 = var131; } else { -var91 = " is already a vararg"; -var92 = 20; -var93 = standard___standard__NativeString___to_s_with_length(var91, var92); -var90 = var93; -varonce89 = var90; +var116 = var_121; } -var94 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var94 = array_instance Array[Object] */ -var95 = 3; -var96 = NEW_standard__NativeArray(var95, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var96)->values[0] = (val*) var81; -((struct instance_standard__NativeArray*)var96)->values[1] = (val*) var88; -((struct instance_standard__NativeArray*)var96)->values[2] = (val*) var90; +var_136 = var116; +if (var116){ { -((void (*)(val* self, val* p0, long p1))(var94->class->vft[COLOR_standard__array__Array__with_native]))(var94, var96, var95) /* with_native on */; +{ /* Inline model#MProperty#intro_mclassdef (var_other112) on */ +var139 = var_other112->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ +if (unlikely(var139 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1928); +fatal_exit(1); +} +var137 = var139; +RET_LABEL138:(void)0; } } { -var97 = ((val* (*)(val* self))(var94->class->vft[COLOR_standard__string__Object__to_s]))(var94) /* to_s on */; +{ /* Inline model#MClassDef#mmodule (var137) on */ +var142 = var137->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var142 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550); +fatal_exit(1); +} +var140 = var142; +RET_LABEL141:(void)0; +} } { -nit___nit__ModelBuilder___error(var_modelbuilder, var_np, var97); /* Direct call modelbuilder_base#ModelBuilder#error on */ +{ /* Inline mmodule#MModule#mgroup (var140) on */ +var145 = var140->attrs[COLOR_nit__mmodule__MModule___mgroup].val; /* _mgroup on */ +var143 = var145; +RET_LABEL144:(void)0; } -var98 = 0; -var = var98; -goto RET_LABEL; +} +if (var143 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 638); +fatal_exit(1); } else { -{ -{ /* Inline array#AbstractArrayRead#length (var_param_names) on */ -var101 = var_param_names->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ -var99 = var101; -RET_LABEL100:(void)0; +{ /* Inline mproject#MGroup#mproject (var143) on */ +if (unlikely(var143 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject, 69); +fatal_exit(1); +} +var148 = var143->attrs[COLOR_nit__mproject__MGroup___mproject].val; /* _mproject on */ +if (unlikely(var148 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproject"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject, 69); +fatal_exit(1); +} +var146 = var148; +RET_LABEL147:(void)0; } } -var102 = 1; { -{ /* Inline kernel#Int#- (var99,var102) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var105 = 1; /* easy isa OTHER*/ -if (unlikely(!var105)) { -var_class_name108 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name108); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416); -show_backtrace(1); +{ /* Inline model#MProperty#intro_mclassdef (var_mprop) on */ +var151 = var_mprop->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ +if (unlikely(var151 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1928); +fatal_exit(1); } -var109 = var99 - var102; -var103 = var109; -goto RET_LABEL104; -RET_LABEL104:(void)0; +var149 = var151; +RET_LABEL150:(void)0; } } { -{ /* Inline modelize_property#ASignature#vararg_rank= (self,var103) on */ -self->attrs[COLOR_nit__modelize_property__ASignature___vararg_rank].l = var103; /* _vararg_rank on */ -RET_LABEL110:(void)0; +{ /* Inline model#MClassDef#mmodule (var149) on */ +var154 = var149->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var154 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550); +fatal_exit(1); } +var152 = var154; +RET_LABEL153:(void)0; } } -} else { +{ +{ /* Inline mmodule#MModule#mgroup (var152) on */ +var157 = var152->attrs[COLOR_nit__mmodule__MModule___mgroup].val; /* _mgroup on */ +var155 = var157; +RET_LABEL156:(void)0; +} } +if (var155 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 638); +fatal_exit(1); } else { +{ /* Inline mproject#MGroup#mproject (var155) on */ +if (unlikely(var155 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject, 69); +fatal_exit(1); } -{ -((void (*)(val* self))(var_14->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_14) /* next on */; +var160 = var155->attrs[COLOR_nit__mproject__MGroup___mproject].val; /* _mproject on */ +if (unlikely(var160 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproject"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject, 69); +fatal_exit(1); } -} else { -goto BREAK_label111; +var158 = var160; +RET_LABEL159:(void)0; } } -BREAK_label111: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_14) on */ -RET_LABEL112:(void)0; +{ /* Inline kernel#Object#== (var146,var158) on */ +var_other = var158; +{ +{ /* Inline kernel#Object#is_same_instance (var146,var_other) on */ +var165 = var146 == var_other; +var163 = var165; +goto RET_LABEL164; +RET_LABEL164:(void)0; } } -{ -{ /* Inline parser_nodes#ASignature#n_type (self) on */ -var115 = self->attrs[COLOR_nit__parser_nodes__ASignature___n_type].val; /* _n_type on */ -var113 = var115; -RET_LABEL114:(void)0; +var161 = var163; +goto RET_LABEL162; +RET_LABEL162:(void)0; } } -var_ntype116 = var113; -var117 = NULL; -if (var_ntype116 == NULL) { -var118 = 0; /* is null */ +var115 = var161; } else { -var118 = 1; /* arg is null and recv is not */ +var115 = var_136; } -if (0) { -{ /* Inline kernel#Object#!= (var_ntype116,var117) on */ -var_other = var117; +var_166 = var115; +if (var115){ { -var121 = ((short int (*)(val* self, val* p0))(var_ntype116->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ntype116, var_other) /* == on */; +{ /* Inline model#MProperty#intro_mclassdef (var_other112) on */ +var169 = var_other112->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ +if (unlikely(var169 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1928); +fatal_exit(1); } -var122 = !var121; -var119 = var122; -goto RET_LABEL120; -RET_LABEL120:(void)0; +var167 = var169; +RET_LABEL168:(void)0; } -var118 = var119; } -if (var118){ { -var123 = nit__modelize_class___ModelBuilder___resolve_mtype(var_modelbuilder, var_mmodule, var_mclassdef, var_ntype116); +{ /* Inline model#MClassDef#mclass (var167) on */ +var172 = var167->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var172 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); } -{ -{ /* Inline modelize_property#ASignature#ret_type= (self,var123) on */ -self->attrs[COLOR_nit__modelize_property__ASignature___ret_type].val = var123; /* _ret_type on */ -RET_LABEL124:(void)0; +var170 = var172; +RET_LABEL171:(void)0; } } { -{ /* Inline modelize_property#ASignature#ret_type (self) on */ -var127 = self->attrs[COLOR_nit__modelize_property__ASignature___ret_type].val; /* _ret_type on */ -var125 = var127; -RET_LABEL126:(void)0; +{ /* Inline model#MClass#name (var170) on */ +var175 = var170->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ +if (unlikely(var175 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 362); +fatal_exit(1); } +var173 = var175; +RET_LABEL174:(void)0; } -var128 = NULL; -if (var125 == NULL) { -var129 = 1; /* is null */ -} else { -var129 = 0; /* arg is null but recv is not */ } -if (0) { -{ /* Inline kernel#Object#== (var125,var128) on */ -var_other35 = var128; { -{ /* Inline kernel#Object#is_same_instance (var125,var_other35) on */ -var134 = var125 == var_other35; -var132 = var134; -goto RET_LABEL133; -RET_LABEL133:(void)0; +{ /* Inline model#MProperty#intro_mclassdef (var_mprop) on */ +var178 = var_mprop->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ +if (unlikely(var178 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1928); +fatal_exit(1); } +var176 = var178; +RET_LABEL177:(void)0; } -var130 = var132; -goto RET_LABEL131; -RET_LABEL131:(void)0; } -var129 = var130; +{ +{ /* Inline model#MClassDef#mclass (var176) on */ +var181 = var176->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var181 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); } -if (var129){ -var135 = 0; -var = var135; -goto RET_LABEL; -} else { +var179 = var181; +RET_LABEL180:(void)0; } -} else { } -var136 = 1; { -{ /* Inline modelize_property#ASignature#is_visited= (self,var136) on */ -self->attrs[COLOR_nit__modelize_property__ASignature___is_visited].s = var136; /* _is_visited on */ -RET_LABEL137:(void)0; -} +{ /* Inline model#MClass#name (var179) on */ +var184 = var179->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ +if (unlikely(var184 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 362); +fatal_exit(1); } -var138 = 1; -var = var138; -goto RET_LABEL; -RET_LABEL:; -return var; +var182 = var184; +RET_LABEL183:(void)0; } -/* method modelize_property#AParam#mparameter= for (self: AParam, nullable MParameter) */ -void nit__modelize_property___AParam___mparameter_61d(val* self, val* p0) { -self->attrs[COLOR_nit__modelize_property__AParam___mparameter].val = p0; /* _mparameter on */ -RET_LABEL:; } -/* method modelize_property#AMethPropdef#look_like_a_root_init for (self: AMethPropdef, ModelBuilder, MClassDef): Bool */ -short int nit__modelize_property___AMethPropdef___look_like_a_root_init(val* self, val* p0, val* p1) { -short int var /* : Bool */; -val* var_modelbuilder /* var modelbuilder: ModelBuilder */; -val* var_mclassdef /* var mclassdef: MClassDef */; -val* var1 /* : nullable TKwinit */; -val* var3 /* : nullable TKwinit */; -val* var4 /* : null */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var8 /* : Bool */; -short int var10 /* : Bool */; -short int var11 /* : Bool */; -val* var12 /* : nullable AMethid */; -val* var14 /* : nullable AMethid */; -val* var15 /* : null */; -short int var16 /* : Bool */; -short int var17 /* : Bool */; -val* var_other19 /* var other: nullable Object */; -short int var20 /* : Bool */; -short int var21 /* : Bool */; -short int var22 /* : Bool */; -static val* varonce; -val* var23 /* : String */; -char* var24 /* : NativeString */; -long var25 /* : Int */; -val* var26 /* : FlatString */; -val* var27 /* : nullable AAnnotation */; -val* var28 /* : null */; -short int var29 /* : Bool */; -short int var30 /* : Bool */; -short int var32 /* : Bool */; -short int var33 /* : Bool */; -short int var34 /* : Bool */; -val* var35 /* : nullable ANode */; -val* var37 /* : nullable ANode */; -val* var38 /* : nullable ANode */; -val* var40 /* : nullable ANode */; -short int var41 /* : Bool */; -int cltype; -int idtype; -const char* var_class_name; -val* var_amod /* var amod: AModule */; -val* var42 /* : nullable AModuledecl */; -val* var44 /* : nullable AModuledecl */; -val* var_amoddecl /* var amoddecl: nullable AModuledecl */; -val* var45 /* : null */; -short int var46 /* : Bool */; -short int var47 /* : Bool */; -short int var49 /* : Bool */; -short int var50 /* : Bool */; -static val* varonce51; -val* var52 /* : String */; -char* var53 /* : NativeString */; -long var54 /* : Int */; -val* var55 /* : FlatString */; -val* var56 /* : nullable AAnnotation */; -val* var_old /* var old: nullable AAnnotation */; -val* var57 /* : null */; -short int var58 /* : Bool */; -short int var59 /* : Bool */; -short int var61 /* : Bool */; -short int var62 /* : Bool */; -short int var63 /* : Bool */; -val* var64 /* : nullable ASignature */; -val* var66 /* : nullable ASignature */; -val* var67 /* : ANodes[AParam] */; -val* var69 /* : ANodes[AParam] */; -long var70 /* : Int */; -long var71 /* : Int */; -short int var72 /* : Bool */; -short int var74 /* : Bool */; -int cltype75; -int idtype76; -const char* var_class_name77; -short int var78 /* : Bool */; -static val* varonce79; -val* var80 /* : String */; -char* var81 /* : NativeString */; -long var82 /* : Int */; -val* var83 /* : FlatString */; -static val* varonce84; -val* var85 /* : String */; -char* var86 /* : NativeString */; -long var87 /* : Int */; -val* var88 /* : FlatString */; -val* var89 /* : Array[Object] */; -long var90 /* : Int */; -val* var91 /* : NativeArray[Object] */; -val* var92 /* : String */; -short int var93 /* : Bool */; -val* var94 /* : nullable AVisibility */; -val* var96 /* : nullable AVisibility */; -short int var97 /* : Bool */; -int cltype98; -int idtype99; -short int var100 /* : Bool */; -static val* varonce101; -val* var102 /* : String */; -char* var103 /* : NativeString */; -long var104 /* : Int */; -val* var105 /* : FlatString */; -static val* varonce106; -val* var107 /* : String */; -char* var108 /* : NativeString */; -long var109 /* : Int */; -val* var110 /* : FlatString */; -val* var111 /* : Array[Object] */; -long var112 /* : Int */; -val* var113 /* : NativeArray[Object] */; -val* var114 /* : String */; -short int var115 /* : Bool */; -short int var116 /* : Bool */; -var_modelbuilder = p0; -var_mclassdef = p1; { -{ /* Inline parser_nodes#AMethPropdef#n_kwinit (self) on */ -var3 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_kwinit].val; /* _n_kwinit on */ -var1 = var3; -RET_LABEL2:(void)0; +var185 = ((short int(*)(val* self, val* p0))(var173->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var173, var182); /* == on */ } -} -var4 = NULL; -if (var1 == NULL) { -var5 = 1; /* is null */ +var114 = var185; } else { -var5 = 0; /* arg is null but recv is not */ +var114 = var_166; } -if (0) { -{ /* Inline kernel#Object#== (var1,var4) on */ -var_other = var4; +var_186 = var114; +if (var114){ { -{ /* Inline kernel#Object#is_same_instance (var1,var_other) on */ -var10 = var1 == var_other; -var8 = var10; -goto RET_LABEL9; -RET_LABEL9:(void)0; -} -} -var6 = var8; -goto RET_LABEL7; -RET_LABEL7:(void)0; +{ /* Inline model#MProperty#visibility (var_other112) on */ +var189 = var_other112->attrs[COLOR_nit__model__MProperty___visibility].val; /* _visibility on */ +if (unlikely(var189 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1949); +fatal_exit(1); } -var5 = var6; +var187 = var189; +RET_LABEL188:(void)0; } -if (var5){ -var11 = 0; -var = var11; -goto RET_LABEL; -} else { } +var190 = glob_sys; { -{ /* Inline parser_nodes#AMethPropdef#n_methid (self) on */ -var14 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on */ -var12 = var14; -RET_LABEL13:(void)0; +var191 = nit__model_base___standard__Sys___protected_visibility(var190); } +{ +var192 = standard___standard__Comparable____62d_61d(var187, var191); } -var15 = NULL; -if (var12 == NULL) { -var16 = 0; /* is null */ +var113 = var192; } else { -var16 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var12,var15) on */ -var_other19 = var15; -{ -var20 = ((short int (*)(val* self, val* p0))(var12->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var12, var_other19) /* == on */; +var113 = var_186; } -var21 = !var20; -var17 = var21; -goto RET_LABEL18; -RET_LABEL18:(void)0; +if (var113){ +if (likely(varonce193!=NULL)) { +var194 = varonce193; +} else { +var195 = "full-name-conflict"; +var196 = standard___standard__NativeString___to_s_with_length(var195, 18l); +var194 = var196; +varonce193 = var194; } -var16 = var17; +if (unlikely(varonce197==NULL)) { +var198 = NEW_standard__NativeArray(7l, &type_standard__NativeArray__standard__String); +if (likely(varonce199!=NULL)) { +var200 = varonce199; +} else { +var201 = "Warning: A property named `"; +var202 = standard___standard__NativeString___to_s_with_length(var201, 27l); +var200 = var202; +varonce199 = var200; } -if (var16){ -var22 = 0; -var = var22; -goto RET_LABEL; +((struct instance_standard__NativeArray*)var198)->values[0]=var200; +if (likely(varonce203!=NULL)) { +var204 = varonce203; } else { +var205 = "` is already defined in module `"; +var206 = standard___standard__NativeString___to_s_with_length(var205, 32l); +var204 = var206; +varonce203 = var204; } -if (varonce) { -var23 = varonce; +((struct instance_standard__NativeArray*)var198)->values[2]=var204; +if (likely(varonce207!=NULL)) { +var208 = varonce207; } else { -var24 = "old_style_init"; -var25 = 14; -var26 = standard___standard__NativeString___to_s_with_length(var24, var25); -var23 = var26; -varonce = var23; +var209 = "` for the class `"; +var210 = standard___standard__NativeString___to_s_with_length(var209, 17l); +var208 = var210; +varonce207 = var208; } -{ -var27 = nit__annotation___Prod___get_single_annotation(self, var23, var_modelbuilder); +((struct instance_standard__NativeArray*)var198)->values[4]=var208; +if (likely(varonce211!=NULL)) { +var212 = varonce211; +} else { +var213 = "`."; +var214 = standard___standard__NativeString___to_s_with_length(var213, 2l); +var212 = var214; +varonce211 = var212; } -var28 = NULL; -if (var27 == NULL) { -var29 = 0; /* is null */ +((struct instance_standard__NativeArray*)var198)->values[6]=var212; } else { -var29 = 1; /* arg is null and recv is not */ +var198 = varonce197; +varonce197 = NULL; } -if (0) { -{ /* Inline kernel#Object#!= (var27,var28) on */ -var_other19 = var28; { -var32 = ((short int (*)(val* self, val* p0))(var27->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var27, var_other19) /* == on */; +var215 = nit___nit__MProperty___nit__model_base__MEntity__full_name(var_other112); } -var33 = !var32; -var30 = var33; -goto RET_LABEL31; -RET_LABEL31:(void)0; +((struct instance_standard__NativeArray*)var198)->values[1]=var215; +{ +{ /* Inline model#MProperty#intro_mclassdef (var_other112) on */ +var218 = var_other112->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ +if (unlikely(var218 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1928); +fatal_exit(1); } -var29 = var30; +var216 = var218; +RET_LABEL217:(void)0; } -if (var29){ -var34 = 0; -var = var34; -goto RET_LABEL; -} else { } { -{ /* Inline parser_nodes#ANode#parent (self) on */ -var37 = self->attrs[COLOR_nit__parser_nodes__ANode___parent].val; /* _parent on */ -var35 = var37; -RET_LABEL36:(void)0; -} +{ /* Inline model#MClassDef#mmodule (var216) on */ +var221 = var216->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var221 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550); +fatal_exit(1); } -if (var35 == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 601); -show_backtrace(1); -} else { -{ /* Inline parser_nodes#ANode#parent (var35) on */ -if (unlikely(var35 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 36); -show_backtrace(1); +var219 = var221; +RET_LABEL220:(void)0; } -var40 = var35->attrs[COLOR_nit__parser_nodes__ANode___parent].val; /* _parent on */ -var38 = var40; -RET_LABEL39:(void)0; } +{ +var222 = ((val*(*)(val* self))(var219->class->vft[COLOR_standard__string__Object__to_s]))(var219); /* to_s on */ } -/* isa AModule */ -cltype = type_nit__AModule.color; -idtype = type_nit__AModule.id; -if(var38 == NULL) { -var41 = 0; -} else { -if(cltype >= var38->type->table_size) { -var41 = 0; -} else { -var41 = var38->type->type_table[cltype] == idtype; +((struct instance_standard__NativeArray*)var198)->values[3]=var222; +{ +{ /* Inline model#MProperty#intro_mclassdef (var_other112) on */ +var225 = var_other112->attrs[COLOR_nit__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ +if (unlikely(var225 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1928); +fatal_exit(1); } +var223 = var225; +RET_LABEL224:(void)0; } -if (unlikely(!var41)) { -var_class_name = var38 == NULL ? "null" : var38->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AModule", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 601); -show_backtrace(1); } -var_amod = var38; { -{ /* Inline parser_nodes#AModule#n_moduledecl (var_amod) on */ -var44 = var_amod->attrs[COLOR_nit__parser_nodes__AModule___n_moduledecl].val; /* _n_moduledecl on */ -var42 = var44; -RET_LABEL43:(void)0; +{ /* Inline model#MClassDef#mclass (var223) on */ +var228 = var223->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var228 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); } +var226 = var228; +RET_LABEL227:(void)0; } -var_amoddecl = var42; -var45 = NULL; -if (var_amoddecl == NULL) { -var46 = 0; /* is null */ -} else { -var46 = 1; /* arg is null and recv is not */ } -if (0) { -{ /* Inline kernel#Object#!= (var_amoddecl,var45) on */ -var_other19 = var45; { -var49 = ((short int (*)(val* self, val* p0))(var_amoddecl->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_amoddecl, var_other19) /* == on */; +{ /* Inline model#MClass#name (var226) on */ +var231 = var226->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ +if (unlikely(var231 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 362); +fatal_exit(1); } -var50 = !var49; -var47 = var50; -goto RET_LABEL48; -RET_LABEL48:(void)0; +var229 = var231; +RET_LABEL230:(void)0; } -var46 = var47; } -if (var46){ -if (varonce51) { -var52 = varonce51; -} else { -var53 = "old_style_init"; -var54 = 14; -var55 = standard___standard__NativeString___to_s_with_length(var53, var54); -var52 = var55; -varonce51 = var52; +((struct instance_standard__NativeArray*)var198)->values[5]=var229; +{ +var232 = ((val*(*)(val* self))(var198->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var198); /* native_to_s on */ } +varonce197 = var198; { -var56 = nit__annotation___Prod___get_single_annotation(var_amoddecl, var52, var_modelbuilder); +nit___nit__ModelBuilder___advice(var_modelbuilder, self, var194, var232); /* Direct call modelbuilder_base#ModelBuilder#advice on */ } -var_old = var56; -var57 = NULL; -if (var_old == NULL) { -var58 = 0; /* is null */ +goto BREAK_label; } else { -var58 = 1; /* arg is null and recv is not */ } -if (0) { -{ /* Inline kernel#Object#!= (var_old,var57) on */ -var_other19 = var57; { -var61 = ((short int (*)(val* self, val* p0))(var_old->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_old, var_other19) /* == on */; -} -var62 = !var61; -var59 = var62; -goto RET_LABEL60; -RET_LABEL60:(void)0; -} -var58 = var59; +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_109); /* Direct call array#ArrayIterator#next on */ } -if (var58){ -var63 = 0; -var = var63; -goto RET_LABEL; } else { +goto BREAK_label; } -} else { } +BREAK_label: (void)0; { -{ /* Inline parser_nodes#AMethPropdef#n_signature (self) on */ -var66 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on */ -var64 = var66; -RET_LABEL65:(void)0; +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_109); /* Direct call array#ArrayIterator#finish on */ } +} else { } -if (var64 == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 608); -show_backtrace(1); } else { -{ /* Inline parser_nodes#ASignature#n_params (var64) on */ -if (unlikely(var64 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1506); -show_backtrace(1); } -var69 = var64->attrs[COLOR_nit__parser_nodes__ASignature___n_params].val; /* _n_params on */ -if (unlikely(var69 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1506); -show_backtrace(1); +} else { +var233 = !var_need_redef; +if (var233){ +if (unlikely(varonce234==NULL)) { +var235 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce236!=NULL)) { +var237 = varonce236; +} else { +var238 = "Error: no property `"; +var239 = standard___standard__NativeString___to_s_with_length(var238, 20l); +var237 = var239; +varonce236 = var237; } -var67 = var69; -RET_LABEL68:(void)0; +((struct instance_standard__NativeArray*)var235)->values[0]=var237; +if (likely(varonce240!=NULL)) { +var241 = varonce240; +} else { +var242 = "::"; +var243 = standard___standard__NativeString___to_s_with_length(var242, 2l); +var241 = var243; +varonce240 = var241; } +((struct instance_standard__NativeArray*)var235)->values[2]=var241; +if (likely(varonce244!=NULL)) { +var245 = varonce244; +} else { +var246 = "` is inherited. Remove the `redef` keyword to define a new property."; +var247 = standard___standard__NativeString___to_s_with_length(var246, 68l); +var245 = var247; +varonce244 = var245; } -{ -var70 = nit___nit__ANodes___standard__abstract_collection__Collection__length(var67); +((struct instance_standard__NativeArray*)var235)->values[4]=var245; +} else { +var235 = varonce234; +varonce234 = NULL; } -var71 = 0; { -{ /* Inline kernel#Int#> (var70,var71) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var74 = 1; /* easy isa OTHER*/ -if (unlikely(!var74)) { -var_class_name77 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name77); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412); -show_backtrace(1); -} -var78 = var70 > var71; -var72 = var78; -goto RET_LABEL73; -RET_LABEL73:(void)0; +{ /* Inline model#MClassDef#mclass (var_mclassdef) on */ +var250 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var250 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); } +var248 = var250; +RET_LABEL249:(void)0; } -if (var72){ -if (varonce79) { -var80 = varonce79; -} else { -var81 = "old-init"; -var82 = 8; -var83 = standard___standard__NativeString___to_s_with_length(var81, var82); -var80 = var83; -varonce79 = var80; } -if (varonce84) { -var85 = varonce84; -} else { -var86 = "Warning: init with signature in "; -var87 = 32; -var88 = standard___standard__NativeString___to_s_with_length(var86, var87); -var85 = var88; -varonce84 = var85; +{ +var251 = ((val*(*)(val* self))(var248->class->vft[COLOR_standard__string__Object__to_s]))(var248); /* to_s on */ } -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*) var85; -((struct instance_standard__NativeArray*)var91)->values[1] = (val*) var_mclassdef; +((struct instance_standard__NativeArray*)var235)->values[1]=var251; { -((void (*)(val* self, val* p0, long p1))(var89->class->vft[COLOR_standard__array__Array__with_native]))(var89, var91, var90) /* with_native on */; +{ /* Inline model#MProperty#name (var_mprop) on */ +var254 = var_mprop->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ +if (unlikely(var254 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1933); +fatal_exit(1); +} +var252 = var254; +RET_LABEL253:(void)0; } } +((struct instance_standard__NativeArray*)var235)->values[3]=var252; { -var92 = ((val* (*)(val* self))(var89->class->vft[COLOR_standard__string__Object__to_s]))(var89) /* to_s on */; +var255 = ((val*(*)(val* self))(var235->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var235); /* native_to_s on */ } +varonce234 = var235; { -nit___nit__ModelBuilder___advice(var_modelbuilder, self, var80, var92); /* Direct call modelbuilder_base#ModelBuilder#advice on */ +nit___nit__ModelBuilder___error(var_modelbuilder, self, var255); /* Direct call modelbuilder_base#ModelBuilder#error on */ } -var93 = 0; -var = var93; +var = 0; goto RET_LABEL; } else { } -{ -{ /* Inline parser_nodes#ADefinition#n_visibility (self) on */ -var96 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_visibility].val; /* _n_visibility on */ -var94 = var96; -RET_LABEL95:(void)0; -} } -/* isa APublicVisibility */ -cltype98 = type_nit__APublicVisibility.color; -idtype99 = type_nit__APublicVisibility.id; -if(var94 == NULL) { -var97 = 0; -} else { -if(cltype98 >= var94->type->table_size) { -var97 = 0; -} else { -var97 = var94->type->type_table[cltype98] == idtype99; +var = 1; +goto RET_LABEL; +RET_LABEL:; +return var; } +/* method modelize_property#APropdef#check_repeated_types for (self: APropdef, ModelBuilder) */ +void nit__modelize_property___APropdef___check_repeated_types(val* self, val* p0) { +val* var_modelbuilder /* var modelbuilder: ModelBuilder */; +var_modelbuilder = p0; +RET_LABEL:; } -var100 = !var97; -if (var100){ -if (varonce101) { -var102 = varonce101; -} else { -var103 = "old-init"; -var104 = 8; -var105 = standard___standard__NativeString___to_s_with_length(var103, var104); -var102 = var105; -varonce101 = var102; +/* method modelize_property#ASignature#is_visited= for (self: ASignature, Bool) */ +void nit__modelize_property___ASignature___is_visited_61d(val* self, short int p0) { +self->attrs[COLOR_nit__modelize_property__ASignature___is_visited].s = p0; /* _is_visited on */ +RET_LABEL:; } -if (varonce106) { -var107 = varonce106; -} else { -var108 = "Warning: non-public init in "; -var109 = 28; -var110 = standard___standard__NativeString___to_s_with_length(var108, var109); -var107 = var110; -varonce106 = var107; +/* method modelize_property#ASignature#param_names for (self: ASignature): Array[String] */ +val* nit__modelize_property___ASignature___param_names(val* self) { +val* var /* : Array[String] */; +val* var1 /* : Array[String] */; +var1 = self->attrs[COLOR_nit__modelize_property__ASignature___param_names].val; /* _param_names on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _param_names"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 660); +fatal_exit(1); } -var111 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var111 = array_instance Array[Object] */ -var112 = 2; -var113 = NEW_standard__NativeArray(var112, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var113)->values[0] = (val*) var107; -((struct instance_standard__NativeArray*)var113)->values[1] = (val*) var_mclassdef; -{ -((void (*)(val* self, val* p0, long p1))(var111->class->vft[COLOR_standard__array__Array__with_native]))(var111, var113, var112) /* with_native on */; +var = var1; +RET_LABEL:; +return var; } +/* method modelize_property#ASignature#param_types for (self: ASignature): Array[MType] */ +val* nit__modelize_property___ASignature___param_types(val* self) { +val* var /* : Array[MType] */; +val* var1 /* : Array[MType] */; +var1 = self->attrs[COLOR_nit__modelize_property__ASignature___param_types].val; /* _param_types on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _param_types"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 663); +fatal_exit(1); } -{ -var114 = ((val* (*)(val* self))(var111->class->vft[COLOR_standard__string__Object__to_s]))(var111) /* to_s on */; +var = var1; +RET_LABEL:; +return var; } -{ -nit___nit__ModelBuilder___advice(var_modelbuilder, self, var102, var114); /* Direct call modelbuilder_base#ModelBuilder#advice on */ +/* method modelize_property#ASignature#vararg_rank for (self: ASignature): Int */ +long nit__modelize_property___ASignature___vararg_rank(val* self) { +long var /* : Int */; +long var1 /* : Int */; +var1 = self->attrs[COLOR_nit__modelize_property__ASignature___vararg_rank].l; /* _vararg_rank on */ +var = var1; +RET_LABEL:; +return var; } -var115 = 0; -var = var115; -goto RET_LABEL; -} else { +/* method modelize_property#ASignature#vararg_rank= for (self: ASignature, Int) */ +void nit__modelize_property___ASignature___vararg_rank_61d(val* self, long p0) { +self->attrs[COLOR_nit__modelize_property__ASignature___vararg_rank].l = p0; /* _vararg_rank on */ +RET_LABEL:; } -var116 = 1; -var = var116; -goto RET_LABEL; +/* method modelize_property#ASignature#ret_type for (self: ASignature): nullable MType */ +val* nit__modelize_property___ASignature___ret_type(val* self) { +val* var /* : nullable MType */; +val* var1 /* : nullable MType */; +var1 = self->attrs[COLOR_nit__modelize_property__ASignature___ret_type].val; /* _ret_type on */ +var = var1; RET_LABEL:; return var; } -/* method modelize_property#AMethPropdef#build_property for (self: AMethPropdef, ModelBuilder, MClassDef) */ -void nit__modelize_property___AMethPropdef___APropdef__build_property(val* self, val* p0, val* p1) { +/* method modelize_property#ASignature#ret_type= for (self: ASignature, nullable MType) */ +void nit__modelize_property___ASignature___ret_type_61d(val* self, val* p0) { +self->attrs[COLOR_nit__modelize_property__ASignature___ret_type].val = p0; /* _ret_type on */ +RET_LABEL:; +} +/* method modelize_property#ASignature#visit_signature for (self: ASignature, ModelBuilder, MClassDef): Bool */ +short int nit__modelize_property___ASignature___visit_signature(val* self, val* p0, val* p1) { +short int var /* : Bool */; val* var_modelbuilder /* var modelbuilder: ModelBuilder */; val* var_mclassdef /* var mclassdef: MClassDef */; -val* var /* : nullable TKwinit */; -val* var2 /* : nullable TKwinit */; -val* var_n_kwinit /* var n_kwinit: nullable TKwinit */; -val* var3 /* : nullable TKwnew */; -val* var5 /* : nullable TKwnew */; -val* var_n_kwnew /* var n_kwnew: nullable TKwnew */; -short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; -short int var9 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var11 /* : Bool */; -short int var12 /* : Bool */; -short int var_ /* var : Bool */; -val* var13 /* : null */; -short int var14 /* : Bool */; +val* var1 /* : MModule */; +val* var3 /* : MModule */; +val* var_mmodule /* var mmodule: MModule */; +val* var4 /* : Array[String] */; +val* var6 /* : Array[String] */; +val* var_param_names /* var param_names: Array[String] */; +val* var7 /* : Array[MType] */; +val* var9 /* : Array[MType] */; +val* var_param_types /* var param_types: Array[MType] */; +val* var10 /* : ANodes[AParam] */; +val* var12 /* : ANodes[AParam] */; +val* var_ /* var : ANodes[AParam] */; +val* var13 /* : Iterator[ANode] */; +val* var_14 /* var : Iterator[AParam] */; short int var15 /* : Bool */; -short int var17 /* : Bool */; -short int var18 /* : Bool */; -short int var_is_init /* var is_init: Bool */; -val* var19 /* : nullable AMethid */; -val* var21 /* : nullable AMethid */; -val* var_amethodid /* var amethodid: nullable AMethid */; -val* var22 /* : null */; -short int var23 /* : Bool */; +val* var16 /* : nullable Object */; +val* var_np /* var np: AParam */; +val* var17 /* : TId */; +val* var19 /* : TId */; +val* var20 /* : String */; +val* var21 /* : nullable AType */; +val* var23 /* : nullable AType */; +val* var_ntype /* var ntype: nullable AType */; short int var24 /* : Bool */; -val* var_other26 /* var other: nullable Object */; +short int var25 /* : Bool */; +val* var_other /* var other: nullable Object */; short int var27 /* : Bool */; -short int var29 /* : Bool */; +short int var28 /* : Bool */; +val* var29 /* : nullable MType */; +val* var_mtype /* var mtype: nullable MType */; short int var30 /* : Bool */; -static val* varonce; -val* var31 /* : String */; -char* var32 /* : NativeString */; -long var33 /* : Int */; -val* var34 /* : FlatString */; -val* var_name /* var name: String */; -val* var_name_node /* var name_node: ANode */; -val* var35 /* : null */; +short int var31 /* : Bool */; +val* var_other33 /* var other: nullable Object */; +short int var34 /* : Bool */; short int var36 /* : Bool */; -short int var37 /* : Bool */; -short int var39 /* : Bool */; -short int var40 /* : Bool */; -static val* varonce41; -val* var42 /* : String */; -char* var43 /* : NativeString */; -long var44 /* : Int */; -val* var45 /* : FlatString */; -val* var46 /* : null */; -short int var47 /* : Bool */; +long var_i /* var i: Int */; +long var37 /* : Int */; +long var39 /* : Int */; +long var40 /* : Int */; +long var42 /* : Int */; +long var43 /* : Int */; +short int var45 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +long var46 /* : Int */; +long var_47 /* var : Int */; short int var48 /* : Bool */; short int var50 /* : Bool */; -short int var51 /* : Bool */; -static val* varonce52; -val* var53 /* : String */; -char* var54 /* : NativeString */; +int cltype51; +int idtype52; +const char* var_class_name53; +short int var54 /* : Bool */; long var55 /* : Int */; -val* var56 /* : FlatString */; -short int var57 /* : Bool */; -int cltype; -int idtype; -val* var58 /* : TId */; -val* var60 /* : TId */; -val* var61 /* : String */; -val* var62 /* : String */; +val* var56 /* : nullable TDotdotdot */; +val* var58 /* : nullable TDotdotdot */; +short int var59 /* : Bool */; +short int var60 /* : Bool */; +short int var62 /* : Bool */; short int var63 /* : Bool */; -static val* varonce64; -val* var65 /* : String */; -char* var66 /* : NativeString */; +long var64 /* : Int */; +long var66 /* : Int */; long var67 /* : Int */; -val* var68 /* : FlatString */; -short int var69 /* : Bool */; -short int var_70 /* var : Bool */; -val* var71 /* : nullable ASignature */; -val* var73 /* : nullable ASignature */; -val* var74 /* : ANodes[AParam] */; -val* var76 /* : ANodes[AParam] */; -long var77 /* : Int */; -long var78 /* : Int */; -short int var79 /* : Bool */; -short int var81 /* : Bool */; -static val* varonce82; -val* var83 /* : String */; -char* var84 /* : NativeString */; +long var69 /* : Int */; +short int var70 /* : Bool */; +short int var72 /* : Bool */; +short int var73 /* : Bool */; +val* var74 /* : NativeArray[String] */; +static val* varonce; +static val* varonce75; +val* var76 /* : String */; +char* var77 /* : NativeString */; +val* var78 /* : FlatString */; +static val* varonce79; +val* var80 /* : String */; +char* var81 /* : NativeString */; +val* var82 /* : FlatString */; +long var83 /* : Int */; long var85 /* : Int */; -val* var86 /* : FlatString */; -short int var87 /* : Bool */; -short int var_look_like_a_root_init /* var look_like_a_root_init: Bool */; -val* var88 /* : null */; -val* var_mprop /* var mprop: nullable MMethod */; -short int var89 /* : Bool */; -short int var90 /* : Bool */; -short int var_91 /* var : Bool */; -val* var92 /* : nullable TKwredef */; -val* var94 /* : nullable TKwredef */; -val* var95 /* : null */; -short int var96 /* : Bool */; -short int var97 /* : Bool */; -short int var99 /* : Bool */; -short int var100 /* : Bool */; -val* var101 /* : nullable MProperty */; -short int var102 /* : Bool */; -int cltype103; -int idtype104; -const char* var_class_name; +val* var86 /* : nullable Object */; +val* var87 /* : String */; +long var88 /* : Int */; +long var90 /* : Int */; +long var91 /* : Int */; +short int var93 /* : Bool */; +int cltype94; +int idtype95; +const char* var_class_name96; +long var97 /* : Int */; +val* var100 /* : nullable AType */; +val* var102 /* : nullable AType */; +val* var_ntype103 /* var ntype: nullable AType */; +short int var104 /* : Bool */; short int var105 /* : Bool */; -val* var106 /* : null */; short int var107 /* : Bool */; short int var108 /* : Bool */; -short int var110 /* : Bool */; -short int var112 /* : Bool */; -short int var_113 /* var : Bool */; -val* var114 /* : nullable MMethod */; -val* var116 /* : nullable MMethod */; -val* var117 /* : nullable AExpr */; -val* var119 /* : nullable AExpr */; -val* var_nb /* var nb: nullable AExpr */; -short int var120 /* : Bool */; -short int var121 /* : Bool */; -short int var122 /* : Bool */; -int cltype123; -int idtype124; -short int var_125 /* var : Bool */; -val* var126 /* : ANodes[AExpr] */; -val* var128 /* : ANodes[AExpr] */; -short int var129 /* : Bool */; -short int var_130 /* var : Bool */; -val* var131 /* : nullable ADoc */; -val* var133 /* : nullable ADoc */; -val* var134 /* : null */; -short int var135 /* : Bool */; -short int var136 /* : Bool */; -short int var138 /* : Bool */; -short int var140 /* : Bool */; -static val* varonce141; -val* var142 /* : String */; -char* var143 /* : NativeString */; -long var144 /* : Int */; -val* var145 /* : FlatString */; -static val* varonce146; -val* var147 /* : String */; -char* var148 /* : NativeString */; -long var149 /* : Int */; -val* var150 /* : FlatString */; -val* var151 /* : Array[Object] */; -long var152 /* : Int */; -val* var153 /* : NativeArray[Object] */; -val* var154 /* : String */; -val* var155 /* : null */; -short int var156 /* : Bool */; -short int var157 /* : Bool */; -short int var159 /* : Bool */; -short int var161 /* : Bool */; -val* var162 /* : nullable AVisibility */; -val* var164 /* : nullable AVisibility */; -val* var165 /* : MVisibility */; -val* var_mvisibility /* var mvisibility: MVisibility */; -val* var166 /* : MMethod */; -short int var167 /* : Bool */; -short int var_168 /* var : Bool */; -val* var169 /* : nullable MMethod */; -val* var171 /* : nullable MMethod */; -val* var172 /* : null */; -short int var173 /* : Bool */; -short int var174 /* : Bool */; -short int var176 /* : Bool */; -short int var178 /* : Bool */; -short int var180 /* : Bool */; -val* var183 /* : null */; -short int var184 /* : Bool */; -short int var185 /* : Bool */; -short int var187 /* : Bool */; -short int var188 /* : Bool */; -val* var190 /* : nullable ANode */; -val* var192 /* : nullable ANode */; -short int var193 /* : Bool */; -int cltype194; -int idtype195; -short int var196 /* : Bool */; -val* var198 /* : nullable TKwredef */; -val* var200 /* : nullable TKwredef */; -short int var201 /* : Bool */; -short int var202 /* : Bool */; -val* var203 /* : nullable TKwredef */; -val* var205 /* : nullable TKwredef */; -short int var206 /* : Bool */; -int cltype207; -int idtype208; -short int var209 /* : Bool */; -short int var210 /* : Bool */; -short int var211 /* : Bool */; -val* var212 /* : nullable AVisibility */; -val* var214 /* : nullable AVisibility */; -val* var215 /* : Map[MProperty, APropdef] */; -val* var217 /* : Map[MProperty, APropdef] */; -val* var_218 /* var : Map[MProperty, APropdef] */; -val* var219 /* : MapIterator[nullable Object, nullable Object] */; -val* var_220 /* var : MapIterator[MProperty, APropdef] */; -short int var221 /* : Bool */; -val* var222 /* : nullable Object */; -val* var_p /* var p: MProperty */; -val* var223 /* : nullable Object */; -val* var_n /* var n: APropdef */; -short int var224 /* : Bool */; -short int var225 /* : Bool */; -short int var226 /* : Bool */; -short int var228 /* : Bool */; -short int var229 /* : Bool */; -short int var_230 /* var : Bool */; -short int var231 /* : Bool */; -int cltype232; -int idtype233; -short int var_234 /* var : Bool */; -val* var235 /* : String */; -val* var237 /* : String */; -short int var238 /* : Bool */; -val* var239 /* : nullable TKwredef */; -val* var241 /* : nullable TKwredef */; -short int var242 /* : Bool */; -short int var243 /* : Bool */; -val* var245 /* : Map[MProperty, APropdef] */; -val* var247 /* : Map[MProperty, APropdef] */; -val* var248 /* : MMethodDef */; -val* var249 /* : Location */; -val* var251 /* : Location */; -val* var_mpropdef /* var mpropdef: MMethodDef */; -short int var252 /* : Bool */; -int cltype253; -int idtype254; -const struct type* type_struct; -const char* var_class_name255; -short int var257 /* : Bool */; -int cltype258; -int idtype259; -const struct type* type_struct260; -const char* var_class_name261; -val* var262 /* : HashMap[MPropDef, APropdef] */; -val* var264 /* : HashMap[MPropDef, APropdef] */; -short int var265 /* : Bool */; -val* var266 /* : ToolContext */; -val* var268 /* : ToolContext */; -static val* varonce269; -val* var270 /* : String */; -char* var271 /* : NativeString */; -long var272 /* : Int */; -val* var273 /* : FlatString */; -val* var274 /* : String */; -val* var275 /* : Array[Object] */; -long var276 /* : Int */; -val* var277 /* : NativeArray[Object] */; -val* var278 /* : String */; -long var279 /* : Int */; -val* var280 /* : ToolContext */; -val* var282 /* : ToolContext */; -static val* varonce283; -val* var284 /* : String */; -char* var285 /* : NativeString */; -long var286 /* : Int */; -val* var287 /* : FlatString */; -val* var288 /* : String */; -val* var289 /* : Array[Object] */; -long var290 /* : Int */; -val* var291 /* : NativeArray[Object] */; -val* var292 /* : String */; -long var293 /* : Int */; +val* var109 /* : nullable MType */; +val* var111 /* : nullable MType */; +val* var113 /* : nullable MType */; +short int var114 /* : Bool */; +short int var115 /* : Bool */; +short int var117 /* : Bool */; +short int var119 /* : Bool */; var_modelbuilder = p0; var_mclassdef = p1; { -{ /* Inline parser_nodes#AMethPropdef#n_kwinit (self) on */ -var2 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_kwinit].val; /* _n_kwinit on */ -var = var2; -RET_LABEL1:(void)0; +{ /* Inline model#MClassDef#mmodule (var_mclassdef) on */ +var3 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550); +fatal_exit(1); +} +var1 = var3; +RET_LABEL2:(void)0; } } -var_n_kwinit = var; +var_mmodule = var1; { -{ /* Inline parser_nodes#AMethPropdef#n_kwnew (self) on */ -var5 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_kwnew].val; /* _n_kwnew on */ -var3 = var5; -RET_LABEL4:(void)0; +{ /* Inline modelize_property#ASignature#param_names (self) on */ +var6 = self->attrs[COLOR_nit__modelize_property__ASignature___param_names].val; /* _param_names on */ +if (unlikely(var6 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _param_names"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 660); +fatal_exit(1); } +var4 = var6; +RET_LABEL5:(void)0; } -var_n_kwnew = var3; -var7 = NULL; -if (var_n_kwinit == NULL) { -var8 = 0; /* is null */ -} else { -var8 = 1; /* arg is null and recv is not */ } -if (0) { -{ /* Inline kernel#Object#!= (var_n_kwinit,var7) on */ -var_other = var7; +var_param_names = var4; { -var11 = ((short int (*)(val* self, val* p0))(var_n_kwinit->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_kwinit, var_other) /* == on */; +{ /* Inline modelize_property#ASignature#param_types (self) on */ +var9 = self->attrs[COLOR_nit__modelize_property__ASignature___param_types].val; /* _param_types on */ +if (unlikely(var9 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _param_types"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 663); +fatal_exit(1); } -var12 = !var11; -var9 = var12; -goto RET_LABEL10; -RET_LABEL10:(void)0; +var7 = var9; +RET_LABEL8:(void)0; } -var8 = var9; } -var_ = var8; -if (var8){ -var6 = var_; -} else { -var13 = NULL; -if (var_n_kwnew == NULL) { -var14 = 0; /* is null */ -} else { -var14 = 1; /* arg is null and recv is not */ +var_param_types = var7; +{ +{ /* Inline parser_nodes#ASignature#n_params (self) on */ +var12 = self->attrs[COLOR_nit__parser_nodes__ASignature___n_params].val; /* _n_params on */ +if (unlikely(var12 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1693); +fatal_exit(1); } -if (0) { -{ /* Inline kernel#Object#!= (var_n_kwnew,var13) on */ -var_other = var13; +var10 = var12; +RET_LABEL11:(void)0; +} +} +var_ = var10; +{ +var13 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_); +} +var_14 = var13; +for(;;) { { -var17 = ((short int (*)(val* self, val* p0))(var_n_kwnew->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_kwnew, var_other) /* == on */; +var15 = ((short int(*)(val* self))((((long)var_14&3)?class_info[((long)var_14&3)]:var_14->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_14); /* is_ok on */ } -var18 = !var17; -var15 = var18; -goto RET_LABEL16; -RET_LABEL16:(void)0; +if (var15){ +{ +var16 = ((val*(*)(val* self))((((long)var_14&3)?class_info[((long)var_14&3)]:var_14->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_14); /* item on */ +} +var_np = var16; +{ +{ /* Inline parser_nodes#AParam#n_id (var_np) on */ +var19 = var_np->attrs[COLOR_nit__parser_nodes__AParam___n_id].val; /* _n_id on */ +if (unlikely(var19 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1707); +fatal_exit(1); +} +var17 = var19; +RET_LABEL18:(void)0; } -var14 = var15; } -var6 = var14; +{ +var20 = nit__lexer_work___Token___text(var17); } -var_is_init = var6; { -{ /* Inline parser_nodes#AMethPropdef#n_methid (self) on */ -var21 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on */ -var19 = var21; -RET_LABEL20:(void)0; +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_param_names, var20); /* Direct call array#Array#add on */ +} +{ +{ /* Inline parser_nodes#AParam#n_type (var_np) on */ +var23 = var_np->attrs[COLOR_nit__parser_nodes__AParam___n_type].val; /* _n_type on */ +var21 = var23; +RET_LABEL22:(void)0; } } -var_amethodid = var19; -var22 = NULL; -if (var_amethodid == NULL) { -var23 = 1; /* is null */ +var_ntype = var21; +if (var_ntype == NULL) { +var24 = 0; /* is null */ } else { -var23 = 0; /* arg is null but recv is not */ +var24 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_amethodid,var22) on */ -var_other26 = var22; +{ /* Inline kernel#Object#!= (var_ntype,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_amethodid,var_other26) on */ -var29 = var_amethodid == var_other26; -var27 = var29; -goto RET_LABEL28; -RET_LABEL28:(void)0; +var27 = ((short int(*)(val* self, val* p0))(var_ntype->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ntype, var_other); /* == on */ } +var28 = !var27; +var25 = var28; +goto RET_LABEL26; +RET_LABEL26:(void)0; } -var24 = var27; -goto RET_LABEL25; -RET_LABEL25:(void)0; -} -var23 = var24; +var24 = var25; } -if (var23){ -var30 = !var_is_init; -if (var30){ -if (varonce) { -var31 = varonce; -} else { -var32 = "main"; -var33 = 4; -var34 = standard___standard__NativeString___to_s_with_length(var32, var33); -var31 = var34; -varonce = var31; +if (var24){ +{ +var29 = nit___nit__ModelBuilder___resolve_mtype_unchecked(var_modelbuilder, var_mmodule, var_mclassdef, var_ntype, 1); } -var_name = var31; -var_name_node = self; -} else { -var35 = NULL; -if (var_n_kwinit == NULL) { -var36 = 0; /* is null */ +var_mtype = var29; +if (var_mtype == NULL) { +var30 = 1; /* is null */ } else { -var36 = 1; /* arg is null and recv is not */ +var30 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_n_kwinit,var35) on */ -var_other = var35; +{ /* Inline kernel#Object#== (var_mtype,((val*)NULL)) on */ +var_other33 = ((val*)NULL); { -var39 = ((short int (*)(val* self, val* p0))(var_n_kwinit->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_kwinit, var_other) /* == on */; +{ /* Inline kernel#Object#is_same_instance (var_mtype,var_other33) on */ +var36 = var_mtype == var_other33; +var34 = var36; +goto RET_LABEL35; +RET_LABEL35:(void)0; } -var40 = !var39; -var37 = var40; -goto RET_LABEL38; -RET_LABEL38:(void)0; } -var36 = var37; +var31 = var34; +goto RET_LABEL32; +RET_LABEL32:(void)0; } -if (var36){ -if (varonce41) { -var42 = varonce41; -} else { -var43 = "init"; -var44 = 4; -var45 = standard___standard__NativeString___to_s_with_length(var43, var44); -var42 = var45; -varonce41 = var42; +var30 = var31; } -var_name = var42; -var_name_node = var_n_kwinit; -} else { -var46 = NULL; -if (var_n_kwnew == NULL) { -var47 = 0; /* is null */ +if (var30){ +var = 0; +goto RET_LABEL; } else { -var47 = 1; /* arg is null and recv is not */ } -if (0) { -{ /* Inline kernel#Object#!= (var_n_kwnew,var46) on */ -var_other = var46; +var_i = 0l; { -var50 = ((short int (*)(val* self, val* p0))(var_n_kwnew->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_kwnew, var_other) /* == on */; -} -var51 = !var50; -var48 = var51; -goto RET_LABEL49; -RET_LABEL49:(void)0; +{ /* Inline array#AbstractArrayRead#length (var_param_names) on */ +var39 = var_param_names->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ +var37 = var39; +RET_LABEL38:(void)0; } -var47 = var48; } -if (var47){ -if (varonce52) { -var53 = varonce52; -} else { -var54 = "new"; -var55 = 3; -var56 = standard___standard__NativeString___to_s_with_length(var54, var55); -var53 = var56; -varonce52 = var53; +{ +{ /* Inline array#AbstractArrayRead#length (var_param_types) on */ +var42 = var_param_types->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ +var40 = var42; +RET_LABEL41:(void)0; } -var_name = var53; -var_name_node = var_n_kwnew; -} else { -PRINT_ERROR("Runtime error: %s", "Aborted"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 640); -show_backtrace(1); } +{ +{ /* Inline kernel#Int#- (var37,var40) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var45 = 1; /* easy isa OTHER*/ +if (unlikely(!var45)) { +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, 540); +fatal_exit(1); } +var46 = var37 - var40; +var43 = var46; +goto RET_LABEL44; +RET_LABEL44:(void)0; } -} else { -/* isa AIdMethid */ -cltype = type_nit__AIdMethid.color; -idtype = type_nit__AIdMethid.id; -if(cltype >= var_amethodid->type->table_size) { -var57 = 0; -} else { -var57 = var_amethodid->type->type_table[cltype] == idtype; } -if (var57){ +var_47 = var43; +for(;;) { { -{ /* Inline parser_nodes#AIdMethid#n_id (var_amethodid) on */ -var60 = var_amethodid->attrs[COLOR_nit__parser_nodes__AIdMethid___n_id].val; /* _n_id on */ -if (unlikely(var60 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1339); -show_backtrace(1); -} -var58 = var60; -RET_LABEL59:(void)0; +{ /* Inline kernel#Int#< (var_i,var_47) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var50 = 1; /* easy isa OTHER*/ +if (unlikely(!var50)) { +var_class_name53 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name53); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); +} +var54 = var_i < var_47; +var48 = var54; +goto RET_LABEL49; +RET_LABEL49:(void)0; } } +if (var48){ { -var61 = nit__lexer_work___Token___text(var58); +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_param_types, var_mtype); /* Direct call array#Array#add on */ } -var_name = var61; -var_name_node = var_amethodid; -} else { { -var62 = nit__parser_work___Prod___collect_text(var_amethodid); +var55 = standard___standard__Int___Discrete__successor(var_i, 1l); } -var_name = var62; -var_name_node = var_amethodid; -if (varonce64) { -var65 = varonce64; +var_i = var55; } else { -var66 = "-"; -var67 = 1; -var68 = standard___standard__NativeString___to_s_with_length(var66, var67); -var65 = var68; -varonce64 = var65; +goto BREAK_label; } -{ -var69 = ((short int (*)(val* self, val* p0))(var_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_name, var65) /* == on */; } -var_70 = var69; -if (var69){ +BREAK_label: (void)0; { -{ /* Inline parser_nodes#AMethPropdef#n_signature (self) on */ -var73 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on */ -var71 = var73; -RET_LABEL72:(void)0; +{ /* Inline parser_nodes#AParam#n_dotdotdot (var_np) on */ +var58 = var_np->attrs[COLOR_nit__parser_nodes__AParam___n_dotdotdot].val; /* _n_dotdotdot on */ +var56 = var58; +RET_LABEL57:(void)0; } } -if (var71 == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 650); -show_backtrace(1); +if (var56 == NULL) { +var59 = 0; /* is null */ } else { -{ /* Inline parser_nodes#ASignature#n_params (var71) on */ -if (unlikely(var71 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1506); -show_backtrace(1); +var59 = 1; /* arg is null and recv is not */ } -var76 = var71->attrs[COLOR_nit__parser_nodes__ASignature___n_params].val; /* _n_params on */ -if (unlikely(var76 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1506); -show_backtrace(1); +if (0) { +{ /* Inline kernel#Object#!= (var56,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +var62 = ((short int(*)(val* self, val* p0))(var56->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var56, var_other); /* == on */ } -var74 = var76; -RET_LABEL75:(void)0; +var63 = !var62; +var60 = var63; +goto RET_LABEL61; +RET_LABEL61:(void)0; } +var59 = var60; } +if (var59){ { -var77 = nit___nit__ANodes___standard__abstract_collection__Collection__length(var74); +{ /* Inline modelize_property#ASignature#vararg_rank (self) on */ +var66 = self->attrs[COLOR_nit__modelize_property__ASignature___vararg_rank].l; /* _vararg_rank on */ +var64 = var66; +RET_LABEL65:(void)0; +} } -var78 = 0; { -{ /* Inline kernel#Int#== (var77,var78) on */ -var81 = var77 == var78; -var79 = var81; -goto RET_LABEL80; -RET_LABEL80:(void)0; +{ /* Inline kernel#Int#unary - (1l) on <1l:Int> */ +var69 = -1l; +var67 = var69; +goto RET_LABEL68; +RET_LABEL68:(void)0; } } -var63 = var79; +{ +{ /* Inline kernel#Int#!= (var64,var67) on */ +var72 = var64 == var67; +var73 = !var72; +var70 = var73; +goto RET_LABEL71; +RET_LABEL71:(void)0; +} +} +if (var70){ +if (unlikely(varonce==NULL)) { +var74 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce75!=NULL)) { +var76 = varonce75; } else { -var63 = var_70; +var77 = "Error: `"; +var78 = standard___standard__NativeString___to_s_with_length(var77, 8l); +var76 = var78; +varonce75 = var76; } -if (var63){ -if (varonce82) { -var83 = varonce82; +((struct instance_standard__NativeArray*)var74)->values[0]=var76; +if (likely(varonce79!=NULL)) { +var80 = varonce79; } else { -var84 = "unary -"; -var85 = 7; -var86 = standard___standard__NativeString___to_s_with_length(var84, var85); -var83 = var86; -varonce82 = var83; +var81 = "` is already a vararg"; +var82 = standard___standard__NativeString___to_s_with_length(var81, 21l); +var80 = var82; +varonce79 = var80; } -var_name = var83; +((struct instance_standard__NativeArray*)var74)->values[2]=var80; } else { +var74 = varonce; +varonce = NULL; } +{ +{ /* Inline modelize_property#ASignature#vararg_rank (self) on */ +var85 = self->attrs[COLOR_nit__modelize_property__ASignature___vararg_rank].l; /* _vararg_rank on */ +var83 = var85; +RET_LABEL84:(void)0; } } { -var87 = nit__modelize_property___AMethPropdef___look_like_a_root_init(self, var_modelbuilder, var_mclassdef); +var86 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_param_names, var83); } -var_look_like_a_root_init = var87; -var88 = NULL; -var_mprop = var88; -var90 = !var_is_init; -var_91 = var90; -if (var90){ -var89 = var_91; -} else { +((struct instance_standard__NativeArray*)var74)->values[1]=var86; { -{ /* Inline parser_nodes#ADefinition#n_kwredef (self) on */ -var94 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_kwredef].val; /* _n_kwredef on */ -var92 = var94; -RET_LABEL93:(void)0; +var87 = ((val*(*)(val* self))(var74->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var74); /* native_to_s on */ } +varonce = var74; +{ +nit___nit__ModelBuilder___error(var_modelbuilder, var_np, var87); /* Direct call modelbuilder_base#ModelBuilder#error on */ } -var95 = NULL; -if (var92 == NULL) { -var96 = 0; /* is null */ +var = 0; +goto RET_LABEL; } else { -var96 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var92,var95) on */ -var_other = var95; { -var99 = ((short int (*)(val* self, val* p0))(var92->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var92, var_other) /* == on */; +{ /* Inline array#AbstractArrayRead#length (var_param_names) on */ +var90 = var_param_names->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ +var88 = var90; +RET_LABEL89:(void)0; } -var100 = !var99; -var97 = var100; -goto RET_LABEL98; -RET_LABEL98:(void)0; } -var96 = var97; +{ +{ /* Inline kernel#Int#- (var88,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var93 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var93)) { +var_class_name96 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name96); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540); +fatal_exit(1); } -var89 = var96; +var97 = var88 - 1l; +var91 = var97; +goto RET_LABEL92; +RET_LABEL92:(void)0; } -if (var89){ -{ -var101 = nit___nit__ModelBuilder___try_get_mproperty_by_name(var_modelbuilder, var_name_node, var_mclassdef, var_name); } -/* isa nullable MMethod */ -cltype103 = type_nullable__nit__MMethod.color; -idtype104 = type_nullable__nit__MMethod.id; -if(var101 == NULL) { -var102 = 1; -} else { -if(cltype103 >= var101->type->table_size) { -var102 = 0; -} else { -var102 = var101->type->type_table[cltype103] == idtype104; +{ +{ /* Inline modelize_property#ASignature#vararg_rank= (self,var91) on */ +self->attrs[COLOR_nit__modelize_property__ASignature___vararg_rank].l = var91; /* _vararg_rank on */ +RET_LABEL98:(void)0; } } -if (unlikely(!var102)) { -var_class_name = var101 == NULL ? "null" : var101->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 657); -show_backtrace(1); } -var_mprop = var101; } else { } -var106 = NULL; -if (var_mprop == NULL) { -var107 = 1; /* is null */ } else { -var107 = 0; /* arg is null but recv is not */ } -if (0) { -{ /* Inline kernel#Object#== (var_mprop,var106) on */ -var_other26 = var106; { -{ /* Inline kernel#Object#is_same_instance (var_mprop,var_other26) on */ -var112 = var_mprop == var_other26; -var110 = var112; -goto RET_LABEL111; -RET_LABEL111:(void)0; -} -} -var108 = var110; -goto RET_LABEL109; -RET_LABEL109:(void)0; +((void(*)(val* self))((((long)var_14&3)?class_info[((long)var_14&3)]:var_14->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_14); /* next on */ } -var107 = var108; -} -var_113 = var107; -if (var107){ -var105 = var_look_like_a_root_init; } else { -var105 = var_113; +goto BREAK_label99; } -if (var105){ -{ -{ /* Inline modelize_property#ModelBuilder#the_root_init_mmethod (var_modelbuilder) on */ -var116 = var_modelbuilder->attrs[COLOR_nit__modelize_property__ModelBuilder___the_root_init_mmethod].val; /* _the_root_init_mmethod on */ -var114 = var116; -RET_LABEL115:(void)0; } +BREAK_label99: (void)0; +{ +((void(*)(val* self))((((long)var_14&3)?class_info[((long)var_14&3)]:var_14->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_14); /* finish on */ } -var_mprop = var114; { -{ /* Inline parser_nodes#AMethPropdef#n_block (self) on */ -var119 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_block].val; /* _n_block on */ -var117 = var119; -RET_LABEL118:(void)0; +{ /* Inline parser_nodes#ASignature#n_type (self) on */ +var102 = self->attrs[COLOR_nit__parser_nodes__ASignature___n_type].val; /* _n_type on */ +var100 = var102; +RET_LABEL101:(void)0; } } -var_nb = var117; -/* isa ABlockExpr */ -cltype123 = type_nit__ABlockExpr.color; -idtype124 = type_nit__ABlockExpr.id; -if(var_nb == NULL) { -var122 = 0; +var_ntype103 = var100; +if (var_ntype103 == NULL) { +var104 = 0; /* is null */ } else { -if(cltype123 >= var_nb->type->table_size) { -var122 = 0; -} else { -var122 = var_nb->type->type_table[cltype123] == idtype124; -} +var104 = 1; /* arg is null and recv is not */ } -var_125 = var122; -if (var122){ +if (0) { +{ /* Inline kernel#Object#!= (var_ntype103,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline parser_nodes#ABlockExpr#n_expr (var_nb) on */ -var128 = var_nb->attrs[COLOR_nit__parser_nodes__ABlockExpr___n_expr].val; /* _n_expr on */ -if (unlikely(var128 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1565); -show_backtrace(1); +var107 = ((short int(*)(val* self, val* p0))(var_ntype103->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ntype103, var_other); /* == on */ } -var126 = var128; -RET_LABEL127:(void)0; +var108 = !var107; +var105 = var108; +goto RET_LABEL106; +RET_LABEL106:(void)0; } +var104 = var105; } +if (var104){ { -var129 = nit___nit__ANodes___standard__abstract_collection__Collection__is_empty(var126); -} -var121 = var129; -} else { -var121 = var_125; +var109 = nit___nit__ModelBuilder___resolve_mtype_unchecked(var_modelbuilder, var_mmodule, var_mclassdef, var_ntype103, 1); } -var_130 = var121; -if (var121){ { -{ /* Inline parser_nodes#ADefinition#n_doc (self) on */ -var133 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_doc].val; /* _n_doc on */ -var131 = var133; -RET_LABEL132:(void)0; -} +{ /* Inline modelize_property#ASignature#ret_type= (self,var109) on */ +self->attrs[COLOR_nit__modelize_property__ASignature___ret_type].val = var109; /* _ret_type on */ +RET_LABEL110:(void)0; } -var134 = NULL; -if (var131 == NULL) { -var135 = 1; /* is null */ -} else { -var135 = 0; /* arg is null but recv is not */ } -if (0) { -{ /* Inline kernel#Object#== (var131,var134) on */ -var_other26 = var134; { -{ /* Inline kernel#Object#is_same_instance (var131,var_other26) on */ -var140 = var131 == var_other26; -var138 = var140; -goto RET_LABEL139; -RET_LABEL139:(void)0; -} -} -var136 = var138; -goto RET_LABEL137; -RET_LABEL137:(void)0; -} -var135 = var136; -} -var120 = var135; -} else { -var120 = var_130; +{ /* Inline modelize_property#ASignature#ret_type (self) on */ +var113 = self->attrs[COLOR_nit__modelize_property__ASignature___ret_type].val; /* _ret_type on */ +var111 = var113; +RET_LABEL112:(void)0; } -if (var120){ -if (varonce141) { -var142 = varonce141; -} else { -var143 = "useless-init"; -var144 = 12; -var145 = standard___standard__NativeString___to_s_with_length(var143, var144); -var142 = var145; -varonce141 = var142; } -if (varonce146) { -var147 = varonce146; +if (var111 == NULL) { +var114 = 1; /* is null */ } else { -var148 = "Warning: useless empty init in "; -var149 = 31; -var150 = standard___standard__NativeString___to_s_with_length(var148, var149); -var147 = var150; -varonce146 = var147; +var114 = 0; /* arg is null but recv is not */ } -var151 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var151 = array_instance Array[Object] */ -var152 = 2; -var153 = NEW_standard__NativeArray(var152, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var153)->values[0] = (val*) var147; -((struct instance_standard__NativeArray*)var153)->values[1] = (val*) var_mclassdef; +if (0) { +{ /* Inline kernel#Object#== (var111,((val*)NULL)) on */ +var_other33 = ((val*)NULL); { -((void (*)(val* self, val* p0, long p1))(var151->class->vft[COLOR_standard__array__Array__with_native]))(var151, var153, var152) /* with_native on */; -} +{ /* Inline kernel#Object#is_same_instance (var111,var_other33) on */ +var119 = var111 == var_other33; +var117 = var119; +goto RET_LABEL118; +RET_LABEL118:(void)0; } -{ -var154 = ((val* (*)(val* self))(var151->class->vft[COLOR_standard__string__Object__to_s]))(var151) /* to_s on */; } -{ -nit___nit__ModelBuilder___advice(var_modelbuilder, self, var142, var154); /* Direct call modelbuilder_base#ModelBuilder#advice on */ +var115 = var117; +goto RET_LABEL116; +RET_LABEL116:(void)0; } -} else { +var114 = var115; } +if (var114){ +var = 0; +goto RET_LABEL; } else { } -var155 = NULL; -if (var_mprop == NULL) { -var156 = 1; /* is null */ } else { -var156 = 0; /* arg is null but recv is not */ } -if (0) { -{ /* Inline kernel#Object#== (var_mprop,var155) on */ -var_other26 = var155; { -{ /* Inline kernel#Object#is_same_instance (var_mprop,var_other26) on */ -var161 = var_mprop == var_other26; -var159 = var161; -goto RET_LABEL160; -RET_LABEL160:(void)0; -} +{ /* Inline modelize_property#ASignature#is_visited= (self,1) on */ +self->attrs[COLOR_nit__modelize_property__ASignature___is_visited].s = 1; /* _is_visited on */ +RET_LABEL120:(void)0; } -var157 = var159; -goto RET_LABEL158; -RET_LABEL158:(void)0; } -var156 = var157; +var = 1; +goto RET_LABEL; +RET_LABEL:; +return var; } -if (var156){ +/* method modelize_property#ASignature#check_signature for (self: ASignature, ModelBuilder, MClassDef): Bool */ +short int nit__modelize_property___ASignature___check_signature(val* self, val* p0, val* p1) { +short int var /* : Bool */; +val* var_modelbuilder /* var modelbuilder: ModelBuilder */; +val* var_mclassdef /* var mclassdef: MClassDef */; +short int var_res /* var res: Bool */; +val* var1 /* : ANodes[AParam] */; +val* var3 /* : ANodes[AParam] */; +val* var_ /* var : ANodes[AParam] */; +val* var4 /* : Iterator[ANode] */; +val* var_5 /* var : Iterator[AParam] */; +short int var6 /* : Bool */; +val* var7 /* : nullable Object */; +val* var_np /* var np: AParam */; +val* var8 /* : nullable AType */; +val* var10 /* : nullable AType */; +val* var_ntype /* var ntype: nullable AType */; +short int var11 /* : Bool */; +short int var12 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var14 /* : Bool */; +short int var15 /* : Bool */; +val* var16 /* : MModule */; +val* var18 /* : MModule */; +val* var19 /* : nullable MType */; +short int var20 /* : Bool */; +short int var21 /* : Bool */; +val* var_other23 /* var other: nullable Object */; +short int var24 /* : Bool */; +short int var26 /* : Bool */; +val* var27 /* : nullable AType */; +val* var29 /* : nullable AType */; +val* var_ntype30 /* var ntype: nullable AType */; +short int var31 /* : Bool */; +short int var32 /* : Bool */; +short int var34 /* : Bool */; +short int var35 /* : Bool */; +val* var36 /* : MModule */; +val* var38 /* : MModule */; +val* var39 /* : nullable MType */; +short int var40 /* : Bool */; +short int var41 /* : Bool */; +short int var43 /* : Bool */; +short int var45 /* : Bool */; +var_modelbuilder = p0; +var_mclassdef = p1; +var_res = 1; { -{ /* Inline parser_nodes#ADefinition#n_visibility (self) on */ -var164 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_visibility].val; /* _n_visibility on */ -var162 = var164; -RET_LABEL163:(void)0; -} +{ /* Inline parser_nodes#ASignature#n_params (self) on */ +var3 = self->attrs[COLOR_nit__parser_nodes__ASignature___n_params].val; /* _n_params on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1693); +fatal_exit(1); } -{ -var165 = nit__modelize_property___APropdef___new_property_visibility(self, var_modelbuilder, var_mclassdef, var162); +var1 = var3; +RET_LABEL2:(void)0; } -var_mvisibility = var165; -var166 = NEW_nit__MMethod(&type_nit__MMethod); -{ -((void (*)(val* self, val* p0))(var166->class->vft[COLOR_nit__model__MProperty__intro_mclassdef_61d]))(var166, var_mclassdef) /* intro_mclassdef= on */; } +var_ = var1; { -((void (*)(val* self, val* p0))(var166->class->vft[COLOR_nit__model__MProperty__name_61d]))(var166, var_name) /* name= on */; +var4 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_); } +var_5 = var4; +for(;;) { { -((void (*)(val* self, val* p0))(var166->class->vft[COLOR_nit__model__MProperty__visibility_61d]))(var166, var_mvisibility) /* visibility= on */; +var6 = ((short int(*)(val* self))((((long)var_5&3)?class_info[((long)var_5&3)]:var_5->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_5); /* is_ok on */ } +if (var6){ { -((void (*)(val* self))(var166->class->vft[COLOR_standard__kernel__Object__init]))(var166) /* init on */; +var7 = ((val*(*)(val* self))((((long)var_5&3)?class_info[((long)var_5&3)]:var_5->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_5); /* item on */ } -var_mprop = var166; -var_168 = var_look_like_a_root_init; -if (var_look_like_a_root_init){ +var_np = var7; { -{ /* Inline modelize_property#ModelBuilder#the_root_init_mmethod (var_modelbuilder) on */ -var171 = var_modelbuilder->attrs[COLOR_nit__modelize_property__ModelBuilder___the_root_init_mmethod].val; /* _the_root_init_mmethod on */ -var169 = var171; -RET_LABEL170:(void)0; +{ /* Inline parser_nodes#AParam#n_type (var_np) on */ +var10 = var_np->attrs[COLOR_nit__parser_nodes__AParam___n_type].val; /* _n_type on */ +var8 = var10; +RET_LABEL9:(void)0; } } -var172 = NULL; -if (var169 == NULL) { -var173 = 1; /* is null */ +var_ntype = var8; +if (var_ntype == NULL) { +var11 = 0; /* is null */ } else { -var173 = 0; /* arg is null but recv is not */ +var11 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var169,var172) on */ -var_other26 = var172; +{ /* Inline kernel#Object#!= (var_ntype,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var169,var_other26) on */ -var178 = var169 == var_other26; -var176 = var178; -goto RET_LABEL177; -RET_LABEL177:(void)0; +var14 = ((short int(*)(val* self, val* p0))(var_ntype->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ntype, var_other); /* == on */ +} +var15 = !var14; +var12 = var15; +goto RET_LABEL13; +RET_LABEL13:(void)0; } +var11 = var12; } -var174 = var176; -goto RET_LABEL175; -RET_LABEL175:(void)0; +if (var11){ +{ +{ /* Inline model#MClassDef#mmodule (var_mclassdef) on */ +var18 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var18 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550); +fatal_exit(1); } -var173 = var174; +var16 = var18; +RET_LABEL17:(void)0; } -var167 = var173; -} else { -var167 = var_168; } -if (var167){ { -{ /* Inline modelize_property#ModelBuilder#the_root_init_mmethod= (var_modelbuilder,var_mprop) on */ -var_modelbuilder->attrs[COLOR_nit__modelize_property__ModelBuilder___the_root_init_mmethod].val = var_mprop; /* _the_root_init_mmethod on */ -RET_LABEL179:(void)0; +var19 = nit___nit__ModelBuilder___resolve_mtype(var_modelbuilder, var16, var_mclassdef, var_ntype); } +if (var19 == NULL) { +var20 = 1; /* is null */ +} else { +var20 = 0; /* arg is null but recv is not */ } -var180 = 1; +if (0) { +{ /* Inline kernel#Object#== (var19,((val*)NULL)) on */ +var_other23 = ((val*)NULL); { -{ /* Inline model#MMethod#is_root_init= (var_mprop,var180) on */ -var_mprop->attrs[COLOR_nit__model__MMethod___is_root_init].s = var180; /* _is_root_init on */ -RET_LABEL181:(void)0; +{ /* Inline kernel#Object#is_same_instance (var19,var_other23) on */ +var26 = var19 == var_other23; +var24 = var26; +goto RET_LABEL25; +RET_LABEL25:(void)0; } } -} else { +var21 = var24; +goto RET_LABEL22; +RET_LABEL22:(void)0; } -{ -{ /* Inline model#MMethod#is_init= (var_mprop,var_is_init) on */ -var_mprop->attrs[COLOR_nit__model__MMethod___is_init].s = var_is_init; /* _is_init on */ -RET_LABEL182:(void)0; +var20 = var21; } +if (var20){ +var_res = 0; +} else { } -var183 = NULL; -if (var_n_kwnew == NULL) { -var184 = 0; /* is null */ } else { -var184 = 1; /* arg is null and recv is not */ } -if (0) { -{ /* Inline kernel#Object#!= (var_n_kwnew,var183) on */ -var_other = var183; { -var187 = ((short int (*)(val* self, val* p0))(var_n_kwnew->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_kwnew, var_other) /* == on */; +((void(*)(val* self))((((long)var_5&3)?class_info[((long)var_5&3)]:var_5->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_5); /* next on */ } -var188 = !var187; -var185 = var188; -goto RET_LABEL186; -RET_LABEL186:(void)0; +} else { +goto BREAK_label; } -var184 = var185; } +BREAK_label: (void)0; { -{ /* Inline model#MMethod#is_new= (var_mprop,var184) on */ -var_mprop->attrs[COLOR_nit__model__MMethod___is_new].s = var184; /* _is_new on */ -RET_LABEL189:(void)0; -} +((void(*)(val* self))((((long)var_5&3)?class_info[((long)var_5&3)]:var_5->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_5); /* finish on */ } { -{ /* Inline parser_nodes#ANode#parent (self) on */ -var192 = self->attrs[COLOR_nit__parser_nodes__ANode___parent].val; /* _parent on */ -var190 = var192; -RET_LABEL191:(void)0; +{ /* Inline parser_nodes#ASignature#n_type (self) on */ +var29 = self->attrs[COLOR_nit__parser_nodes__ASignature___n_type].val; /* _n_type on */ +var27 = var29; +RET_LABEL28:(void)0; } } -/* isa ATopClassdef */ -cltype194 = type_nit__ATopClassdef.color; -idtype195 = type_nit__ATopClassdef.id; -if(var190 == NULL) { -var193 = 0; +var_ntype30 = var27; +if (var_ntype30 == NULL) { +var31 = 0; /* is null */ } else { -if(cltype194 >= var190->type->table_size) { -var193 = 0; -} else { -var193 = var190->type->type_table[cltype194] == idtype195; -} +var31 = 1; /* arg is null and recv is not */ } -if (var193){ -var196 = 1; +if (0) { +{ /* Inline kernel#Object#!= (var_ntype30,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline model#MMethod#is_toplevel= (var_mprop,var196) on */ -var_mprop->attrs[COLOR_nit__model__MMethod___is_toplevel].s = var196; /* _is_toplevel on */ -RET_LABEL197:(void)0; +var34 = ((short int(*)(val* self, val* p0))(var_ntype30->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ntype30, var_other); /* == on */ } +var35 = !var34; +var32 = var35; +goto RET_LABEL33; +RET_LABEL33:(void)0; } -} else { +var31 = var32; } +if (var31){ { -{ /* Inline parser_nodes#ADefinition#n_kwredef (self) on */ -var200 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_kwredef].val; /* _n_kwredef on */ -var198 = var200; -RET_LABEL199:(void)0; +{ /* Inline model#MClassDef#mmodule (var_mclassdef) on */ +var38 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var38 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550); +fatal_exit(1); +} +var36 = var38; +RET_LABEL37:(void)0; } } -var201 = 0; { -var202 = nit__modelize_property___APropdef___check_redef_keyword(self, var_modelbuilder, var_mclassdef, var198, var201, var_mprop); +var39 = nit___nit__ModelBuilder___resolve_mtype(var_modelbuilder, var36, var_mclassdef, var_ntype30); } +if (var39 == NULL) { +var40 = 1; /* is null */ } else { +var40 = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel#Object#== (var39,((val*)NULL)) on */ +var_other23 = ((val*)NULL); { -{ /* Inline parser_nodes#ADefinition#n_kwredef (self) on */ -var205 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_kwredef].val; /* _n_kwredef on */ -var203 = var205; -RET_LABEL204:(void)0; +{ /* Inline kernel#Object#is_same_instance (var39,var_other23) on */ +var45 = var39 == var_other23; +var43 = var45; +goto RET_LABEL44; +RET_LABEL44:(void)0; +} +} +var41 = var43; +goto RET_LABEL42; +RET_LABEL42:(void)0; } +var40 = var41; } -/* isa AMainMethPropdef */ -cltype207 = type_nit__AMainMethPropdef.color; -idtype208 = type_nit__AMainMethPropdef.id; -if(cltype207 >= self->type->table_size) { -var206 = 0; +if (var40){ +var_res = 0; } else { -var206 = self->type->type_table[cltype207] == idtype208; } -var209 = !var206; -{ -var210 = nit__modelize_property___APropdef___check_redef_keyword(self, var_modelbuilder, var_mclassdef, var203, var209, var_mprop); +} else { } -var211 = !var210; -if (var211){ +var = var_res; goto RET_LABEL; -} else { +RET_LABEL:; +return var; } -{ -{ /* Inline parser_nodes#ADefinition#n_visibility (self) on */ -var214 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_visibility].val; /* _n_visibility on */ -var212 = var214; -RET_LABEL213:(void)0; +/* method modelize_property#AParam#mparameter= for (self: AParam, nullable MParameter) */ +void nit__modelize_property___AParam___mparameter_61d(val* self, val* p0) { +self->attrs[COLOR_nit__modelize_property__AParam___mparameter].val = p0; /* _mparameter on */ +RET_LABEL:; +} +/* method modelize_property#AMethPropdef#is_autoinit for (self: AMethPropdef): Bool */ +short int nit__modelize_property___AMethPropdef___is_autoinit(val* self) { +short int var /* : Bool */; +short int var1 /* : Bool */; +var1 = self->attrs[COLOR_nit__modelize_property__AMethPropdef___is_autoinit].s; /* _is_autoinit on */ +var = var1; +RET_LABEL:; +return var; } +/* method modelize_property#AMethPropdef#is_autoinit= for (self: AMethPropdef, Bool) */ +void nit__modelize_property___AMethPropdef___is_autoinit_61d(val* self, short int p0) { +self->attrs[COLOR_nit__modelize_property__AMethPropdef___is_autoinit].s = p0; /* _is_autoinit on */ +RET_LABEL:; } +/* method modelize_property#AMethPropdef#look_like_a_root_init for (self: AMethPropdef, ModelBuilder, MClassDef): Bool */ +short int nit__modelize_property___AMethPropdef___look_like_a_root_init(val* self, val* p0, val* p1) { +short int var /* : Bool */; +val* var_modelbuilder /* var modelbuilder: ModelBuilder */; +val* var_mclassdef /* var mclassdef: MClassDef */; +val* var1 /* : nullable TKwinit */; +val* var3 /* : nullable TKwinit */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var7 /* : Bool */; +short int var9 /* : Bool */; +val* var10 /* : nullable AMethid */; +val* var12 /* : nullable AMethid */; +short int var13 /* : Bool */; +short int var14 /* : Bool */; +val* var_other16 /* var other: nullable Object */; +short int var17 /* : Bool */; +short int var18 /* : Bool */; +static val* varonce; +val* var19 /* : String */; +char* var20 /* : NativeString */; +val* var21 /* : FlatString */; +val* var22 /* : nullable AAnnotation */; +short int var23 /* : Bool */; +short int var24 /* : Bool */; +short int var26 /* : Bool */; +short int var27 /* : Bool */; +val* var28 /* : nullable ANode */; +val* var30 /* : nullable ANode */; +val* var31 /* : nullable ANode */; +val* var33 /* : nullable ANode */; +short int var34 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +val* var_amod /* var amod: AModule */; +val* var35 /* : nullable AModuledecl */; +val* var37 /* : nullable AModuledecl */; +val* var_amoddecl /* var amoddecl: nullable AModuledecl */; +short int var38 /* : Bool */; +short int var39 /* : Bool */; +short int var41 /* : Bool */; +short int var42 /* : Bool */; +static val* varonce43; +val* var44 /* : String */; +char* var45 /* : NativeString */; +val* var46 /* : FlatString */; +val* var47 /* : nullable AAnnotation */; +val* var_old /* var old: nullable AAnnotation */; +short int var48 /* : Bool */; +short int var49 /* : Bool */; +short int var51 /* : Bool */; +short int var52 /* : Bool */; +val* var53 /* : nullable ASignature */; +val* var55 /* : nullable ASignature */; +val* var56 /* : ANodes[AParam] */; +val* var58 /* : ANodes[AParam] */; +long var59 /* : Int */; +short int var60 /* : Bool */; +short int var62 /* : Bool */; +int cltype63; +int idtype64; +const char* var_class_name65; +short int var66 /* : Bool */; +static val* varonce67; +val* var68 /* : String */; +char* var69 /* : NativeString */; +val* var70 /* : FlatString */; +val* var72 /* : NativeArray[String] */; +static val* varonce71; +static val* varonce73; +val* var74 /* : String */; +char* var75 /* : NativeString */; +val* var76 /* : FlatString */; +val* var77 /* : String */; +val* var78 /* : String */; +val* var79 /* : nullable AVisibility */; +val* var81 /* : nullable AVisibility */; +short int var82 /* : Bool */; +int cltype83; +int idtype84; +short int var85 /* : Bool */; +static val* varonce86; +val* var87 /* : String */; +char* var88 /* : NativeString */; +val* var89 /* : FlatString */; +val* var91 /* : NativeArray[String] */; +static val* varonce90; +static val* varonce92; +val* var93 /* : String */; +char* var94 /* : NativeString */; +val* var95 /* : FlatString */; +val* var96 /* : String */; +val* var97 /* : String */; +var_modelbuilder = p0; +var_mclassdef = p1; { -nit__modelize_property___APropdef___check_redef_property_visibility(self, var_modelbuilder, var212, var_mprop); /* Direct call modelize_property#APropdef#check_redef_property_visibility on */ +{ /* Inline parser_nodes#AMethPropdef#n_kwinit (self) on */ +var3 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_kwinit].val; /* _n_kwinit on */ +var1 = var3; +RET_LABEL2:(void)0; } } -if (var_is_init){ +if (var1 == NULL) { +var4 = 1; /* is null */ +} else { +var4 = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel#Object#== (var1,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline modelize_property#MClassDef#mprop2npropdef (var_mclassdef) on */ -var217 = var_mclassdef->attrs[COLOR_nit__modelize_property__MClassDef___mprop2npropdef].val; /* _mprop2npropdef on */ -if (unlikely(var217 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 352); -show_backtrace(1); +{ /* Inline kernel#Object#is_same_instance (var1,var_other) on */ +var9 = var1 == var_other; +var7 = var9; +goto RET_LABEL8; +RET_LABEL8:(void)0; } -var215 = var217; -RET_LABEL216:(void)0; } +var5 = var7; +goto RET_LABEL6; +RET_LABEL6:(void)0; } -var_218 = var215; -{ -var219 = ((val* (*)(val* self))(var_218->class->vft[COLOR_standard__abstract_collection__MapRead__iterator]))(var_218) /* iterator on */; +var4 = var5; } -var_220 = var219; -for(;;) { -{ -var221 = ((short int (*)(val* self))(var_220->class->vft[COLOR_standard__abstract_collection__MapIterator__is_ok]))(var_220) /* is_ok on */; +if (var4){ +var = 0; +goto RET_LABEL; +} else { } -if (var221){ { -var222 = ((val* (*)(val* self))(var_220->class->vft[COLOR_standard__abstract_collection__MapIterator__key]))(var_220) /* key on */; +{ /* Inline parser_nodes#AMethPropdef#n_methid (self) on */ +var12 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on */ +var10 = var12; +RET_LABEL11:(void)0; } -var_p = var222; -{ -var223 = ((val* (*)(val* self))(var_220->class->vft[COLOR_standard__abstract_collection__MapIterator__item]))(var_220) /* item on */; } -var_n = var223; -{ -{ /* Inline kernel#Object#!= (var_p,var_mprop) on */ -var_other = var_mprop; +if (var10 == NULL) { +var13 = 0; /* is null */ +} else { +var13 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var10,((val*)NULL)) on */ +var_other16 = ((val*)NULL); { -var228 = ((short int (*)(val* self, val* p0))(var_p->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_p, var_other) /* == on */; +var17 = ((short int(*)(val* self, val* p0))(var10->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var10, var_other16); /* == on */ } -var229 = !var228; -var226 = var229; -goto RET_LABEL227; -RET_LABEL227:(void)0; +var18 = !var17; +var14 = var18; +goto RET_LABEL15; +RET_LABEL15:(void)0; } +var13 = var14; } -var_230 = var226; -if (var226){ -/* isa MMethod */ -cltype232 = type_nit__MMethod.color; -idtype233 = type_nit__MMethod.id; -if(cltype232 >= var_p->type->table_size) { -var231 = 0; +if (var13){ +var = 0; +goto RET_LABEL; } else { -var231 = var_p->type->type_table[cltype232] == idtype233; } -var225 = var231; +if (likely(varonce!=NULL)) { +var19 = varonce; } else { -var225 = var_230; -} -var_234 = var225; -if (var225){ -{ -{ /* Inline model#MProperty#name (var_p) on */ -var237 = var_p->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ -if (unlikely(var237 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1741); -show_backtrace(1); -} -var235 = var237; -RET_LABEL236:(void)0; -} +var20 = "old_style_init"; +var21 = standard___standard__NativeString___to_s_with_length(var20, 14l); +var19 = var21; +varonce = var19; } { -var238 = ((short int (*)(val* self, val* p0))(var235->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var235, var_name) /* == on */; +var22 = nit__annotation___Prod___get_single_annotation(self, var19, var_modelbuilder); } -var224 = var238; +if (var22 == NULL) { +var23 = 0; /* is null */ } else { -var224 = var_234; +var23 = 1; /* arg is null and recv is not */ } -if (var224){ +if (0) { +{ /* Inline kernel#Object#!= (var22,((val*)NULL)) on */ +var_other16 = ((val*)NULL); { -{ /* Inline parser_nodes#ADefinition#n_kwredef (self) on */ -var241 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_kwredef].val; /* _n_kwredef on */ -var239 = var241; -RET_LABEL240:(void)0; +var26 = ((short int(*)(val* self, val* p0))(var22->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var22, var_other16); /* == on */ } +var27 = !var26; +var24 = var27; +goto RET_LABEL25; +RET_LABEL25:(void)0; } -var242 = 0; -{ -var243 = nit__modelize_property___APropdef___check_redef_keyword(self, var_modelbuilder, var_mclassdef, var239, var242, var_p); +var23 = var24; } -goto BREAK_label; +if (var23){ +var = 0; +goto RET_LABEL; } else { } { -((void (*)(val* self))(var_220->class->vft[COLOR_standard__abstract_collection__MapIterator__next]))(var_220) /* next on */; +{ /* Inline parser_nodes#ANode#parent (self) on */ +var30 = self->attrs[COLOR_nit__parser_nodes__ANode___parent].val; /* _parent on */ +var28 = var30; +RET_LABEL29:(void)0; } -} else { -goto BREAK_label; } +if (var28 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 749); +fatal_exit(1); +} else { +{ /* Inline parser_nodes#ANode#parent (var28) on */ +if (unlikely(var28 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46); +fatal_exit(1); } -BREAK_label: (void)0; -{ -{ /* Inline abstract_collection#MapIterator#finish (var_220) on */ -RET_LABEL244:(void)0; +var33 = var28->attrs[COLOR_nit__parser_nodes__ANode___parent].val; /* _parent on */ +var31 = var33; +RET_LABEL32:(void)0; } } +/* isa AModule */ +cltype = type_nit__AModule.color; +idtype = type_nit__AModule.id; +if(var31 == NULL) { +var34 = 0; +} else { +if(cltype >= var31->type->table_size) { +var34 = 0; } else { +var34 = var31->type->type_table[cltype] == idtype; } +} +if (unlikely(!var34)) { +var_class_name = var31 == NULL ? "null" : var31->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AModule", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 749); +fatal_exit(1); +} +var_amod = var31; { -{ /* Inline modelize_property#MClassDef#mprop2npropdef (var_mclassdef) on */ -var247 = var_mclassdef->attrs[COLOR_nit__modelize_property__MClassDef___mprop2npropdef].val; /* _mprop2npropdef on */ -if (unlikely(var247 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mprop2npropdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 352); -show_backtrace(1); +{ /* Inline parser_nodes#AModule#n_moduledecl (var_amod) on */ +var37 = var_amod->attrs[COLOR_nit__parser_nodes__AModule___n_moduledecl].val; /* _n_moduledecl on */ +var35 = var37; +RET_LABEL36:(void)0; } -var245 = var247; -RET_LABEL246:(void)0; } +var_amoddecl = var35; +if (var_amoddecl == NULL) { +var38 = 0; /* is null */ +} else { +var38 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_amoddecl,((val*)NULL)) on */ +var_other16 = ((val*)NULL); { -((void (*)(val* self, val* p0, val* p1))(var245->class->vft[COLOR_standard__abstract_collection__Map___91d_93d_61d]))(var245, var_mprop, self) /* []= on */; +var41 = ((short int(*)(val* self, val* p0))(var_amoddecl->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_amoddecl, var_other16); /* == on */ } -var248 = NEW_nit__MMethodDef(&type_nit__MMethodDef); -{ -{ /* Inline parser_nodes#ANode#location (self) on */ -var251 = self->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ -if (unlikely(var251 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 23); -show_backtrace(1); +var42 = !var41; +var39 = var42; +goto RET_LABEL40; +RET_LABEL40:(void)0; } -var249 = var251; -RET_LABEL250:(void)0; +var38 = var39; } +if (var38){ +if (likely(varonce43!=NULL)) { +var44 = varonce43; +} else { +var45 = "old_style_init"; +var46 = standard___standard__NativeString___to_s_with_length(var45, 14l); +var44 = var46; +varonce43 = var44; } { -((void (*)(val* self, val* p0))(var248->class->vft[COLOR_nit__model__MPropDef__mclassdef_61d]))(var248, var_mclassdef) /* mclassdef= on */; +var47 = nit__annotation___Prod___get_single_annotation(var_amoddecl, var44, var_modelbuilder); } -{ -((void (*)(val* self, val* p0))(var248->class->vft[COLOR_nit__model__MPropDef__mproperty_61d]))(var248, var_mprop) /* mproperty= on */; +var_old = var47; +if (var_old == NULL) { +var48 = 0; /* is null */ +} else { +var48 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_old,((val*)NULL)) on */ +var_other16 = ((val*)NULL); { -((void (*)(val* self, val* p0))(var248->class->vft[COLOR_nit__model__MPropDef__location_61d]))(var248, var249) /* location= on */; +var51 = ((short int(*)(val* self, val* p0))(var_old->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_old, var_other16); /* == on */ } -{ -((void (*)(val* self))(var248->class->vft[COLOR_standard__kernel__Object__init]))(var248) /* init on */; +var52 = !var51; +var49 = var52; +goto RET_LABEL50; +RET_LABEL50:(void)0; } -var_mpropdef = var248; -{ -nit__modelize_property___APropdef___set_doc(self, var_mpropdef, var_modelbuilder); /* Direct call modelize_property#APropdef#set_doc on */ +var48 = var49; } -/* isa nullable MPROPDEF */ -type_struct = self->type->resolution_table->types[COLOR_nullable__nit__modelize_property__APropdef__MPROPDEF]; -cltype253 = type_struct->color; -idtype254 = type_struct->id; -if(cltype253 >= var_mpropdef->type->table_size) { -var252 = 0; +if (var48){ +var = 0; +goto RET_LABEL; } else { -var252 = var_mpropdef->type->type_table[cltype253] == idtype254; } -if (unlikely(!var252)) { -var_class_name255 = var_mpropdef == NULL ? "null" : var_mpropdef->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name255); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 697); -show_backtrace(1); -} -{ -{ /* Inline modelize_property#APropdef#mpropdef= (self,var_mpropdef) on */ -/* Covariant cast for argument 0 (mpropdef) isa nullable MPROPDEF */ -/* isa nullable MPROPDEF */ -type_struct260 = self->type->resolution_table->types[COLOR_nullable__nit__modelize_property__APropdef__MPROPDEF]; -cltype258 = type_struct260->color; -idtype259 = type_struct260->id; -if(cltype258 >= var_mpropdef->type->table_size) { -var257 = 0; } else { -var257 = var_mpropdef->type->type_table[cltype258] == idtype259; } -if (unlikely(!var257)) { -var_class_name261 = var_mpropdef == NULL ? "null" : var_mpropdef->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name261); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 405); -show_backtrace(1); +{ +{ /* Inline parser_nodes#AMethPropdef#n_signature (self) on */ +var55 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on */ +var53 = var55; +RET_LABEL54:(void)0; } -self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val = var_mpropdef; /* _mpropdef on */ -RET_LABEL256:(void)0; } +if (var53 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 756); +fatal_exit(1); +} else { +{ /* Inline parser_nodes#ASignature#n_params (var53) on */ +if (unlikely(var53 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1693); +fatal_exit(1); } -{ -{ /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on */ -var264 = var_modelbuilder->attrs[COLOR_nit__modelize_property__ModelBuilder___mpropdef2npropdef].val; /* _mpropdef2npropdef on */ -if (unlikely(var264 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelize_property, 40); -show_backtrace(1); +var58 = var53->attrs[COLOR_nit__parser_nodes__ASignature___n_params].val; /* _n_params on */ +if (unlikely(var58 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1693); +fatal_exit(1); } -var262 = var264; -RET_LABEL263:(void)0; +var56 = var58; +RET_LABEL57:(void)0; } } { -standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var262, var_mpropdef, self); /* Direct call hash_collection#HashMap#[]= on */ +var59 = nit___nit__ANodes___standard__abstract_collection__Collection__length(var56); } { -var265 = nit___nit__MPropDef___is_intro(var_mpropdef); +{ /* Inline kernel#Int#> (var59,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var62 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var62)) { +var_class_name65 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name65); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536); +fatal_exit(1); +} +var66 = var59 > 0l; +var60 = var66; +goto RET_LABEL61; +RET_LABEL61:(void)0; } -if (var265){ -{ -{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var_modelbuilder) on */ -var268 = var_modelbuilder->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var268 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); } -var266 = var268; -RET_LABEL267:(void)0; +if (var60){ +if (likely(varonce67!=NULL)) { +var68 = varonce67; +} else { +var69 = "old-init"; +var70 = standard___standard__NativeString___to_s_with_length(var69, 8l); +var68 = var70; +varonce67 = var68; } +if (unlikely(varonce71==NULL)) { +var72 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String); +if (likely(varonce73!=NULL)) { +var74 = varonce73; +} else { +var75 = "Warning: init with signature in "; +var76 = standard___standard__NativeString___to_s_with_length(var75, 32l); +var74 = var76; +varonce73 = var74; } -if (varonce269) { -var270 = varonce269; +((struct instance_standard__NativeArray*)var72)->values[0]=var74; } else { -var271 = " introduces new method "; -var272 = 23; -var273 = standard___standard__NativeString___to_s_with_length(var271, var272); -var270 = var273; -varonce269 = var270; +var72 = varonce71; +varonce71 = NULL; } { -var274 = nit___nit__MProperty___nit__model_base__MEntity__full_name(var_mprop); +var77 = ((val*(*)(val* self))(var_mclassdef->class->vft[COLOR_standard__string__Object__to_s]))(var_mclassdef); /* to_s on */ } -var275 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var275 = array_instance Array[Object] */ -var276 = 3; -var277 = NEW_standard__NativeArray(var276, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var277)->values[0] = (val*) var_mpropdef; -((struct instance_standard__NativeArray*)var277)->values[1] = (val*) var270; -((struct instance_standard__NativeArray*)var277)->values[2] = (val*) var274; +((struct instance_standard__NativeArray*)var72)->values[1]=var77; { -((void (*)(val* self, val* p0, long p1))(var275->class->vft[COLOR_standard__array__Array__with_native]))(var275, var277, var276) /* with_native on */; -} +var78 = ((val*(*)(val* self))(var72->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var72); /* native_to_s on */ } +varonce71 = var72; { -var278 = ((val* (*)(val* self))(var275->class->vft[COLOR_standard__string__Object__to_s]))(var275) /* to_s on */; +nit___nit__ModelBuilder___advice(var_modelbuilder, self, var68, var78); /* Direct call modelbuilder_base#ModelBuilder#advice on */ +} +var = 0; +goto RET_LABEL; +} else { } -var279 = 4; { -nit___nit__ToolContext___info(var266, var278, var279); /* Direct call toolcontext#ToolContext#info on */ +{ /* Inline parser_nodes#ADefinition#n_visibility (self) on */ +var81 = self->attrs[COLOR_nit__parser_nodes__ADefinition___n_visibility].val; /* _n_visibility on */ +var79 = var81; +RET_LABEL80:(void)0; +} } +/* isa APublicVisibility */ +cltype83 = type_nit__APublicVisibility.color; +idtype84 = type_nit__APublicVisibility.id; +if(var79 == NULL) { +var82 = 0; } else { -{ -{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var_modelbuilder) on */ -var282 = var_modelbuilder->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var282 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +if(cltype83 >= var79->type->table_size) { +var82 = 0; +} else { +var82 = var79->type->type_table[cltype83] == idtype84; } -var280 = var282; -RET_LABEL281:(void)0; } +var85 = !var82; +if (var85){ +if (likely(varonce86!=NULL)) { +var87 = varonce86; +} else { +var88 = "old-init"; +var89 = standard___standard__NativeString___to_s_with_length(var88, 8l); +var87 = var89; +varonce86 = var87; } -if (varonce283) { -var284 = varonce283; +if (unlikely(varonce90==NULL)) { +var91 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String); +if (likely(varonce92!=NULL)) { +var93 = varonce92; } else { -var285 = " redefines method "; -var286 = 18; -var287 = standard___standard__NativeString___to_s_with_length(var285, var286); -var284 = var287; -varonce283 = var284; +var94 = "Warning: non-public init in "; +var95 = standard___standard__NativeString___to_s_with_length(var94, 28l); +var93 = var95; +varonce92 = var93; } -{ -var288 = nit___nit__MProperty___nit__model_base__MEntity__full_name(var_mprop); +((struct instance_standard__NativeArray*)var91)->values[0]=var93; +} else { +var91 = varonce90; +varonce90 = NULL; } -var289 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var289 = array_instance Array[Object] */ -var290 = 3; -var291 = NEW_standard__NativeArray(var290, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var291)->values[0] = (val*) var_mpropdef; -((struct instance_standard__NativeArray*)var291)->values[1] = (val*) var284; -((struct instance_standard__NativeArray*)var291)->values[2] = (val*) var288; { -((void (*)(val* self, val* p0, long p1))(var289->class->vft[COLOR_standard__array__Array__with_native]))(var289, var291, var290) /* with_native on */; -} +var96 = ((val*(*)(val* self))(var_mclassdef->class->vft[COLOR_standard__string__Object__to_s]))(var_mclassdef); /* to_s on */ } +((struct instance_standard__NativeArray*)var91)->values[1]=var96; { -var292 = ((val* (*)(val* self))(var289->class->vft[COLOR_standard__string__Object__to_s]))(var289) /* to_s on */; +var97 = ((val*(*)(val* self))(var91->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var91); /* native_to_s on */ } -var293 = 4; +varonce90 = var91; { -nit___nit__ToolContext___info(var280, var292, var293); /* Direct call toolcontext#ToolContext#info on */ +nit___nit__ModelBuilder___advice(var_modelbuilder, self, var87, var97); /* Direct call modelbuilder_base#ModelBuilder#advice on */ } +var = 0; +goto RET_LABEL; +} else { } +var = 1; +goto RET_LABEL; RET_LABEL:; +return var; }