X-Git-Url: http://nitlanguage.org diff --git a/c_src/modelize_property.sep.1.c b/c_src/modelize_property.sep.1.c index e19fbc4..d3e547a 100644 --- a/c_src/modelize_property.sep.1.c +++ b/c_src/modelize_property.sep.1.c @@ -158,7 +158,7 @@ goto RET_LABEL; } var6 = ((val* (*)(val*))(var_mclassdef->class->vft[COLOR_model__MClassDef__in_hierarchy]))(var_mclassdef) /* in_hierarchy on */; if (var6 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 50); show_backtrace(1); } else { @@ -509,7 +509,7 @@ goto RET_LABEL; } var19 = ((val* (*)(val*))(var_nclassdef->class->vft[COLOR_modelize_class__AClassdef__mclassdef]))(var_nclassdef) /* mclassdef on */; if (var19 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 86); show_backtrace(1); } else { @@ -539,7 +539,7 @@ goto CONTINUE_label31; } var32 = ((val* (*)(val*))(var_nclassdef->class->vft[COLOR_modelize_class__AClassdef__mclassdef]))(var_nclassdef) /* mclassdef on */; if (var32 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 93); show_backtrace(1); } else { @@ -587,7 +587,7 @@ if (var45){ var46 = ((val* (*)(val*))(var_candidate->class->vft[COLOR_model__MProperty__intro]))(var_candidate) /* intro on */; var47 = ((val* (*)(val*))(var46->class->vft[COLOR_model__MMethodDef__msignature]))(var46) /* msignature on */; if (var47 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 95); show_backtrace(1); } else { @@ -873,7 +873,7 @@ goto RET_LABEL; } var161 = ((val* (*)(val*))(var_npropdef->class->vft[COLOR_modelize_property__APropdef__mpropdef]))(var_npropdef) /* mpropdef on */; if (var161 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 137); show_backtrace(1); } else { @@ -885,7 +885,7 @@ var165 = ((val* (*)(val*, long))(var163->class->vft[COLOR_string__AbstractString var_paramname = var165; var166 = ((val* (*)(val*))(var_npropdef->class->vft[COLOR_modelize_property__APropdef__mpropdef]))(var_npropdef) /* mpropdef on */; if (var166 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 138); show_backtrace(1); } else { @@ -997,6 +997,67 @@ void VIRTUAL_modelize_property__MClass__inherit_init_from_61d(val* self, val* p0 modelize_property__MClass__inherit_init_from_61d(self, p0); RET_LABEL:; } +/* method modelize_property#MClassDef#propdef_names for (self: MClassDef): HashSet[String] */ +val* modelize_property__MClassDef__propdef_names(val* self) { +val* var /* : HashSet[String] */; +val* var1 /* : HashSet[String] */; +var1 = self->attrs[COLOR_modelize_property__MClassDef___64dpropdef_names].val; /* @propdef_names on */ +if (var1 == NULL) { +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @propdef_names"); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 162); +show_backtrace(1); +} +var = var1; +RET_LABEL:; +return var; +} +/* method modelize_property#MClassDef#propdef_names for (self: Object): HashSet[String] */ +val* VIRTUAL_modelize_property__MClassDef__propdef_names(val* self) { +val* var /* : HashSet[String] */; +val* var1 /* : HashSet[String] */; +var1 = modelize_property__MClassDef__propdef_names(self); +var = var1; +RET_LABEL:; +return var; +} +/* method modelize_property#MClassDef#propdef_names= for (self: MClassDef, HashSet[String]) */ +void modelize_property__MClassDef__propdef_names_61d(val* self, val* p0) { +self->attrs[COLOR_modelize_property__MClassDef___64dpropdef_names].val = p0; /* @propdef_names on */ +RET_LABEL:; +} +/* method modelize_property#MClassDef#propdef_names= for (self: Object, HashSet[String]) */ +void VIRTUAL_modelize_property__MClassDef__propdef_names_61d(val* self, val* p0) { +modelize_property__MClassDef__propdef_names_61d(self, p0); +RET_LABEL:; +} +/* method modelize_property#MPropDef#has_supercall for (self: MPropDef): Bool */ +short int modelize_property__MPropDef__has_supercall(val* self) { +short int var /* : Bool */; +short int var1 /* : Bool */; +var1 = self->attrs[COLOR_modelize_property__MPropDef___64dhas_supercall].s; /* @has_supercall on */ +var = var1; +RET_LABEL:; +return var; +} +/* method modelize_property#MPropDef#has_supercall for (self: Object): Bool */ +short int VIRTUAL_modelize_property__MPropDef__has_supercall(val* self) { +short int var /* : Bool */; +short int var1 /* : Bool */; +var1 = modelize_property__MPropDef__has_supercall(self); +var = var1; +RET_LABEL:; +return var; +} +/* method modelize_property#MPropDef#has_supercall= for (self: MPropDef, Bool) */ +void modelize_property__MPropDef__has_supercall_61d(val* self, short int p0) { +self->attrs[COLOR_modelize_property__MPropDef___64dhas_supercall].s = p0; /* @has_supercall on */ +RET_LABEL:; +} +/* method modelize_property#MPropDef#has_supercall= for (self: Object, Bool) */ +void VIRTUAL_modelize_property__MPropDef__has_supercall_61d(val* self, short int p0) { +modelize_property__MPropDef__has_supercall_61d(self, p0); +RET_LABEL:; +} /* method modelize_property#AClassdef#build_properties_is_done for (self: AClassdef): Bool */ short int modelize_property__AClassdef__build_properties_is_done(val* self) { short int var /* : Bool */; @@ -1088,7 +1149,7 @@ val* var1 /* : Map[MProperty, APropdef] */; var1 = self->attrs[COLOR_modelize_property__AClassdef___64dmprop2npropdef].val; /* @mprop2npropdef on */ if (var1 == NULL) { fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @mprop2npropdef"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 170); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 180); show_backtrace(1); } var = var1; @@ -1144,7 +1205,7 @@ varonce = var3; var7 = ((short int (*)(val*, val*))(var2->class->vft[COLOR_kernel__Object___33d_61d]))(var2, var3) /* != on */; if (!var7) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 182); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 192); show_backtrace(1); } var8 = ((val* (*)(val*))(var_v->class->vft[COLOR_modelize_property__TextCollectorVisitor__text]))(var_v) /* text on */; @@ -1169,7 +1230,7 @@ val* var1 /* : String */; var1 = self->attrs[COLOR_modelize_property__TextCollectorVisitor___64dtext].val; /* @text on */ if (var1 == NULL) { fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @text"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 189); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 199); show_backtrace(1); } var = var1; @@ -1267,7 +1328,7 @@ 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_parser_nodes__APropdef_VTMPROPDEF]; +type_struct = self->type->resolution_table->types[COLOR_nullable_parser_nodes__APropdef_VTMPROPDEF]; cltype = type_struct->color; idtype = type_struct->id; if(p0 == NULL) { @@ -1282,7 +1343,7 @@ var = p0->type->type_table[cltype] == idtype; if (!var) { var_class_name = p0 == NULL ? "null" : p0->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 201); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 211); show_backtrace(1); } self->attrs[COLOR_modelize_property__APropdef___64dmpropdef].val = p0; /* @mpropdef on */ @@ -1298,7 +1359,7 @@ void modelize_property__APropdef__build_property(val* self, val* p0, val* p1) { const char* var_class_name; var_class_name = self == NULL ? "null" : self->type->name; fprintf(stderr, "Runtime error: Abstract method `%s` called on `%s`", "build_property", var_class_name); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 204); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 214); show_backtrace(1); RET_LABEL:; } @@ -1312,7 +1373,7 @@ void modelize_property__APropdef__build_signature(val* self, val* p0, val* p1) { const char* var_class_name; var_class_name = self == NULL ? "null" : self->type->name; fprintf(stderr, "Runtime error: Abstract method `%s` called on `%s`", "build_signature", var_class_name); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 205); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 215); show_backtrace(1); RET_LABEL:; } @@ -1326,7 +1387,7 @@ void modelize_property__APropdef__check_signature(val* self, val* p0, val* p1) { const char* var_class_name; var_class_name = self == NULL ? "null" : self->type->name; fprintf(stderr, "Runtime error: Abstract method `%s` called on `%s`", "check_signature", var_class_name); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 206); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 216); show_backtrace(1); RET_LABEL:; } @@ -1408,8 +1469,8 @@ var_mvisibility = var11; } var12 = ((val* (*)(val*))(var_nclassdef->class->vft[COLOR_modelize_class__AClassdef__mclassdef]))(var_nclassdef) /* mclassdef on */; if (var12 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 217); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 227); show_backtrace(1); } else { var13 = ((val* (*)(val*))(var12->class->vft[COLOR_model__MClassDef__mclass]))(var12) /* mclass on */; @@ -1429,7 +1490,7 @@ var20 = 1; /* arg is null and recv is not */ } if (!var20) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 219); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 229); show_backtrace(1); } if (varonce21) { @@ -1454,7 +1515,7 @@ var29 = 1; /* arg is null and recv is not */ } if (!var29) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 222); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 232); show_backtrace(1); } } else { @@ -1686,8 +1747,8 @@ varonce7 = var8; } var12 = ((val* (*)(val*))(var_nclassdef->class->vft[COLOR_modelize_class__AClassdef__mclassdef]))(var_nclassdef) /* mclassdef on */; if (var12 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 243); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 253); show_backtrace(1); } else { var13 = ((val* (*)(val*))(var12->class->vft[COLOR_model__MClassDef__mclass]))(var12) /* mclass on */; @@ -1738,8 +1799,8 @@ varonce26 = var27; } var31 = ((val* (*)(val*))(var_nclassdef->class->vft[COLOR_modelize_class__AClassdef__mclassdef]))(var_nclassdef) /* mclassdef on */; if (var31 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 248); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 258); show_backtrace(1); } else { var32 = ((val* (*)(val*))(var31->class->vft[COLOR_model__MClassDef__mclass]))(var31) /* mclass on */; @@ -1795,8 +1856,8 @@ varonce50 = var51; } var55 = ((val* (*)(val*))(var_nclassdef->class->vft[COLOR_modelize_class__AClassdef__mclassdef]))(var_nclassdef) /* mclassdef on */; if (var55 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 253); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 263); show_backtrace(1); } else { var56 = ((val* (*)(val*))(var55->class->vft[COLOR_model__MClassDef__mclass]))(var55) /* mclass on */; @@ -1889,7 +1950,7 @@ val* var1 /* : Array[String] */; var1 = self->attrs[COLOR_modelize_property__ASignature___64dparam_names].val; /* @param_names on */ if (var1 == NULL) { fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @param_names"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 265); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 275); show_backtrace(1); } var = var1; @@ -1922,7 +1983,7 @@ val* var1 /* : Array[MType] */; var1 = self->attrs[COLOR_modelize_property__ASignature___64dparam_types].val; /* @param_types on */ if (var1 == NULL) { fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @param_types"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 268); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 278); show_backtrace(1); } var = var1; @@ -2578,37 +2639,77 @@ val* var88 /* : Map[MProperty, APropdef] */; val* var89 /* : MMethodDef */; val* var90 /* : Location */; val* var_mpropdef /* var mpropdef: MMethodDef */; -short int var91 /* : Bool */; -int cltype92; -int idtype93; -const struct type* type_struct; -const char* var_class_name94; -val* var95 /* : HashMap[MPropDef, APropdef] */; -short int var96 /* : Bool */; -val* var97 /* : ToolContext */; -static val* varonce98; -val* var99 /* : String */; -char* var100 /* : NativeString */; -long var101 /* : Int */; -val* var102 /* : String */; -val* var103 /* : String */; -val* var104 /* : Array[Object] */; -long var105 /* : Int */; -val* var106 /* : NativeArray[Object] */; +val* var91 /* : HashSet[String] */; +val* var92 /* : String */; +short int var93 /* : Bool */; +val* var94 /* : null */; +val* var_loc /* var loc: nullable Location */; +val* var95 /* : Array[MPropDef] */; +val* var96 /* : Iterator[nullable Object] */; +short int var97 /* : Bool */; +val* var98 /* : nullable Object */; +val* var_i /* var i: MPropDef */; +val* var99 /* : MProperty */; +val* var100 /* : String */; +val* var101 /* : String */; +short int var102 /* : Bool */; +val* var103 /* : Location */; +val* var104 /* : null */; +short int var105 /* : Bool */; +static val* varonce106; val* var107 /* : String */; -long var108 /* : Int */; -val* var109 /* : ToolContext */; -static val* varonce110; -val* var111 /* : String */; -char* var112 /* : NativeString */; -long var113 /* : Int */; -val* var114 /* : String */; +char* var108 /* : NativeString */; +long var109 /* : Int */; +val* var110 /* : String */; +static val* varonce111; +val* var112 /* : String */; +char* var113 /* : NativeString */; +long var114 /* : Int */; val* var115 /* : String */; -val* var116 /* : Array[Object] */; -long var117 /* : Int */; -val* var118 /* : NativeArray[Object] */; -val* var119 /* : String */; +val* var116 /* : MClass */; +static val* varonce117; +val* var118 /* : String */; +char* var119 /* : NativeString */; long var120 /* : Int */; +val* var121 /* : String */; +val* var122 /* : Array[Object] */; +long var123 /* : Int */; +val* var124 /* : NativeArray[Object] */; +val* var125 /* : String */; +val* var126 /* : HashSet[String] */; +val* var127 /* : MProperty */; +val* var128 /* : String */; +short int var129 /* : Bool */; +int cltype130; +int idtype131; +const struct type* type_struct; +const char* var_class_name132; +val* var133 /* : HashMap[MPropDef, APropdef] */; +short int var134 /* : Bool */; +val* var135 /* : ToolContext */; +static val* varonce136; +val* var137 /* : String */; +char* var138 /* : NativeString */; +long var139 /* : Int */; +val* var140 /* : String */; +val* var141 /* : String */; +val* var142 /* : Array[Object] */; +long var143 /* : Int */; +val* var144 /* : NativeArray[Object] */; +val* var145 /* : String */; +long var146 /* : Int */; +val* var147 /* : ToolContext */; +static val* varonce148; +val* var149 /* : String */; +char* var150 /* : NativeString */; +long var151 /* : Int */; +val* var152 /* : String */; +val* var153 /* : String */; +val* var154 /* : Array[Object] */; +long var155 /* : Int */; +val* var156 /* : NativeArray[Object] */; +val* var157 /* : String */; +long var158 /* : Int */; var_modelbuilder = p0; var_nclassdef = p1; /* isa AInitPropdef */ @@ -2623,7 +2724,7 @@ var_is_init = var; var1 = ((val* (*)(val*))(var_nclassdef->class->vft[COLOR_modelize_class__AClassdef__mclassdef]))(var_nclassdef) /* mclassdef on */; if (var1 == NULL) { fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 343); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 353); show_backtrace(1); } var_mclassdef = var1; @@ -2702,7 +2803,7 @@ var29 = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__AExternInitPropde var_name_node = var29; } else { fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 358); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 368); show_backtrace(1); } } @@ -2740,8 +2841,8 @@ var36 = 0; } else { var43 = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__AMethPropdef__n_signature]))(self) /* n_signature on */; if (var43 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 368); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 378); show_backtrace(1); } else { var44 = ((val* (*)(val*))(var43->class->vft[COLOR_parser_nodes__ASignature__n_params]))(var43) /* n_params on */; @@ -2804,7 +2905,7 @@ var62 = var61->type->type_table[cltype63] == idtype64; if (!var62) { var_class_name = var61 == NULL ? "null" : var61->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 374); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 384); show_backtrace(1); } var_mprop = var61; @@ -2880,73 +2981,160 @@ var89 = NEW_model__MMethodDef(&type_model__MMethodDef); var90 = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__ANode__location]))(self) /* location on */; ((void (*)(val*, val*, val*, val*))(var89->class->vft[COLOR_model__MMethodDef__init]))(var89, var_mclassdef, var_mprop, var90) /* init on */; var_mpropdef = var89; -/* isa nullable MPROPDEF */ -type_struct = self->type->resolution_table->types[COLOR_parser_nodes__APropdef_VTMPROPDEF]; -cltype92 = type_struct->color; -idtype93 = type_struct->id; -if(cltype92 >= var_mpropdef->type->table_size) { -var91 = 0; -} else { -var91 = var_mpropdef->type->type_table[cltype92] == idtype93; -} -if (!var91) { -var_class_name94 = var_mpropdef == NULL ? "null" : var_mpropdef->type->name; -fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name94); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 395); -show_backtrace(1); +var91 = ((val* (*)(val*))(var_mclassdef->class->vft[COLOR_modelize_property__MClassDef__propdef_names]))(var_mclassdef) /* propdef_names on */; +var92 = ((val* (*)(val*))(var_mprop->class->vft[COLOR_model__MProperty__name]))(var_mprop) /* name on */; +var93 = ((short int (*)(val*, val*))(var91->class->vft[COLOR_abstract_collection__Collection__has]))(var91, var92) /* has on */; +if (var93){ +var94 = NULL; +var_loc = var94; +var95 = ((val* (*)(val*))(var_mclassdef->class->vft[COLOR_model__MClassDef__mpropdefs]))(var_mclassdef) /* mpropdefs on */; +var96 = ((val* (*)(val*))(var95->class->vft[COLOR_abstract_collection__Collection__iterator]))(var95) /* iterator on */; +for(;;) { +var97 = ((short int (*)(val*))(var96->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var96) /* is_ok on */; +if(!var97) break; +var98 = ((val* (*)(val*))(var96->class->vft[COLOR_abstract_collection__Iterator__item]))(var96) /* item on */; +var_i = var98; +var99 = ((val* (*)(val*))(var_i->class->vft[COLOR_model__MPropDef__mproperty]))(var_i) /* mproperty on */; +var100 = ((val* (*)(val*))(var99->class->vft[COLOR_model__MProperty__name]))(var99) /* name on */; +var101 = ((val* (*)(val*))(var_mprop->class->vft[COLOR_model__MProperty__name]))(var_mprop) /* name on */; +var102 = ((short int (*)(val*, val*))(var100->class->vft[COLOR_kernel__Object___61d_61d]))(var100, var101) /* == on */; +if (var102){ +var103 = ((val* (*)(val*))(var_i->class->vft[COLOR_model__MPropDef__location]))(var_i) /* location on */; +var_loc = var103; +goto BREAK_label; +} else { } -((void (*)(val*, val*))(self->class->vft[COLOR_modelize_property__APropdef__mpropdef_61d]))(self, var_mpropdef) /* mpropdef= on */; -var95 = ((val* (*)(val*))(var_modelbuilder->class->vft[COLOR_modelize_property__ModelBuilder__mpropdef2npropdef]))(var_modelbuilder) /* mpropdef2npropdef on */; -((void (*)(val*, val*, val*))(var95->class->vft[COLOR_abstract_collection__Map___91d_93d_61d]))(var95, var_mpropdef, self) /* []= on */; -var96 = ((short int (*)(val*))(var_mpropdef->class->vft[COLOR_model__MPropDef__is_intro]))(var_mpropdef) /* is_intro on */; -if (var96){ -var97 = ((val* (*)(val*))(var_modelbuilder->class->vft[COLOR_modelbuilder__ModelBuilder__toolcontext]))(var_modelbuilder) /* toolcontext on */; -if (varonce98) { -var99 = varonce98; -} else { -var100 = " introduces new method "; -var101 = 23; -var102 = string__NativeString__to_s_with_length(var100, var101); -var99 = var102; -varonce98 = var99; -} -var103 = ((val* (*)(val*))(var_mprop->class->vft[COLOR_model__MProperty__full_name]))(var_mprop) /* full_name on */; -var104 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var104 = array_instance Array[Object] */ -var105 = 3; -var106 = NEW_array__NativeArray(var105, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var106)->values[0] = (val*) var_mpropdef; -((struct instance_array__NativeArray*)var106)->values[1] = (val*) var99; -((struct instance_array__NativeArray*)var106)->values[2] = (val*) var103; -((void (*)(val*, val*, long))(var104->class->vft[COLOR_array__Array__with_native]))(var104, var106, var105) /* with_native on */; -} -var107 = ((val* (*)(val*))(var104->class->vft[COLOR_string__Object__to_s]))(var104) /* to_s on */; -var108 = 3; -((void (*)(val*, val*, long))(var97->class->vft[COLOR_toolcontext__ToolContext__info]))(var97, var107, var108) /* info on */; -} else { -var109 = ((val* (*)(val*))(var_modelbuilder->class->vft[COLOR_modelbuilder__ModelBuilder__toolcontext]))(var_modelbuilder) /* toolcontext on */; -if (varonce110) { -var111 = varonce110; +CONTINUE_label: (void)0; +((void (*)(val*))(var96->class->vft[COLOR_abstract_collection__Iterator__next]))(var96) /* next on */; +} +BREAK_label: (void)0; +var104 = NULL; +if (var_loc == NULL) { +var105 = 1; /* is null */ +} else { +var105 = 0; /* arg is null but recv is not */ +} +if (var105){ +fprintf(stderr, "Runtime error: %s", "Aborted"); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 413); +show_backtrace(1); } else { -var112 = " redefines method "; -var113 = 18; -var114 = string__NativeString__to_s_with_length(var112, var113); -var111 = var114; -varonce110 = var111; } -var115 = ((val* (*)(val*))(var_mprop->class->vft[COLOR_model__MProperty__full_name]))(var_mprop) /* full_name on */; -var116 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var116 = array_instance Array[Object] */ -var117 = 3; -var118 = NEW_array__NativeArray(var117, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var118)->values[0] = (val*) var_mpropdef; -((struct instance_array__NativeArray*)var118)->values[1] = (val*) var111; -((struct instance_array__NativeArray*)var118)->values[2] = (val*) var115; -((void (*)(val*, val*, long))(var116->class->vft[COLOR_array__Array__with_native]))(var116, var118, var117) /* with_native on */; +if (varonce106) { +var107 = varonce106; +} else { +var108 = "Error: a property "; +var109 = 18; +var110 = string__NativeString__to_s_with_length(var108, var109); +var107 = var110; +varonce106 = var107; +} +if (varonce111) { +var112 = varonce111; +} else { +var113 = " is already defined in class "; +var114 = 29; +var115 = string__NativeString__to_s_with_length(var113, var114); +var112 = var115; +varonce111 = var112; +} +var116 = ((val* (*)(val*))(var_mclassdef->class->vft[COLOR_model__MClassDef__mclass]))(var_mclassdef) /* mclass on */; +if (varonce117) { +var118 = varonce117; +} else { +var119 = " at "; +var120 = 4; +var121 = string__NativeString__to_s_with_length(var119, var120); +var118 = var121; +varonce117 = var118; +} +var122 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var122 = array_instance Array[Object] */ +var123 = 6; +var124 = NEW_array__NativeArray(var123, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var124)->values[0] = (val*) var107; +((struct instance_array__NativeArray*)var124)->values[1] = (val*) var_mprop; +((struct instance_array__NativeArray*)var124)->values[2] = (val*) var112; +((struct instance_array__NativeArray*)var124)->values[3] = (val*) var116; +((struct instance_array__NativeArray*)var124)->values[4] = (val*) var118; +((struct instance_array__NativeArray*)var124)->values[5] = (val*) var_loc; +((void (*)(val*, val*, long))(var122->class->vft[COLOR_array__Array__with_native]))(var122, var124, var123) /* with_native on */; +} +var125 = ((val* (*)(val*))(var122->class->vft[COLOR_string__Object__to_s]))(var122) /* to_s on */; +((void (*)(val*, val*, val*))(var_modelbuilder->class->vft[COLOR_modelbuilder__ModelBuilder__error]))(var_modelbuilder, self, var125) /* error on */; +} else { +} +var126 = ((val* (*)(val*))(var_mclassdef->class->vft[COLOR_modelize_property__MClassDef__propdef_names]))(var_mclassdef) /* propdef_names on */; +var127 = ((val* (*)(val*))(var_mpropdef->class->vft[COLOR_model__MPropDef__mproperty]))(var_mpropdef) /* mproperty on */; +var128 = ((val* (*)(val*))(var127->class->vft[COLOR_model__MProperty__name]))(var127) /* name on */; +((void (*)(val*, val*))(var126->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var126, var128) /* add on */; +/* isa nullable MPROPDEF */ +type_struct = self->type->resolution_table->types[COLOR_nullable_parser_nodes__APropdef_VTMPROPDEF]; +cltype130 = type_struct->color; +idtype131 = type_struct->id; +if(cltype130 >= var_mpropdef->type->table_size) { +var129 = 0; +} else { +var129 = var_mpropdef->type->type_table[cltype130] == idtype131; +} +if (!var129) { +var_class_name132 = var_mpropdef == NULL ? "null" : var_mpropdef->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name132); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 419); +show_backtrace(1); } -var119 = ((val* (*)(val*))(var116->class->vft[COLOR_string__Object__to_s]))(var116) /* to_s on */; -var120 = 3; -((void (*)(val*, val*, long))(var109->class->vft[COLOR_toolcontext__ToolContext__info]))(var109, var119, var120) /* info on */; +((void (*)(val*, val*))(self->class->vft[COLOR_modelize_property__APropdef__mpropdef_61d]))(self, var_mpropdef) /* mpropdef= on */; +var133 = ((val* (*)(val*))(var_modelbuilder->class->vft[COLOR_modelize_property__ModelBuilder__mpropdef2npropdef]))(var_modelbuilder) /* mpropdef2npropdef on */; +((void (*)(val*, val*, val*))(var133->class->vft[COLOR_abstract_collection__Map___91d_93d_61d]))(var133, var_mpropdef, self) /* []= on */; +var134 = ((short int (*)(val*))(var_mpropdef->class->vft[COLOR_model__MPropDef__is_intro]))(var_mpropdef) /* is_intro on */; +if (var134){ +var135 = ((val* (*)(val*))(var_modelbuilder->class->vft[COLOR_modelbuilder__ModelBuilder__toolcontext]))(var_modelbuilder) /* toolcontext on */; +if (varonce136) { +var137 = varonce136; +} else { +var138 = " introduces new method "; +var139 = 23; +var140 = string__NativeString__to_s_with_length(var138, var139); +var137 = var140; +varonce136 = var137; +} +var141 = ((val* (*)(val*))(var_mprop->class->vft[COLOR_model__MProperty__full_name]))(var_mprop) /* full_name on */; +var142 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var142 = array_instance Array[Object] */ +var143 = 3; +var144 = NEW_array__NativeArray(var143, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var144)->values[0] = (val*) var_mpropdef; +((struct instance_array__NativeArray*)var144)->values[1] = (val*) var137; +((struct instance_array__NativeArray*)var144)->values[2] = (val*) var141; +((void (*)(val*, val*, long))(var142->class->vft[COLOR_array__Array__with_native]))(var142, var144, var143) /* with_native on */; +} +var145 = ((val* (*)(val*))(var142->class->vft[COLOR_string__Object__to_s]))(var142) /* to_s on */; +var146 = 3; +((void (*)(val*, val*, long))(var135->class->vft[COLOR_toolcontext__ToolContext__info]))(var135, var145, var146) /* info on */; +} else { +var147 = ((val* (*)(val*))(var_modelbuilder->class->vft[COLOR_modelbuilder__ModelBuilder__toolcontext]))(var_modelbuilder) /* toolcontext on */; +if (varonce148) { +var149 = varonce148; +} else { +var150 = " redefines method "; +var151 = 18; +var152 = string__NativeString__to_s_with_length(var150, var151); +var149 = var152; +varonce148 = var149; +} +var153 = ((val* (*)(val*))(var_mprop->class->vft[COLOR_model__MProperty__full_name]))(var_mprop) /* full_name on */; +var154 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var154 = array_instance Array[Object] */ +var155 = 3; +var156 = NEW_array__NativeArray(var155, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var156)->values[0] = (val*) var_mpropdef; +((struct instance_array__NativeArray*)var156)->values[1] = (val*) var149; +((struct instance_array__NativeArray*)var156)->values[2] = (val*) var153; +((void (*)(val*, val*, long))(var154->class->vft[COLOR_array__Array__with_native]))(var154, var156, var155) /* with_native on */; +} +var157 = ((val* (*)(val*))(var154->class->vft[COLOR_string__Object__to_s]))(var154) /* to_s on */; +var158 = 3; +((void (*)(val*, val*, long))(var147->class->vft[COLOR_toolcontext__ToolContext__info]))(var147, var157, var158) /* info on */; } RET_LABEL:; } @@ -3326,8 +3514,8 @@ var72 = ((short int (*)(val*))(var71->class->vft[COLOR_model__MMethod__is_init]) if (var72){ var73 = ((val* (*)(val*))(var_nclassdef->class->vft[COLOR_modelize_class__AClassdef__mclassdef]))(var_nclassdef) /* mclassdef on */; if (var73 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 440); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 464); show_backtrace(1); } else { var74 = ((val* (*)(val*))(var73->class->vft[COLOR_model__MClassDef__supertypes]))(var73) /* supertypes on */; @@ -3340,8 +3528,8 @@ var77 = ((val* (*)(val*))(var75->class->vft[COLOR_abstract_collection__Iterator_ var_msupertype = var77; var78 = ((val* (*)(val*))(var_nclassdef->class->vft[COLOR_modelize_class__AClassdef__mclassdef]))(var_nclassdef) /* mclassdef on */; if (var78 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 441); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 465); show_backtrace(1); } else { var79 = ((val* (*)(val*))(var78->class->vft[COLOR_model__MClassDef__bound_mtype]))(var78) /* bound_mtype on */; @@ -3378,7 +3566,7 @@ var89 = var88->type->type_table[cltype] == idtype; if (!var89) { var_class_name = var88 == NULL ? "null" : var88->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MMethodDef", var_class_name); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 445); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 469); show_backtrace(1); } var90 = ((val* (*)(val*))(var88->class->vft[COLOR_model__MMethodDef__msignature]))(var88) /* msignature on */; @@ -3498,8 +3686,8 @@ RET_LABEL132:(void)0; } if (var131){ if (var_nsig == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 467); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 491); show_backtrace(1); } else { var135 = ((val* (*)(val*))(var_nsig->class->vft[COLOR_parser_nodes__ASignature__n_params]))(var_nsig) /* n_params on */; @@ -3717,38 +3905,52 @@ val* var91 /* : String */; char* var92 /* : NativeString */; long var93 /* : Int */; val* var94 /* : String */; -val* var95 /* : Array[Object] */; -long var96 /* : Int */; -val* var97 /* : NativeArray[Object] */; +val* var95 /* : MProperty */; +val* var96 /* : MPropDef */; +static val* varonce97; val* var98 /* : String */; -val* var99 /* : null */; -short int var100 /* : Bool */; -val* var101 /* : null */; -short int var102 /* : Bool */; -val* var103 /* : nullable MClassDef */; -val* var104 /* : MClassType */; -short int var105 /* : Bool */; -short int var106 /* : Bool */; -val* var107 /* : nullable AType */; -static val* varonce108; -val* var109 /* : String */; -char* var110 /* : NativeString */; -long var111 /* : Int */; -val* var112 /* : String */; -static val* varonce113; -val* var114 /* : String */; -char* var115 /* : NativeString */; -long var116 /* : Int */; -val* var117 /* : String */; -static val* varonce118; +char* var99 /* : NativeString */; +long var100 /* : Int */; +val* var101 /* : String */; +val* var102 /* : Array[Object] */; +long var103 /* : Int */; +val* var104 /* : NativeArray[Object] */; +val* var105 /* : String */; +val* var106 /* : null */; +short int var107 /* : Bool */; +val* var108 /* : null */; +short int var109 /* : Bool */; +val* var110 /* : nullable MClassDef */; +val* var111 /* : MClassType */; +short int var112 /* : Bool */; +short int var113 /* : Bool */; +val* var114 /* : nullable AType */; +static val* varonce115; +val* var116 /* : String */; +char* var117 /* : NativeString */; +long var118 /* : Int */; val* var119 /* : String */; -char* var120 /* : NativeString */; -long var121 /* : Int */; -val* var122 /* : String */; -val* var123 /* : Array[Object] */; -long var124 /* : Int */; -val* var125 /* : NativeArray[Object] */; +static val* varonce120; +val* var121 /* : String */; +char* var122 /* : NativeString */; +long var123 /* : Int */; +val* var124 /* : String */; +static val* varonce125; val* var126 /* : String */; +char* var127 /* : NativeString */; +long var128 /* : Int */; +val* var129 /* : String */; +val* var130 /* : MProperty */; +val* var131 /* : MPropDef */; +static val* varonce132; +val* var133 /* : String */; +char* var134 /* : NativeString */; +long var135 /* : Int */; +val* var136 /* : String */; +val* var137 /* : Array[Object] */; +long var138 /* : Int */; +val* var139 /* : NativeArray[Object] */; +val* var140 /* : String */; var_modelbuilder = p0; var_nclassdef = p1; var = ((val* (*)(val*))(self->class->vft[COLOR_modelize_property__APropdef__mpropdef]))(self) /* mpropdef on */; @@ -3770,8 +3972,8 @@ var5 = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__AMethPropdef__n_si var_nsig = var5; var6 = ((val* (*)(val*))(self->class->vft[COLOR_modelize_property__APropdef__mpropdef]))(self) /* mpropdef on */; if (var6 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 489); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 513); show_backtrace(1); } else { var7 = ((val* (*)(val*))(var6->class->vft[COLOR_model__MMethodDef__msignature]))(var6) /* msignature on */; @@ -3828,15 +4030,15 @@ var19 = var_; } if (var19){ if (var_nsig == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 501); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 525); show_backtrace(1); } else { var24 = ((val* (*)(val*))(var_nsig->class->vft[COLOR_parser_nodes__ASignature__n_type]))(var_nsig) /* n_type on */; } if (var24 == NULL) { fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 501); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 525); show_backtrace(1); } if (varonce) { @@ -3881,7 +4083,7 @@ var43 = 1; /* easy isa OTHER*/ if (!var43) { var_class_name = type_kernel__Int.name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 263); +fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 267); show_backtrace(1); } var44 = var39 > var40; @@ -3913,8 +4115,8 @@ var59 = ((val* (*)(val*))(var58->class->vft[COLOR_model__MParameter__mtype]))(va var_prt = var59; var61 = ((val* (*)(val*))(var_nclassdef->class->vft[COLOR_modelize_class__AClassdef__mclassdef]))(var_nclassdef) /* mclassdef on */; if (var61 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 510); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 534); show_backtrace(1); } else { var62 = ((val* (*)(val*))(var61->class->vft[COLOR_model__MClassDef__bound_mtype]))(var61) /* bound_mtype on */; @@ -3923,10 +4125,12 @@ var63 = ((short int (*)(val*, val*, val*, val*))(var_myt->class->vft[COLOR_model var64 = !var63; var_65 = var64; if (var64){ +var60 = var_65; +} else { var66 = ((val* (*)(val*))(var_nclassdef->class->vft[COLOR_modelize_class__AClassdef__mclassdef]))(var_nclassdef) /* mclassdef on */; if (var66 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 511); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 535); show_backtrace(1); } else { var67 = ((val* (*)(val*))(var66->class->vft[COLOR_model__MClassDef__bound_mtype]))(var66) /* bound_mtype on */; @@ -3934,13 +4138,11 @@ var67 = ((val* (*)(val*))(var66->class->vft[COLOR_model__MClassDef__bound_mtype] var68 = ((short int (*)(val*, val*, val*, val*))(var_prt->class->vft[COLOR_model__MType__is_subtype]))(var_prt, var_mmodule, var67, var_myt) /* is_subtype on */; var69 = !var68; var60 = var69; -} else { -var60 = var_65; } if (var60){ if (var_nsig == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 512); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 536); show_backtrace(1); } else { var70 = ((val* (*)(val*))(var_nsig->class->vft[COLOR_parser_nodes__ASignature__n_params]))(var_nsig) /* n_params on */; @@ -3979,27 +4181,40 @@ varonce85 = var86; if (varonce90) { var91 = varonce90; } else { -var92 = "."; -var93 = 1; +var92 = " as in "; +var93 = 7; var94 = string__NativeString__to_s_with_length(var92, var93); var91 = var94; varonce90 = var91; } -var95 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var95 = array_instance Array[Object] */ -var96 = 7; -var97 = NEW_array__NativeArray(var96, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var97)->values[0] = (val*) var73; -((struct instance_array__NativeArray*)var97)->values[1] = (val*) var79; -((struct instance_array__NativeArray*)var97)->values[2] = (val*) var81; -((struct instance_array__NativeArray*)var97)->values[3] = (val*) var_myt; -((struct instance_array__NativeArray*)var97)->values[4] = (val*) var86; -((struct instance_array__NativeArray*)var97)->values[5] = (val*) var_prt; -((struct instance_array__NativeArray*)var97)->values[6] = (val*) var91; -((void (*)(val*, val*, long))(var95->class->vft[COLOR_array__Array__with_native]))(var95, var97, var96) /* with_native on */; -} -var98 = ((val* (*)(val*))(var95->class->vft[COLOR_string__Object__to_s]))(var95) /* to_s on */; -((void (*)(val*, val*, val*))(var_modelbuilder->class->vft[COLOR_modelbuilder__ModelBuilder__error]))(var_modelbuilder, var71, var98) /* error on */; +var95 = ((val* (*)(val*))(var_mpropdef->class->vft[COLOR_model__MPropDef__mproperty]))(var_mpropdef) /* mproperty on */; +var96 = ((val* (*)(val*))(var95->class->vft[COLOR_model__MProperty__intro]))(var95) /* intro on */; +if (varonce97) { +var98 = varonce97; +} else { +var99 = "."; +var100 = 1; +var101 = string__NativeString__to_s_with_length(var99, var100); +var98 = var101; +varonce97 = var98; +} +var102 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var102 = array_instance Array[Object] */ +var103 = 9; +var104 = NEW_array__NativeArray(var103, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var104)->values[0] = (val*) var73; +((struct instance_array__NativeArray*)var104)->values[1] = (val*) var79; +((struct instance_array__NativeArray*)var104)->values[2] = (val*) var81; +((struct instance_array__NativeArray*)var104)->values[3] = (val*) var_myt; +((struct instance_array__NativeArray*)var104)->values[4] = (val*) var86; +((struct instance_array__NativeArray*)var104)->values[5] = (val*) var_prt; +((struct instance_array__NativeArray*)var104)->values[6] = (val*) var91; +((struct instance_array__NativeArray*)var104)->values[7] = (val*) var96; +((struct instance_array__NativeArray*)var104)->values[8] = (val*) var98; +((void (*)(val*, val*, long))(var102->class->vft[COLOR_array__Array__with_native]))(var102, var104, var103) /* with_native on */; +} +var105 = ((val* (*)(val*))(var102->class->vft[COLOR_string__Object__to_s]))(var102) /* to_s on */; +((void (*)(val*, val*, val*))(var_modelbuilder->class->vft[COLOR_modelbuilder__ModelBuilder__error]))(var_modelbuilder, var71, var105) /* error on */; } else { } CONTINUE_label: (void)0; @@ -4008,85 +4223,98 @@ CONTINUE_label: (void)0; BREAK_label: (void)0; } else { } -var99 = NULL; +var106 = NULL; if (var_precursor_ret_type == NULL) { -var100 = 0; /* is null */ +var107 = 0; /* is null */ } else { -var100 = 1; /* arg is null and recv is not */ +var107 = 1; /* arg is null and recv is not */ } -if (var100){ -var101 = NULL; +if (var107){ +var108 = NULL; if (var_ret_type == NULL) { -var102 = 1; /* is null */ +var109 = 1; /* is null */ } else { -var102 = 0; /* arg is null but recv is not */ +var109 = 0; /* arg is null but recv is not */ } -if (var102){ +if (var109){ var_ret_type = var_precursor_ret_type; } else { -var103 = ((val* (*)(val*))(var_nclassdef->class->vft[COLOR_modelize_class__AClassdef__mclassdef]))(var_nclassdef) /* mclassdef on */; -if (var103 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 520); +var110 = ((val* (*)(val*))(var_nclassdef->class->vft[COLOR_modelize_class__AClassdef__mclassdef]))(var_nclassdef) /* mclassdef on */; +if (var110 == NULL) { +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 544); show_backtrace(1); } else { -var104 = ((val* (*)(val*))(var103->class->vft[COLOR_model__MClassDef__bound_mtype]))(var103) /* bound_mtype on */; +var111 = ((val* (*)(val*))(var110->class->vft[COLOR_model__MClassDef__bound_mtype]))(var110) /* bound_mtype on */; } -var105 = ((short int (*)(val*, val*, val*, val*))(var_ret_type->class->vft[COLOR_model__MType__is_subtype]))(var_ret_type, var_mmodule, var104, var_precursor_ret_type) /* is_subtype on */; -var106 = !var105; -if (var106){ +var112 = ((short int (*)(val*, val*, val*, val*))(var_ret_type->class->vft[COLOR_model__MType__is_subtype]))(var_ret_type, var_mmodule, var111, var_precursor_ret_type) /* is_subtype on */; +var113 = !var112; +if (var113){ if (var_nsig == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 521); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 545); show_backtrace(1); } else { -var107 = ((val* (*)(val*))(var_nsig->class->vft[COLOR_parser_nodes__ASignature__n_type]))(var_nsig) /* n_type on */; +var114 = ((val* (*)(val*))(var_nsig->class->vft[COLOR_parser_nodes__ASignature__n_type]))(var_nsig) /* n_type on */; } -if (var107 == NULL) { +if (var114 == NULL) { fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 521); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 545); show_backtrace(1); } -if (varonce108) { -var109 = varonce108; +if (varonce115) { +var116 = varonce115; +} else { +var117 = "Redef Error: Wrong return type. found "; +var118 = 38; +var119 = string__NativeString__to_s_with_length(var117, var118); +var116 = var119; +varonce115 = var116; +} +if (varonce120) { +var121 = varonce120; } else { -var110 = "Redef Error: Wrong return type. found "; -var111 = 38; -var112 = string__NativeString__to_s_with_length(var110, var111); -var109 = var112; -varonce108 = var109; +var122 = ", expected "; +var123 = 11; +var124 = string__NativeString__to_s_with_length(var122, var123); +var121 = var124; +varonce120 = var121; } -if (varonce113) { -var114 = varonce113; +if (varonce125) { +var126 = varonce125; } else { -var115 = ", expected "; -var116 = 11; -var117 = string__NativeString__to_s_with_length(var115, var116); -var114 = var117; -varonce113 = var114; +var127 = " as in "; +var128 = 7; +var129 = string__NativeString__to_s_with_length(var127, var128); +var126 = var129; +varonce125 = var126; } -if (varonce118) { -var119 = varonce118; +var130 = ((val* (*)(val*))(var_mpropdef->class->vft[COLOR_model__MPropDef__mproperty]))(var_mpropdef) /* mproperty on */; +var131 = ((val* (*)(val*))(var130->class->vft[COLOR_model__MProperty__intro]))(var130) /* intro on */; +if (varonce132) { +var133 = varonce132; } else { -var120 = "."; -var121 = 1; -var122 = string__NativeString__to_s_with_length(var120, var121); -var119 = var122; -varonce118 = var119; +var134 = "."; +var135 = 1; +var136 = string__NativeString__to_s_with_length(var134, var135); +var133 = var136; +varonce132 = var133; } -var123 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var123 = array_instance Array[Object] */ -var124 = 5; -var125 = NEW_array__NativeArray(var124, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var125)->values[0] = (val*) var109; -((struct instance_array__NativeArray*)var125)->values[1] = (val*) var_ret_type; -((struct instance_array__NativeArray*)var125)->values[2] = (val*) var114; -((struct instance_array__NativeArray*)var125)->values[3] = (val*) var_precursor_ret_type; -((struct instance_array__NativeArray*)var125)->values[4] = (val*) var119; -((void (*)(val*, val*, long))(var123->class->vft[COLOR_array__Array__with_native]))(var123, var125, var124) /* with_native on */; +var137 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var137 = array_instance Array[Object] */ +var138 = 7; +var139 = NEW_array__NativeArray(var138, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var139)->values[0] = (val*) var116; +((struct instance_array__NativeArray*)var139)->values[1] = (val*) var_ret_type; +((struct instance_array__NativeArray*)var139)->values[2] = (val*) var121; +((struct instance_array__NativeArray*)var139)->values[3] = (val*) var_precursor_ret_type; +((struct instance_array__NativeArray*)var139)->values[4] = (val*) var126; +((struct instance_array__NativeArray*)var139)->values[5] = (val*) var131; +((struct instance_array__NativeArray*)var139)->values[6] = (val*) var133; +((void (*)(val*, val*, long))(var137->class->vft[COLOR_array__Array__with_native]))(var137, var139, var138) /* with_native on */; } -var126 = ((val* (*)(val*))(var123->class->vft[COLOR_string__Object__to_s]))(var123) /* to_s on */; -((void (*)(val*, val*, val*))(var_modelbuilder->class->vft[COLOR_modelbuilder__ModelBuilder__error]))(var_modelbuilder, var107, var126) /* error on */; +var140 = ((val* (*)(val*))(var137->class->vft[COLOR_string__Object__to_s]))(var137) /* to_s on */; +((void (*)(val*, val*, val*))(var_modelbuilder->class->vft[COLOR_modelbuilder__ModelBuilder__error]))(var_modelbuilder, var114, var140) /* error on */; } else { } } @@ -4446,7 +4674,7 @@ var_nclassdef = p1; var = ((val* (*)(val*))(var_nclassdef->class->vft[COLOR_modelize_class__AClassdef__mclassdef]))(var_nclassdef) /* mclassdef on */; if (var == NULL) { fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 537); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 561); show_backtrace(1); } var_mclassdef = var; @@ -4462,8 +4690,8 @@ var4 = 1; /* arg is null and recv is not */ if (var4){ var5 = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__AAttrPropdef__n_id]))(self) /* n_id on */; if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 542); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 566); show_backtrace(1); } else { var6 = ((val* (*)(val*))(var5->class->vft[COLOR_parser_nodes__Token__text]))(var5) /* text on */; @@ -4472,8 +4700,8 @@ var_name = var6; } else { var7 = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__AAttrPropdef__n_id2]))(self) /* n_id2 on */; if (var7 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 544); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 568); show_backtrace(1); } else { var8 = ((val* (*)(val*))(var7->class->vft[COLOR_parser_nodes__Token__text]))(var7) /* text on */; @@ -4671,7 +4899,7 @@ var92 = var_mprop->type->type_table[cltype] == idtype; } if (!var92) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 564); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 588); show_backtrace(1); } var93 = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__AAttrPropdef__n_visibility]))(self) /* n_visibility on */; @@ -4692,7 +4920,7 @@ var100 = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__ANode__location] ((void (*)(val*, val*, val*, val*))(var99->class->vft[COLOR_model__MAttributeDef__init]))(var99, var_mclassdef, var_mprop, var100) /* init on */; var_mpropdef = var99; /* isa nullable MPROPDEF */ -type_struct = self->type->resolution_table->types[COLOR_parser_nodes__APropdef_VTMPROPDEF]; +type_struct = self->type->resolution_table->types[COLOR_nullable_parser_nodes__APropdef_VTMPROPDEF]; cltype102 = type_struct->color; idtype103 = type_struct->id; if(cltype102 >= var_mpropdef->type->table_size) { @@ -4703,7 +4931,7 @@ var101 = var_mpropdef->type->type_table[cltype102] == idtype103; if (!var101) { var_class_name = var_mpropdef == NULL ? "null" : var_mpropdef->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 571); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 595); show_backtrace(1); } ((void (*)(val*, val*))(self->class->vft[COLOR_modelize_property__APropdef__mpropdef_61d]))(self, var_mpropdef) /* mpropdef= on */; @@ -4737,7 +4965,7 @@ var111 = var110->type->type_table[cltype112] == idtype113; if (!var111) { var_class_name114 = var110 == NULL ? "null" : var110->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name114); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 577); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 601); show_backtrace(1); } var_mreadprop = var110; @@ -4823,7 +5051,7 @@ var146 = var145->type->type_table[cltype147] == idtype148; if (!var146) { var_class_name149 = var145 == NULL ? "null" : var145->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name149); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 596); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 620); show_backtrace(1); } var_mwriteprop = var145; @@ -4875,7 +5103,7 @@ var168 = ((val* (*)(val*))(var_modelbuilder->class->vft[COLOR_modelize_property_ var169 = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__AAttrPropdef__n_id2]))(self) /* n_id2 on */; if (var169 == NULL) { fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 613); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 637); show_backtrace(1); } var_nid2 = var169; @@ -4898,7 +5126,7 @@ var180 = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__ANode__location] ((void (*)(val*, val*, val*, val*))(var179->class->vft[COLOR_model__MAttributeDef__init]))(var179, var_mclassdef, var_mprop178, var180) /* init on */; var_mpropdef181 = var179; /* isa nullable MPROPDEF */ -type_struct185 = self->type->resolution_table->types[COLOR_parser_nodes__APropdef_VTMPROPDEF]; +type_struct185 = self->type->resolution_table->types[COLOR_nullable_parser_nodes__APropdef_VTMPROPDEF]; cltype183 = type_struct185->color; idtype184 = type_struct185->id; if(cltype183 >= var_mpropdef181->type->table_size) { @@ -4909,7 +5137,7 @@ var182 = var_mpropdef181->type->type_table[cltype183] == idtype184; if (!var182) { var_class_name186 = var_mpropdef181 == NULL ? "null" : var_mpropdef181->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name186); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 616); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 640); show_backtrace(1); } ((void (*)(val*, val*))(self->class->vft[COLOR_modelize_property__APropdef__mpropdef_61d]))(self, var_mpropdef181) /* mpropdef= on */; @@ -4932,7 +5160,7 @@ var190 = var189->type->type_table[cltype191] == idtype192; if (!var190) { var_class_name193 = var189 == NULL ? "null" : var189->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name193); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 620); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 644); show_backtrace(1); } var_mreadprop194 = var189; @@ -5007,7 +5235,7 @@ var225 = var224->type->type_table[cltype226] == idtype227; if (!var225) { var_class_name228 = var224 == NULL ? "null" : var224->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name228); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 637); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 661); show_backtrace(1); } var_mwriteprop229 = var224; @@ -5614,7 +5842,7 @@ var120 = 1; /* arg is null and recv is not */ } if (!var120) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 707); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 731); show_backtrace(1); } /* isa ANewExpr */ @@ -5651,7 +5879,7 @@ var134 = 1; /* easy isa OTHER*/ if (!var134) { var_class_name = type_kernel__Int.name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 262); +fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 266); show_backtrace(1); } var137 = ((struct instance_kernel__Int*)var130)->value; /* autounbox from nullable Object to Int */; @@ -5728,8 +5956,8 @@ var157 = 1; /* arg is null and recv is not */ if (var157){ var158 = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__AAttrPropdef__n_id]))(self) /* n_id on */; if (var158 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 730); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 754); show_backtrace(1); } else { var159 = ((val* (*)(val*))(var158->class->vft[COLOR_parser_nodes__Token__text]))(var158) /* text on */; @@ -5740,8 +5968,8 @@ var_name = var161; } else { var162 = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__AAttrPropdef__n_id2]))(self) /* n_id2 on */; if (var162 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 732); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 756); show_backtrace(1); } else { var163 = ((val* (*)(val*))(var162->class->vft[COLOR_parser_nodes__Token__text]))(var162) /* text on */; @@ -5763,8 +5991,8 @@ var170 = NULL; var_msignature171 = var166; var172 = ((val* (*)(val*))(self->class->vft[COLOR_modelize_property__AAttrPropdef__mwritepropdef]))(self) /* mwritepropdef on */; if (var172 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 736); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 760); show_backtrace(1); } else { ((void (*)(val*, val*))(var172->class->vft[COLOR_model__MMethodDef__msignature_61d]))(var172, var_msignature171) /* msignature= on */; @@ -5852,8 +6080,8 @@ var5 = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__AAttrPropdef__n_ty var_ntype = var5; var6 = ((val* (*)(val*))(self->class->vft[COLOR_modelize_property__APropdef__mpropdef]))(self) /* mpropdef on */; if (var6 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 746); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 770); show_backtrace(1); } else { var7 = ((val* (*)(val*))(var6->class->vft[COLOR_model__MAttributeDef__static_mtype]))(var6) /* static_mtype on */; @@ -5890,7 +6118,7 @@ var17 = ((short int (*)(val*, val*))(var_mtype->class->vft[COLOR_kernel__Object_ if (var17){ if (var_ntype == NULL) { fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 756); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 780); show_backtrace(1); } if (varonce) { @@ -6329,7 +6557,7 @@ var72 = 1; /* easy isa OTHER*/ if (!var72) { var_class_name = type_kernel__Int.name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 263); +fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 267); show_backtrace(1); } var73 = var68 > var69; @@ -6361,8 +6589,8 @@ var88 = ((val* (*)(val*))(var87->class->vft[COLOR_model__MParameter__mtype]))(va var_prt = var88; var90 = ((val* (*)(val*))(var_nclassdef->class->vft[COLOR_modelize_class__AClassdef__mclassdef]))(var_nclassdef) /* mclassdef on */; if (var90 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 801); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 825); show_backtrace(1); } else { var91 = ((val* (*)(val*))(var90->class->vft[COLOR_model__MClassDef__bound_mtype]))(var90) /* bound_mtype on */; @@ -6373,8 +6601,8 @@ var_94 = var93; if (var93){ var95 = ((val* (*)(val*))(var_nclassdef->class->vft[COLOR_modelize_class__AClassdef__mclassdef]))(var_nclassdef) /* mclassdef on */; if (var95 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 802); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 826); show_backtrace(1); } else { var96 = ((val* (*)(val*))(var95->class->vft[COLOR_model__MClassDef__bound_mtype]))(var95) /* bound_mtype on */; @@ -6477,8 +6705,8 @@ var_ret_type = var_precursor_ret_type; } else { var133 = ((val* (*)(val*))(var_nclassdef->class->vft[COLOR_modelize_class__AClassdef__mclassdef]))(var_nclassdef) /* mclassdef on */; if (var133 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 813); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 837); show_backtrace(1); } else { var134 = ((val* (*)(val*))(var133->class->vft[COLOR_model__MClassDef__bound_mtype]))(var133) /* bound_mtype on */; @@ -6626,7 +6854,7 @@ var_nclassdef = p1; var = ((val* (*)(val*))(var_nclassdef->class->vft[COLOR_modelize_class__AClassdef__mclassdef]))(var_nclassdef) /* mclassdef on */; if (var == NULL) { fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 828); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 852); show_backtrace(1); } var_mclassdef = var; @@ -6664,7 +6892,7 @@ var18 = 1; /* easy isa OTHER*/ if (!var18) { var_class_name = type_kernel__Char.name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 438); +fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 442); show_backtrace(1); } var19 = var_c >= var15; @@ -6682,7 +6910,7 @@ var23 = 1; /* easy isa OTHER*/ if (!var23) { var_class_name26 = type_kernel__Char.name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name26); -fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 436); +fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 440); show_backtrace(1); } var27 = var_c <= var20; @@ -6749,7 +6977,7 @@ var45 = var_mprop->type->type_table[cltype46] == idtype47; } if (!var45) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 841); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 865); show_backtrace(1); } var48 = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__ATypePropdef__n_visibility]))(self) /* n_visibility on */; @@ -6762,7 +6990,7 @@ var51 = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__ANode__location]) ((void (*)(val*, val*, val*, val*))(var50->class->vft[COLOR_model__MVirtualTypeDef__init]))(var50, var_mclassdef, var_mprop, var51) /* init on */; var_mpropdef = var50; /* isa nullable MPROPDEF */ -type_struct = self->type->resolution_table->types[COLOR_parser_nodes__APropdef_VTMPROPDEF]; +type_struct = self->type->resolution_table->types[COLOR_nullable_parser_nodes__APropdef_VTMPROPDEF]; cltype53 = type_struct->color; idtype54 = type_struct->id; if(cltype53 >= var_mpropdef->type->table_size) { @@ -6773,7 +7001,7 @@ var52 = var_mpropdef->type->type_table[cltype53] == idtype54; if (!var52) { var_class_name55 = var_mpropdef == NULL ? "null" : var_mpropdef->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MPROPDEF", var_class_name55); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 847); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 871); show_backtrace(1); } ((void (*)(val*, val*))(self->class->vft[COLOR_modelize_property__APropdef__mpropdef_61d]))(self, var_mpropdef) /* mpropdef= on */; @@ -6848,157 +7076,173 @@ void modelize_property__ATypePropdef__check_signature(val* self, val* p0, val* p val* var_modelbuilder /* var modelbuilder: ModelBuilder */; val* var_nclassdef /* var nclassdef: AClassdef */; val* var /* : nullable MPropDef */; -val* var1 /* : nullable MType */; -val* var_bound /* var bound: nullable MType */; +val* var_mpropdef /* var mpropdef: nullable MVirtualTypeDef */; +val* var1 /* : null */; short int var2 /* : Bool */; +val* var3 /* : nullable MPropDef */; +val* var4 /* : nullable MType */; +val* var_bound /* var bound: nullable MType */; +short int var5 /* : Bool */; int cltype; int idtype; -short int var3 /* : Bool */; -val* var4 /* : nullable MClassDef */; -val* var5 /* : MModule */; +short int var6 /* : Bool */; +val* var7 /* : nullable MClassDef */; +val* var8 /* : MModule */; val* var_mmodule /* var mmodule: MModule */; -val* var6 /* : nullable MClassDef */; -val* var7 /* : MClassType */; +val* var9 /* : nullable MClassDef */; +val* var10 /* : MClassType */; val* var_anchor /* var anchor: MClassType */; -val* var8 /* : Array[MVirtualType] */; -long var9 /* : Int */; +val* var11 /* : Array[MVirtualType] */; +long var12 /* : Int */; val* var_ /* var : Array[MVirtualType] */; -val* var10 /* : nullable MPropDef */; -val* var11 /* : MProperty */; -val* var12 /* : MVirtualType */; +val* var13 /* : nullable MPropDef */; +val* var14 /* : MProperty */; +val* var15 /* : MVirtualType */; val* var_seen /* var seen: Array[MVirtualType] */; -short int var13 /* : Bool */; +short int var16 /* : Bool */; static val* varonce; -val* var14 /* : String */; -char* var15 /* : NativeString */; -long var16 /* : Int */; val* var17 /* : String */; -static val* varonce18; -val* var19 /* : String */; -char* var20 /* : NativeString */; -long var21 /* : Int */; +char* var18 /* : NativeString */; +long var19 /* : Int */; +val* var20 /* : String */; +static val* varonce21; val* var22 /* : String */; -val* var23 /* : String */; -val* var24 /* : Array[Object] */; -long var25 /* : Int */; -val* var26 /* : NativeArray[Object] */; -val* var27 /* : String */; -val* var28 /* : MType */; +char* var23 /* : NativeString */; +long var24 /* : Int */; +val* var25 /* : String */; +val* var26 /* : String */; +val* var27 /* : Array[Object] */; +long var28 /* : Int */; +val* var29 /* : NativeArray[Object] */; +val* var30 /* : String */; +val* var31 /* : MType */; val* var_next /* var next: MType */; -short int var29 /* : Bool */; -int cltype30; -int idtype31; short int var32 /* : Bool */; +int cltype33; +int idtype34; +short int var35 /* : Bool */; var_modelbuilder = p0; var_nclassdef = p1; var = ((val* (*)(val*))(self->class->vft[COLOR_modelize_property__APropdef__mpropdef]))(self) /* mpropdef on */; -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 867); +var_mpropdef = var; +var1 = NULL; +if (var_mpropdef == NULL) { +var2 = 1; /* is null */ +} else { +var2 = 0; /* arg is null but recv is not */ +} +if (var2){ +goto RET_LABEL; +} else { +} +var3 = ((val* (*)(val*))(self->class->vft[COLOR_modelize_property__APropdef__mpropdef]))(self) /* mpropdef on */; +if (var3 == NULL) { +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 894); show_backtrace(1); } else { -var1 = ((val* (*)(val*))(var->class->vft[COLOR_model__MVirtualTypeDef__bound]))(var) /* bound on */; +var4 = ((val* (*)(val*))(var3->class->vft[COLOR_model__MVirtualTypeDef__bound]))(var3) /* bound on */; } -var_bound = var1; +var_bound = var4; /* isa MVirtualType */ cltype = type_model__MVirtualType.color; idtype = type_model__MVirtualType.id; if(var_bound == NULL) { -var2 = 0; +var5 = 0; } else { if(cltype >= var_bound->type->table_size) { -var2 = 0; +var5 = 0; } else { -var2 = var_bound->type->type_table[cltype] == idtype; +var5 = var_bound->type->type_table[cltype] == idtype; } } -var3 = !var2; -if (var3){ +var6 = !var5; +if (var6){ goto RET_LABEL; } else { } -var4 = ((val* (*)(val*))(var_nclassdef->class->vft[COLOR_modelize_class__AClassdef__mclassdef]))(var_nclassdef) /* mclassdef on */; -if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 872); +var7 = ((val* (*)(val*))(var_nclassdef->class->vft[COLOR_modelize_class__AClassdef__mclassdef]))(var_nclassdef) /* mclassdef on */; +if (var7 == NULL) { +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 899); show_backtrace(1); } else { -var5 = ((val* (*)(val*))(var4->class->vft[COLOR_model__MClassDef__mmodule]))(var4) /* mmodule on */; +var8 = ((val* (*)(val*))(var7->class->vft[COLOR_model__MClassDef__mmodule]))(var7) /* mmodule on */; } -var_mmodule = var5; -var6 = ((val* (*)(val*))(var_nclassdef->class->vft[COLOR_modelize_class__AClassdef__mclassdef]))(var_nclassdef) /* mclassdef on */; -if (var6 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 873); +var_mmodule = var8; +var9 = ((val* (*)(val*))(var_nclassdef->class->vft[COLOR_modelize_class__AClassdef__mclassdef]))(var_nclassdef) /* mclassdef on */; +if (var9 == NULL) { +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 900); show_backtrace(1); } else { -var7 = ((val* (*)(val*))(var6->class->vft[COLOR_model__MClassDef__bound_mtype]))(var6) /* bound_mtype on */; -} -var_anchor = var7; -var8 = NEW_array__Array(&type_array__Arraymodel__MVirtualType); -var9 = 1; -((void (*)(val*, long))(var8->class->vft[COLOR_array__Array__with_capacity]))(var8, var9) /* with_capacity on */; -var_ = var8; -var10 = ((val* (*)(val*))(self->class->vft[COLOR_modelize_property__APropdef__mpropdef]))(self) /* mpropdef on */; -if (var10 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 876); +var10 = ((val* (*)(val*))(var9->class->vft[COLOR_model__MClassDef__bound_mtype]))(var9) /* bound_mtype on */; +} +var_anchor = var10; +var11 = NEW_array__Array(&type_array__Arraymodel__MVirtualType); +var12 = 1; +((void (*)(val*, long))(var11->class->vft[COLOR_array__Array__with_capacity]))(var11, var12) /* with_capacity on */; +var_ = var11; +var13 = ((val* (*)(val*))(self->class->vft[COLOR_modelize_property__APropdef__mpropdef]))(self) /* mpropdef on */; +if (var13 == NULL) { +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/modelize_property.nit", 903); show_backtrace(1); } else { -var11 = ((val* (*)(val*))(var10->class->vft[COLOR_model__MPropDef__mproperty]))(var10) /* mproperty on */; +var14 = ((val* (*)(val*))(var13->class->vft[COLOR_model__MPropDef__mproperty]))(var13) /* mproperty on */; } -var12 = ((val* (*)(val*))(var11->class->vft[COLOR_model__MVirtualTypeProp__mvirtualtype]))(var11) /* mvirtualtype on */; -((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__Sequence__push]))(var_, var12) /* push on */; +var15 = ((val* (*)(val*))(var14->class->vft[COLOR_model__MVirtualTypeProp__mvirtualtype]))(var14) /* mvirtualtype on */; +((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__Sequence__push]))(var_, var15) /* push on */; var_seen = var_; for(;;) { -var13 = ((short int (*)(val*, val*))(var_seen->class->vft[COLOR_abstract_collection__Collection__has]))(var_seen, var_bound) /* has on */; -if (var13){ +var16 = ((short int (*)(val*, val*))(var_seen->class->vft[COLOR_abstract_collection__Collection__has]))(var_seen, var_bound) /* has on */; +if (var16){ ((void (*)(val*, val*))(var_seen->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_seen, var_bound) /* add on */; if (varonce) { -var14 = varonce; +var17 = varonce; } else { -var15 = "Error: circularity of virtual type definition: "; -var16 = 47; -var17 = string__NativeString__to_s_with_length(var15, var16); -var14 = var17; -varonce = var14; -} -if (varonce18) { -var19 = varonce18; -} else { -var20 = " -> "; -var21 = 4; -var22 = string__NativeString__to_s_with_length(var20, var21); -var19 = var22; -varonce18 = var19; -} -var23 = ((val* (*)(val*, val*))(var_seen->class->vft[COLOR_string__Collection__join]))(var_seen, var19) /* join on */; -var24 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var24 = array_instance Array[Object] */ -var25 = 2; -var26 = NEW_array__NativeArray(var25, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var26)->values[0] = (val*) var14; -((struct instance_array__NativeArray*)var26)->values[1] = (val*) var23; -((void (*)(val*, val*, long))(var24->class->vft[COLOR_array__Array__with_native]))(var24, var26, var25) /* with_native on */; -} -var27 = ((val* (*)(val*))(var24->class->vft[COLOR_string__Object__to_s]))(var24) /* to_s on */; -((void (*)(val*, val*, val*))(var_modelbuilder->class->vft[COLOR_modelbuilder__ModelBuilder__error]))(var_modelbuilder, self, var27) /* error on */; +var18 = "Error: circularity of virtual type definition: "; +var19 = 47; +var20 = string__NativeString__to_s_with_length(var18, var19); +var17 = var20; +varonce = var17; +} +if (varonce21) { +var22 = varonce21; +} else { +var23 = " -> "; +var24 = 4; +var25 = string__NativeString__to_s_with_length(var23, var24); +var22 = var25; +varonce21 = var22; +} +var26 = ((val* (*)(val*, val*))(var_seen->class->vft[COLOR_string__Collection__join]))(var_seen, var22) /* join on */; +var27 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var27 = array_instance Array[Object] */ +var28 = 2; +var29 = NEW_array__NativeArray(var28, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var29)->values[0] = (val*) var17; +((struct instance_array__NativeArray*)var29)->values[1] = (val*) var26; +((void (*)(val*, val*, long))(var27->class->vft[COLOR_array__Array__with_native]))(var27, var29, var28) /* with_native on */; +} +var30 = ((val* (*)(val*))(var27->class->vft[COLOR_string__Object__to_s]))(var27) /* to_s on */; +((void (*)(val*, val*, val*))(var_modelbuilder->class->vft[COLOR_modelbuilder__ModelBuilder__error]))(var_modelbuilder, self, var30) /* error on */; goto RET_LABEL; } else { } ((void (*)(val*, val*))(var_seen->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_seen, var_bound) /* add on */; -var28 = ((val* (*)(val*, val*, val*))(var_bound->class->vft[COLOR_model__MVirtualType__lookup_bound]))(var_bound, var_mmodule, var_anchor) /* lookup_bound on */; -var_next = var28; +var31 = ((val* (*)(val*, val*, val*))(var_bound->class->vft[COLOR_model__MVirtualType__lookup_bound]))(var_bound, var_mmodule, var_anchor) /* lookup_bound on */; +var_next = var31; /* isa MVirtualType */ -cltype30 = type_model__MVirtualType.color; -idtype31 = type_model__MVirtualType.id; -if(cltype30 >= var_next->type->table_size) { -var29 = 0; +cltype33 = type_model__MVirtualType.color; +idtype34 = type_model__MVirtualType.id; +if(cltype33 >= var_next->type->table_size) { +var32 = 0; } else { -var29 = var_next->type->type_table[cltype30] == idtype31; +var32 = var_next->type->type_table[cltype33] == idtype34; } -var32 = !var29; -if (var32){ +var35 = !var32; +if (var35){ goto RET_LABEL; } else { }