X-Git-Url: http://nitlanguage.org diff --git a/c_src/cached.sep.1.c b/c_src/cached.sep.1.c index 37a625d..b0aa0f3 100644 --- a/c_src/cached.sep.1.c +++ b/c_src/cached.sep.1.c @@ -5,8 +5,9 @@ val* var /* : Phase */; val* var1 /* : Phase */; var1 = self->attrs[COLOR_cached__ToolContext___64dcached_phase].val; /* @cached_phase on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @cached_phase", "src/cached.nit", 26); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @cached_phase"); +fprintf(stderr, " (%s:%d)\n", "src/cached.nit", 26); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -105,6 +106,7 @@ val* var39 /* : nullable ANode */; short int var40 /* : Bool */; int cltype41; int idtype42; +const char* var_class_name; val* var_nclassdef /* var nclassdef: AStdClassdef */; val* var43 /* : nullable MClassDef */; val* var_mclassdef /* var mclassdef: MClassDef */; @@ -163,93 +165,95 @@ val* var92 /* : APropdef */; short int var93 /* : Bool */; int cltype94; int idtype95; +const char* var_class_name96; val* var_is_cached_npropdef /* var is_cached_npropdef: AAttrPropdef */; -val* var96 /* : MMethodDef */; -val* var97 /* : MMethod */; -val* var98 /* : Array[Object] */; -long var99 /* : Int */; -val* var_100 /* var : Array[Object] */; -static val* varonce101; -val* var102 /* : String */; -char* var103 /* : NativeString */; -long var104 /* : Int */; -val* var105 /* : String */; -static val* varonce106; -val* var107 /* : String */; -char* var108 /* : NativeString */; -long var109 /* : Int */; -val* var110 /* : String */; +val* var97 /* : MMethodDef */; +val* var98 /* : MMethod */; +val* var99 /* : Array[Object] */; +long var100 /* : Int */; +val* var_101 /* var : Array[Object] */; +static val* varonce102; +val* var103 /* : String */; +char* var104 /* : NativeString */; +long var105 /* : Int */; +val* var106 /* : String */; +static val* varonce107; +val* var108 /* : String */; +char* var109 /* : NativeString */; +long var110 /* : Int */; val* var111 /* : String */; -val* var112 /* : MVisibility */; +val* var112 /* : String */; +val* var113 /* : MVisibility */; val* var_real_mpropdef /* var real_mpropdef: MMethodDef */; -val* var113 /* : nullable MSignature */; -val* var114 /* : ToolContext */; -static val* varonce115; -val* var116 /* : String */; -char* var117 /* : NativeString */; -long var118 /* : Int */; -val* var119 /* : String */; -val* var120 /* : APropdef */; -short int var121 /* : Bool */; -int cltype122; -int idtype123; +val* var114 /* : nullable MSignature */; +val* var115 /* : ToolContext */; +static val* varonce116; +val* var117 /* : String */; +char* var118 /* : NativeString */; +long var119 /* : Int */; +val* var120 /* : String */; +val* var121 /* : APropdef */; +short int var122 /* : Bool */; +int cltype123; +int idtype124; +const char* var_class_name125; val* var_real_npropdef /* var real_npropdef: AConcreteMethPropdef */; -val* var124 /* : nullable AExpr */; +val* var126 /* : nullable AExpr */; val* var_real_body /* var real_body: AExpr */; -val* var125 /* : ToolContext */; -static val* varonce126; -val* var127 /* : String */; -char* var128 /* : NativeString */; -long var129 /* : Int */; -val* var130 /* : String */; -val* var131 /* : AExpr */; +val* var127 /* : ToolContext */; +static val* varonce128; +val* var129 /* : String */; +char* var130 /* : NativeString */; +long var131 /* : Int */; +val* var132 /* : String */; +val* var133 /* : AExpr */; val* var_proxy_body /* var proxy_body: AExpr */; -static val* varonce132; -val* var133 /* : String */; -char* var134 /* : NativeString */; -long var135 /* : Int */; -val* var136 /* : String */; -val* var137 /* : Array[Token] */; -val* var138 /* : nullable Object */; -val* var139 /* : MProperty */; -val* var140 /* : String */; -static val* varonce141; +static val* varonce134; +val* var135 /* : String */; +char* var136 /* : NativeString */; +long var137 /* : Int */; +val* var138 /* : String */; +val* var139 /* : Array[Token] */; +val* var140 /* : nullable Object */; +val* var141 /* : MProperty */; val* var142 /* : String */; -char* var143 /* : NativeString */; -long var144 /* : Int */; -val* var145 /* : String */; -val* var146 /* : Array[Token] */; -val* var147 /* : nullable Object */; -val* var148 /* : MProperty */; -val* var149 /* : String */; -static val* varonce150; +static val* varonce143; +val* var144 /* : String */; +char* var145 /* : NativeString */; +long var146 /* : Int */; +val* var147 /* : String */; +val* var148 /* : Array[Token] */; +val* var149 /* : nullable Object */; +val* var150 /* : MProperty */; val* var151 /* : String */; -char* var152 /* : NativeString */; -long var153 /* : Int */; -val* var154 /* : String */; -val* var155 /* : Array[Token] */; -val* var156 /* : nullable Object */; -val* var157 /* : MProperty */; -val* var158 /* : String */; -static val* varonce159; +static val* varonce152; +val* var153 /* : String */; +char* var154 /* : NativeString */; +long var155 /* : Int */; +val* var156 /* : String */; +val* var157 /* : Array[Token] */; +val* var158 /* : nullable Object */; +val* var159 /* : MProperty */; val* var160 /* : String */; -char* var161 /* : NativeString */; -long var162 /* : Int */; -val* var163 /* : String */; -val* var164 /* : Array[Token] */; -val* var165 /* : nullable Object */; -val* var166 /* : MProperty */; -val* var167 /* : String */; -static val* varonce168; +static val* varonce161; +val* var162 /* : String */; +char* var163 /* : NativeString */; +long var164 /* : Int */; +val* var165 /* : String */; +val* var166 /* : Array[Token] */; +val* var167 /* : nullable Object */; +val* var168 /* : MProperty */; val* var169 /* : String */; -char* var170 /* : NativeString */; -long var171 /* : Int */; -val* var172 /* : String */; -val* var173 /* : Array[Token] */; -val* var174 /* : nullable Object */; -val* var175 /* : MProperty */; -val* var176 /* : String */; -val* var177 /* : nullable AExpr */; +static val* varonce170; +val* var171 /* : String */; +char* var172 /* : NativeString */; +long var173 /* : Int */; +val* var174 /* : String */; +val* var175 /* : Array[Token] */; +val* var176 /* : nullable Object */; +val* var177 /* : MProperty */; +val* var178 /* : String */; +val* var179 /* : nullable AExpr */; var_npropdef = p0; var_nat = p1; var = ((val* (*)(val*))(var_nat->class->vft[COLOR_parser_nodes__AAnnotation__n_atid]))(var_nat) /* n_atid on */; @@ -297,14 +301,16 @@ goto RET_LABEL; } var17 = ((val* (*)(val*))(var_npropdef->class->vft[COLOR_modelize_property__APropdef__mpropdef]))(var_npropdef) /* mpropdef on */; if (var17 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/cached.nit", 54); -exit(1); +fprintf(stderr, "Runtime error: %s", "Cast failed"); +fprintf(stderr, " (%s:%d)\n", "src/cached.nit", 54); +show_backtrace(1); } var_mpropdef = var17; var18 = ((val* (*)(val*))(var_mpropdef->class->vft[COLOR_model__MMethodDef__msignature]))(var_mpropdef) /* msignature on */; if (var18 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/cached.nit", 56); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/cached.nit", 56); +show_backtrace(1); } else { var19 = ((val* (*)(val*))(var18->class->vft[COLOR_model__MSignature__return_mtype]))(var18) /* return_mtype on */; } @@ -331,8 +337,9 @@ goto RET_LABEL; } var27 = ((val* (*)(val*))(var_npropdef->class->vft[COLOR_parser_nodes__AMethPropdef__n_signature]))(var_npropdef) /* n_signature on */; if (var27 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/cached.nit", 62); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/cached.nit", 62); +show_backtrace(1); } else { var28 = ((val* (*)(val*))(var27->class->vft[COLOR_parser_nodes__ASignature__n_params]))(var27) /* n_params on */; } @@ -371,14 +378,17 @@ var40 = var39->type->type_table[cltype41] == idtype42; } } if (!var40) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/cached.nit", 71); -exit(1); +var_class_name = var39 == NULL ? "null" : var39->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "AStdClassdef", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/cached.nit", 71); +show_backtrace(1); } var_nclassdef = var39; var43 = ((val* (*)(val*))(var_nclassdef->class->vft[COLOR_modelize_class__AClassdef__mclassdef]))(var_nclassdef) /* mclassdef on */; if (var43 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/cached.nit", 72); -exit(1); +fprintf(stderr, "Runtime error: %s", "Cast failed"); +fprintf(stderr, " (%s:%d)\n", "src/cached.nit", 72); +show_backtrace(1); } var_mclassdef = var43; var44 = NEW_model__MAttributeDef(&type_model__MAttributeDef); @@ -386,7 +396,6 @@ var45 = NEW_model__MAttribute(&type_model__MAttribute); var46 = NEW_array__Array(&type_array__Arraykernel__Object); var47 = 3; ((void (*)(val*, long))(var46->class->vft[COLOR_array__Array__with_capacity]))(var46, var47) /* with_capacity on */; -CHECK_NEW_array__Array(var46); var_ = var46; if (varonce48) { var49 = varonce48; @@ -412,9 +421,7 @@ varonce53 = var54; var58 = ((val* (*)(val*))(var_->class->vft[COLOR_string__Object__to_s]))(var_) /* to_s on */; var59 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__Object__private_visibility]))(self) /* private_visibility on */; ((void (*)(val*, val*, val*, val*))(var45->class->vft[COLOR_model__MAttribute__init]))(var45, var_mclassdef, var58, var59) /* init on */; -CHECK_NEW_model__MAttribute(var45); ((void (*)(val*, val*, val*, val*))(var44->class->vft[COLOR_model__MAttributeDef__init]))(var44, var_mclassdef, var45, var_location) /* init on */; -CHECK_NEW_model__MAttributeDef(var44); var_cache_mpropdef = var44; var60 = ((val* (*)(val*))(var_mtype->class->vft[COLOR_model__MType__as_nullable]))(var_mtype) /* as_nullable on */; ((void (*)(val*, val*))(var_cache_mpropdef->class->vft[COLOR_model__MAttributeDef__static_mtype_61d]))(var_cache_mpropdef, var60) /* static_mtype= on */; @@ -423,7 +430,6 @@ var62 = NEW_model__MAttribute(&type_model__MAttribute); var63 = NEW_array__Array(&type_array__Arraykernel__Object); var64 = 3; ((void (*)(val*, long))(var63->class->vft[COLOR_array__Array__with_capacity]))(var63, var64) /* with_capacity on */; -CHECK_NEW_array__Array(var63); var_65 = var63; if (varonce66) { var67 = varonce66; @@ -449,9 +455,7 @@ varonce71 = var72; var76 = ((val* (*)(val*))(var_65->class->vft[COLOR_string__Object__to_s]))(var_65) /* to_s on */; var77 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__Object__private_visibility]))(self) /* private_visibility on */; ((void (*)(val*, val*, val*, val*))(var62->class->vft[COLOR_model__MAttribute__init]))(var62, var_mclassdef, var76, var77) /* init on */; -CHECK_NEW_model__MAttribute(var62); ((void (*)(val*, val*, val*, val*))(var61->class->vft[COLOR_model__MAttributeDef__init]))(var61, var_mclassdef, var62, var_location) /* init on */; -CHECK_NEW_model__MAttributeDef(var61); var_is_cached_mpropdef = var61; var78 = ((val* (*)(val*))(var_mclassdef->class->vft[COLOR_model__MClassDef__mmodule]))(var_mclassdef) /* mmodule on */; if (varonce79) { @@ -486,168 +490,171 @@ var93 = 0; var93 = var92->type->type_table[cltype94] == idtype95; } if (!var93) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/cached.nit", 83); -exit(1); +var_class_name96 = var92 == NULL ? "null" : var92->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "AAttrPropdef", var_class_name96); +fprintf(stderr, " (%s:%d)\n", "src/cached.nit", 83); +show_backtrace(1); } var_is_cached_npropdef = var92; ((void (*)(val*, val*, val*))(self->class->vft[COLOR_cached__CachedPhase__associate_propdef]))(self, var_is_cached_mpropdef, var_is_cached_npropdef) /* associate_propdef on */; -var96 = NEW_model__MMethodDef(&type_model__MMethodDef); -var97 = NEW_model__MMethod(&type_model__MMethod); -var98 = NEW_array__Array(&type_array__Arraykernel__Object); -var99 = 3; -((void (*)(val*, long))(var98->class->vft[COLOR_array__Array__with_capacity]))(var98, var99) /* with_capacity on */; -CHECK_NEW_array__Array(var98); -var_100 = var98; -if (varonce101) { -var102 = varonce101; -} else { -var103 = ""; -var104 = 0; -var105 = string__NativeString__to_s_with_length(var103, var104); -var102 = var105; -varonce101 = var102; -} -((void (*)(val*, val*))(var_100->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_100, var102) /* add on */; -((void (*)(val*, val*))(var_100->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_100, var_name) /* add on */; -if (varonce106) { -var107 = varonce106; -} else { -var108 = ""; -var109 = 6; -var110 = string__NativeString__to_s_with_length(var108, var109); -var107 = var110; -varonce106 = var107; -} -((void (*)(val*, val*))(var_100->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_100, var107) /* add on */; -var111 = ((val* (*)(val*))(var_100->class->vft[COLOR_string__Object__to_s]))(var_100) /* to_s on */; -var112 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__Object__private_visibility]))(self) /* private_visibility on */; -((void (*)(val*, val*, val*, val*))(var97->class->vft[COLOR_model__MMethod__init]))(var97, var_mclassdef, var111, var112) /* init on */; -CHECK_NEW_model__MMethod(var97); -((void (*)(val*, val*, val*, val*))(var96->class->vft[COLOR_model__MMethodDef__init]))(var96, var_mclassdef, var97, var_location) /* init on */; -CHECK_NEW_model__MMethodDef(var96); -var_real_mpropdef = var96; -var113 = ((val* (*)(val*))(var_mpropdef->class->vft[COLOR_model__MMethodDef__msignature]))(var_mpropdef) /* msignature on */; -((void (*)(val*, val*))(var_real_mpropdef->class->vft[COLOR_model__MMethodDef__msignature_61d]))(var_real_mpropdef, var113) /* msignature= on */; -var114 = ((val* (*)(val*))(self->class->vft[COLOR_phase__Phase__toolcontext]))(self) /* toolcontext on */; -if (varonce115) { -var116 = varonce115; -} else { -var117 = "fun real do end"; -var118 = 15; -var119 = string__NativeString__to_s_with_length(var117, var118); -var116 = var119; -varonce115 = var116; -} -var120 = ((val* (*)(val*, val*))(var114->class->vft[COLOR_parser_util__ToolContext__parse_propdef]))(var114, var116) /* parse_propdef on */; -/* isa AConcreteMethPropdef */ -cltype122 = type_parser_nodes__AConcreteMethPropdef.color; -idtype123 = type_parser_nodes__AConcreteMethPropdef.id; -if(cltype122 >= var120->type->table_size) { -var121 = 0; -} else { -var121 = var120->type->type_table[cltype122] == idtype123; -} -if (!var121) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/cached.nit", 90); -exit(1); -} -var_real_npropdef = var120; +var97 = NEW_model__MMethodDef(&type_model__MMethodDef); +var98 = NEW_model__MMethod(&type_model__MMethod); +var99 = NEW_array__Array(&type_array__Arraykernel__Object); +var100 = 3; +((void (*)(val*, long))(var99->class->vft[COLOR_array__Array__with_capacity]))(var99, var100) /* with_capacity on */; +var_101 = var99; +if (varonce102) { +var103 = varonce102; +} else { +var104 = ""; +var105 = 0; +var106 = string__NativeString__to_s_with_length(var104, var105); +var103 = var106; +varonce102 = var103; +} +((void (*)(val*, val*))(var_101->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_101, var103) /* add on */; +((void (*)(val*, val*))(var_101->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_101, var_name) /* add on */; +if (varonce107) { +var108 = varonce107; +} else { +var109 = ""; +var110 = 6; +var111 = string__NativeString__to_s_with_length(var109, var110); +var108 = var111; +varonce107 = var108; +} +((void (*)(val*, val*))(var_101->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_101, var108) /* add on */; +var112 = ((val* (*)(val*))(var_101->class->vft[COLOR_string__Object__to_s]))(var_101) /* to_s on */; +var113 = ((val* (*)(val*))(self->class->vft[COLOR_model_base__Object__private_visibility]))(self) /* private_visibility on */; +((void (*)(val*, val*, val*, val*))(var98->class->vft[COLOR_model__MMethod__init]))(var98, var_mclassdef, var112, var113) /* init on */; +((void (*)(val*, val*, val*, val*))(var97->class->vft[COLOR_model__MMethodDef__init]))(var97, var_mclassdef, var98, var_location) /* init on */; +var_real_mpropdef = var97; +var114 = ((val* (*)(val*))(var_mpropdef->class->vft[COLOR_model__MMethodDef__msignature]))(var_mpropdef) /* msignature on */; +((void (*)(val*, val*))(var_real_mpropdef->class->vft[COLOR_model__MMethodDef__msignature_61d]))(var_real_mpropdef, var114) /* msignature= on */; +var115 = ((val* (*)(val*))(self->class->vft[COLOR_phase__Phase__toolcontext]))(self) /* toolcontext on */; +if (varonce116) { +var117 = varonce116; +} else { +var118 = "fun real do end"; +var119 = 15; +var120 = string__NativeString__to_s_with_length(var118, var119); +var117 = var120; +varonce116 = var117; +} +var121 = ((val* (*)(val*, val*))(var115->class->vft[COLOR_parser_util__ToolContext__parse_propdef]))(var115, var117) /* parse_propdef on */; +/* isa AConcreteMethPropdef */ +cltype123 = type_parser_nodes__AConcreteMethPropdef.color; +idtype124 = type_parser_nodes__AConcreteMethPropdef.id; +if(cltype123 >= var121->type->table_size) { +var122 = 0; +} else { +var122 = var121->type->type_table[cltype123] == idtype124; +} +if (!var122) { +var_class_name125 = var121 == NULL ? "null" : var121->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "AConcreteMethPropdef", var_class_name125); +fprintf(stderr, " (%s:%d)\n", "src/cached.nit", 90); +show_backtrace(1); +} +var_real_npropdef = var121; ((void (*)(val*, val*, val*))(self->class->vft[COLOR_cached__CachedPhase__associate_propdef]))(self, var_real_mpropdef, var_real_npropdef) /* associate_propdef on */; -var124 = ((val* (*)(val*))(var_npropdef->class->vft[COLOR_parser_nodes__AConcreteMethPropdef__n_block]))(var_npropdef) /* n_block on */; -if (var124 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/cached.nit", 95); -exit(1); -} -var_real_body = var124; -var125 = ((val* (*)(val*))(self->class->vft[COLOR_phase__Phase__toolcontext]))(self) /* toolcontext on */; -if (varonce126) { -var127 = varonce126; -} else { -var128 = "if self._is_cached then return self._cache.as(not null)\nvar res = call_real\nself._cache_write = res\nself._is_cached_write = true\nreturn res"; -var129 = 139; -var130 = string__NativeString__to_s_with_length(var128, var129); -var127 = var130; -varonce126 = var127; -} -var131 = ((val* (*)(val*, val*))(var125->class->vft[COLOR_parser_util__ToolContext__parse_stmts]))(var125, var127) /* parse_stmts on */; -var_proxy_body = var131; +var126 = ((val* (*)(val*))(var_npropdef->class->vft[COLOR_parser_nodes__AConcreteMethPropdef__n_block]))(var_npropdef) /* n_block on */; +if (var126 == NULL) { +fprintf(stderr, "Runtime error: %s", "Cast failed"); +fprintf(stderr, " (%s:%d)\n", "src/cached.nit", 95); +show_backtrace(1); +} +var_real_body = var126; +var127 = ((val* (*)(val*))(self->class->vft[COLOR_phase__Phase__toolcontext]))(self) /* toolcontext on */; +if (varonce128) { +var129 = varonce128; +} else { +var130 = "if self._is_cached then return self._cache.as(not null)\nvar res = call_real\nself._cache_write = res\nself._is_cached_write = true\nreturn res"; +var131 = 139; +var132 = string__NativeString__to_s_with_length(var130, var131); +var129 = var132; +varonce128 = var129; +} +var133 = ((val* (*)(val*, val*))(var127->class->vft[COLOR_parser_util__ToolContext__parse_stmts]))(var127, var129) /* parse_stmts on */; +var_proxy_body = var133; ((void (*)(val*, val*))(var_real_body->class->vft[COLOR_parser_nodes__ANode__replace_with]))(var_real_body, var_proxy_body) /* replace_with on */; -if (varonce132) { -var133 = varonce132; -} else { -var134 = "_is_cached"; -var135 = 10; -var136 = string__NativeString__to_s_with_length(var134, var135); -var133 = var136; -varonce132 = var133; -} -var137 = ((val* (*)(val*, val*))(var_proxy_body->class->vft[COLOR_parser_util__ANode__collect_tokens_by_text]))(var_proxy_body, var133) /* collect_tokens_by_text on */; -var138 = ((val* (*)(val*))(var137->class->vft[COLOR_abstract_collection__Collection__first]))(var137) /* first on */; -var139 = ((val* (*)(val*))(var_is_cached_mpropdef->class->vft[COLOR_model__MPropDef__mproperty]))(var_is_cached_mpropdef) /* mproperty on */; -var140 = ((val* (*)(val*))(var139->class->vft[COLOR_model__MProperty__name]))(var139) /* name on */; -((void (*)(val*, val*))(var138->class->vft[COLOR_parser_nodes__Token__text_61d]))(var138, var140) /* text= on */; -if (varonce141) { -var142 = varonce141; -} else { -var143 = "_is_cached_write"; -var144 = 16; -var145 = string__NativeString__to_s_with_length(var143, var144); -var142 = var145; -varonce141 = var142; -} -var146 = ((val* (*)(val*, val*))(var_proxy_body->class->vft[COLOR_parser_util__ANode__collect_tokens_by_text]))(var_proxy_body, var142) /* collect_tokens_by_text on */; -var147 = ((val* (*)(val*))(var146->class->vft[COLOR_abstract_collection__Collection__first]))(var146) /* first on */; -var148 = ((val* (*)(val*))(var_is_cached_mpropdef->class->vft[COLOR_model__MPropDef__mproperty]))(var_is_cached_mpropdef) /* mproperty on */; -var149 = ((val* (*)(val*))(var148->class->vft[COLOR_model__MProperty__name]))(var148) /* name on */; -((void (*)(val*, val*))(var147->class->vft[COLOR_parser_nodes__Token__text_61d]))(var147, var149) /* text= on */; -if (varonce150) { -var151 = varonce150; -} else { -var152 = "_cache"; -var153 = 6; -var154 = string__NativeString__to_s_with_length(var152, var153); -var151 = var154; -varonce150 = var151; -} -var155 = ((val* (*)(val*, val*))(var_proxy_body->class->vft[COLOR_parser_util__ANode__collect_tokens_by_text]))(var_proxy_body, var151) /* collect_tokens_by_text on */; -var156 = ((val* (*)(val*))(var155->class->vft[COLOR_abstract_collection__Collection__first]))(var155) /* first on */; -var157 = ((val* (*)(val*))(var_cache_mpropdef->class->vft[COLOR_model__MPropDef__mproperty]))(var_cache_mpropdef) /* mproperty on */; -var158 = ((val* (*)(val*))(var157->class->vft[COLOR_model__MProperty__name]))(var157) /* name on */; -((void (*)(val*, val*))(var156->class->vft[COLOR_parser_nodes__Token__text_61d]))(var156, var158) /* text= on */; -if (varonce159) { -var160 = varonce159; -} else { -var161 = "_cache_write"; -var162 = 12; -var163 = string__NativeString__to_s_with_length(var161, var162); -var160 = var163; -varonce159 = var160; -} -var164 = ((val* (*)(val*, val*))(var_proxy_body->class->vft[COLOR_parser_util__ANode__collect_tokens_by_text]))(var_proxy_body, var160) /* collect_tokens_by_text on */; -var165 = ((val* (*)(val*))(var164->class->vft[COLOR_abstract_collection__Collection__first]))(var164) /* first on */; -var166 = ((val* (*)(val*))(var_cache_mpropdef->class->vft[COLOR_model__MPropDef__mproperty]))(var_cache_mpropdef) /* mproperty on */; -var167 = ((val* (*)(val*))(var166->class->vft[COLOR_model__MProperty__name]))(var166) /* name on */; -((void (*)(val*, val*))(var165->class->vft[COLOR_parser_nodes__Token__text_61d]))(var165, var167) /* text= on */; -if (varonce168) { -var169 = varonce168; -} else { -var170 = "call_real"; -var171 = 9; -var172 = string__NativeString__to_s_with_length(var170, var171); -var169 = var172; -varonce168 = var169; -} -var173 = ((val* (*)(val*, val*))(var_proxy_body->class->vft[COLOR_parser_util__ANode__collect_tokens_by_text]))(var_proxy_body, var169) /* collect_tokens_by_text on */; -var174 = ((val* (*)(val*))(var173->class->vft[COLOR_abstract_collection__Collection__first]))(var173) /* first on */; -var175 = ((val* (*)(val*))(var_real_mpropdef->class->vft[COLOR_model__MPropDef__mproperty]))(var_real_mpropdef) /* mproperty on */; -var176 = ((val* (*)(val*))(var175->class->vft[COLOR_model__MProperty__name]))(var175) /* name on */; -((void (*)(val*, val*))(var174->class->vft[COLOR_parser_nodes__Token__text_61d]))(var174, var176) /* text= on */; -var177 = ((val* (*)(val*))(var_real_npropdef->class->vft[COLOR_parser_nodes__AConcreteMethPropdef__n_block]))(var_real_npropdef) /* n_block on */; -if (var177 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/cached.nit", 115); -exit(1); -} else { -((void (*)(val*, val*))(var177->class->vft[COLOR_parser_nodes__ANode__replace_with]))(var177, var_real_body) /* replace_with on */; +if (varonce134) { +var135 = varonce134; +} else { +var136 = "_is_cached"; +var137 = 10; +var138 = string__NativeString__to_s_with_length(var136, var137); +var135 = var138; +varonce134 = var135; +} +var139 = ((val* (*)(val*, val*))(var_proxy_body->class->vft[COLOR_parser_util__ANode__collect_tokens_by_text]))(var_proxy_body, var135) /* collect_tokens_by_text on */; +var140 = ((val* (*)(val*))(var139->class->vft[COLOR_abstract_collection__Collection__first]))(var139) /* first on */; +var141 = ((val* (*)(val*))(var_is_cached_mpropdef->class->vft[COLOR_model__MPropDef__mproperty]))(var_is_cached_mpropdef) /* mproperty on */; +var142 = ((val* (*)(val*))(var141->class->vft[COLOR_model__MProperty__name]))(var141) /* name on */; +((void (*)(val*, val*))(var140->class->vft[COLOR_parser_nodes__Token__text_61d]))(var140, var142) /* text= on */; +if (varonce143) { +var144 = varonce143; +} else { +var145 = "_is_cached_write"; +var146 = 16; +var147 = string__NativeString__to_s_with_length(var145, var146); +var144 = var147; +varonce143 = var144; +} +var148 = ((val* (*)(val*, val*))(var_proxy_body->class->vft[COLOR_parser_util__ANode__collect_tokens_by_text]))(var_proxy_body, var144) /* collect_tokens_by_text on */; +var149 = ((val* (*)(val*))(var148->class->vft[COLOR_abstract_collection__Collection__first]))(var148) /* first on */; +var150 = ((val* (*)(val*))(var_is_cached_mpropdef->class->vft[COLOR_model__MPropDef__mproperty]))(var_is_cached_mpropdef) /* mproperty on */; +var151 = ((val* (*)(val*))(var150->class->vft[COLOR_model__MProperty__name]))(var150) /* name on */; +((void (*)(val*, val*))(var149->class->vft[COLOR_parser_nodes__Token__text_61d]))(var149, var151) /* text= on */; +if (varonce152) { +var153 = varonce152; +} else { +var154 = "_cache"; +var155 = 6; +var156 = string__NativeString__to_s_with_length(var154, var155); +var153 = var156; +varonce152 = var153; +} +var157 = ((val* (*)(val*, val*))(var_proxy_body->class->vft[COLOR_parser_util__ANode__collect_tokens_by_text]))(var_proxy_body, var153) /* collect_tokens_by_text on */; +var158 = ((val* (*)(val*))(var157->class->vft[COLOR_abstract_collection__Collection__first]))(var157) /* first on */; +var159 = ((val* (*)(val*))(var_cache_mpropdef->class->vft[COLOR_model__MPropDef__mproperty]))(var_cache_mpropdef) /* mproperty on */; +var160 = ((val* (*)(val*))(var159->class->vft[COLOR_model__MProperty__name]))(var159) /* name on */; +((void (*)(val*, val*))(var158->class->vft[COLOR_parser_nodes__Token__text_61d]))(var158, var160) /* text= on */; +if (varonce161) { +var162 = varonce161; +} else { +var163 = "_cache_write"; +var164 = 12; +var165 = string__NativeString__to_s_with_length(var163, var164); +var162 = var165; +varonce161 = var162; +} +var166 = ((val* (*)(val*, val*))(var_proxy_body->class->vft[COLOR_parser_util__ANode__collect_tokens_by_text]))(var_proxy_body, var162) /* collect_tokens_by_text on */; +var167 = ((val* (*)(val*))(var166->class->vft[COLOR_abstract_collection__Collection__first]))(var166) /* first on */; +var168 = ((val* (*)(val*))(var_cache_mpropdef->class->vft[COLOR_model__MPropDef__mproperty]))(var_cache_mpropdef) /* mproperty on */; +var169 = ((val* (*)(val*))(var168->class->vft[COLOR_model__MProperty__name]))(var168) /* name on */; +((void (*)(val*, val*))(var167->class->vft[COLOR_parser_nodes__Token__text_61d]))(var167, var169) /* text= on */; +if (varonce170) { +var171 = varonce170; +} else { +var172 = "call_real"; +var173 = 9; +var174 = string__NativeString__to_s_with_length(var172, var173); +var171 = var174; +varonce170 = var171; +} +var175 = ((val* (*)(val*, val*))(var_proxy_body->class->vft[COLOR_parser_util__ANode__collect_tokens_by_text]))(var_proxy_body, var171) /* collect_tokens_by_text on */; +var176 = ((val* (*)(val*))(var175->class->vft[COLOR_abstract_collection__Collection__first]))(var175) /* first on */; +var177 = ((val* (*)(val*))(var_real_mpropdef->class->vft[COLOR_model__MPropDef__mproperty]))(var_real_mpropdef) /* mproperty on */; +var178 = ((val* (*)(val*))(var177->class->vft[COLOR_model__MProperty__name]))(var177) /* name on */; +((void (*)(val*, val*))(var176->class->vft[COLOR_parser_nodes__Token__text_61d]))(var176, var178) /* text= on */; +var179 = ((val* (*)(val*))(var_real_npropdef->class->vft[COLOR_parser_nodes__AConcreteMethPropdef__n_block]))(var_real_npropdef) /* n_block on */; +if (var179 == NULL) { +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/cached.nit", 115); +show_backtrace(1); +} else { +((void (*)(val*, val*))(var179->class->vft[COLOR_parser_nodes__ANode__replace_with]))(var179, var_real_body) /* replace_with on */; } RET_LABEL:; } @@ -694,8 +701,9 @@ var2 = 1; /* is null */ var2 = 0; /* arg is null but recv is not */ } if (!var2) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/cached.nit", 128); -exit(1); +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/cached.nit", 128); +show_backtrace(1); } ((void (*)(val*, val*))(var_n->class->vft[COLOR_modelize_property__APropdef__mpropdef_61d]))(var_n, var_m) /* mpropdef= on */; var3 = ((val* (*)(val*))(self->class->vft[COLOR_phase__Phase__toolcontext]))(self) /* toolcontext on */; @@ -704,8 +712,9 @@ var5 = ((val* (*)(val*))(var4->class->vft[COLOR_modelize_property__ModelBuilder_ var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_abstract_collection__MapRead__has_key]))(var5, var_m) /* has_key on */; var7 = !var6; if (!var7) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/cached.nit", 132); -exit(1); +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/cached.nit", 132); +show_backtrace(1); } var8 = ((val* (*)(val*))(self->class->vft[COLOR_phase__Phase__toolcontext]))(self) /* toolcontext on */; var9 = ((val* (*)(val*))(var8->class->vft[COLOR_modelbuilder__ToolContext__modelbuilder]))(var8) /* modelbuilder on */; @@ -725,8 +734,9 @@ var17 = 0; /* cannot be null */ var17 = ((short int (*)(val*, val*))(var16->class->vft[COLOR_kernel__Object___61d_61d]))(var16, var_mclassdef) /* == on */; } if (!var17) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/cached.nit", 138); -exit(1); +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/cached.nit", 138); +show_backtrace(1); } var18 = ((val* (*)(val*))(var_nclassdef->class->vft[COLOR_parser_nodes__AClassdef__n_propdefs]))(var_nclassdef) /* n_propdefs on */; var19 = ((short int (*)(val*, val*))(var18->class->vft[COLOR_abstract_collection__Collection__has]))(var18, var_n) /* has on */;