X-Git-Url: http://nitlanguage.org diff --git a/c_src/poset.sep.1.c b/c_src/poset.sep.1.c index a4ae105..ec3f4d8 100644 --- a/c_src/poset.sep.1.c +++ b/c_src/poset.sep.1.c @@ -30,7 +30,7 @@ var1 = self->attrs[COLOR_poset__POSet___64delements].val; /* @elements on type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "HashMap[POSet#0, POSetElement[POSet#0]]", var_class_name); fprintf(stderr, " (%s:%d)\n", "lib/poset.nit", 31); -exit(1); +show_backtrace(1); } self->attrs[COLOR_poset__POSet___64delements].val = p0; /* @elements on */ RET_LABEL:; @@ -102,7 +102,7 @@ if (!var1) { var_class_name = p0 == NULL ? "null" : p0->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection#0", var_class_name); fprintf(stderr, " (%s:%d)\n", "lib/poset.nit", 34); -exit(1); +show_backtrace(1); } var_e = p0; var2 = ((val* (*)(val*))(self->class->vft[COLOR_poset__POSet__elements]))(self) /* elements on */; @@ -157,7 +157,7 @@ if (!var1) { var_class_name = p0 == NULL ? "null" : p0->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet#0", var_class_name); fprintf(stderr, " (%s:%d)\n", "lib/poset.nit", 36); -exit(1); +show_backtrace(1); } var_e = p0; var2 = ((val* (*)(val*))(self->class->vft[COLOR_poset__POSet__elements]))(self) /* elements on */; @@ -174,7 +174,6 @@ var7 = NEW_poset__POSetElement(self->type->resolution_table->types[COLOR_poset__ var8 = ((val* (*)(val*))(self->class->vft[COLOR_poset__POSet__elements]))(self) /* elements on */; var9 = ((long (*)(val*))(var8->class->vft[COLOR_abstract_collection__MapRead__length]))(var8) /* length on */; ((void (*)(val*, val*, val*, long))(var7->class->vft[COLOR_poset__POSetElement__init]))(var7, self, var_e, var9) /* init on */; -CHECK_NEW_poset__POSetElement(var7); var_poe = var7; var10 = ((val* (*)(val*))(var_poe->class->vft[COLOR_poset__POSetElement__tos]))(var_poe) /* tos on */; ((void (*)(val*, val*))(var10->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var10, var_e) /* add on */; @@ -224,7 +223,7 @@ if (!var1) { var_class_name = p0 == NULL ? "null" : p0->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet#0", var_class_name); fprintf(stderr, " (%s:%d)\n", "lib/poset.nit", 50); -exit(1); +show_backtrace(1); } var_e = p0; var2 = ((val* (*)(val*))(self->class->vft[COLOR_poset__POSet__elements]))(self) /* elements on */; @@ -233,7 +232,7 @@ var4 = ((short int (*)(val*, val*))(var3->class->vft[COLOR_abstract_collection__ if (!var4) { fprintf(stderr, "Runtime error: %s", "Assert failed"); fprintf(stderr, " (%s:%d)\n", "lib/poset.nit", 63); -exit(1); +show_backtrace(1); } var5 = ((val* (*)(val*))(self->class->vft[COLOR_poset__POSet__elements]))(self) /* elements on */; var6 = ((val* (*)(val*, val*))(var5->class->vft[COLOR_abstract_collection__MapRead___91d_93d]))(var5, var_e) /* [] on */; @@ -333,7 +332,7 @@ if (!var) { var_class_name = p0 == NULL ? "null" : p0->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet#0", var_class_name); fprintf(stderr, " (%s:%d)\n", "lib/poset.nit", 67); -exit(1); +show_backtrace(1); } /* Covariant cast for argument 1 (t) isa POSet#0 */ /* isa POSet#0 */ @@ -349,7 +348,7 @@ if (!var1) { var_class_name5 = p1 == NULL ? "null" : p1->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet#0", var_class_name5); fprintf(stderr, " (%s:%d)\n", "lib/poset.nit", 67); -exit(1); +show_backtrace(1); } var_f = p0; var_t = p1; @@ -499,7 +498,7 @@ if (!var1) { var_class_name = p0 == NULL ? "null" : p0->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet#0", var_class_name); fprintf(stderr, " (%s:%d)\n", "lib/poset.nit", 109); -exit(1); +show_backtrace(1); } /* Covariant cast for argument 1 (t) isa POSet#0 */ /* isa POSet#0 */ @@ -515,7 +514,7 @@ if (!var2) { var_class_name6 = p1 == NULL ? "null" : p1->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet#0", var_class_name6); fprintf(stderr, " (%s:%d)\n", "lib/poset.nit", 109); -exit(1); +show_backtrace(1); } var_f = p0; var_t = p1; @@ -587,7 +586,7 @@ if (!var1) { var_class_name = p0 == NULL ? "null" : p0->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet#0", var_class_name); fprintf(stderr, " (%s:%d)\n", "lib/poset.nit", 118); -exit(1); +show_backtrace(1); } /* Covariant cast for argument 1 (t) isa POSet#0 */ /* isa POSet#0 */ @@ -603,7 +602,7 @@ if (!var2) { var_class_name6 = p1 == NULL ? "null" : p1->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet#0", var_class_name6); fprintf(stderr, " (%s:%d)\n", "lib/poset.nit", 118); -exit(1); +show_backtrace(1); } var_f = p0; var_t = p1; @@ -755,10 +754,8 @@ var11 = 1; var12 = NEW_array__NativeArray(var11, &type_array__NativeArraystring__String); ((struct instance_array__NativeArray*)var12)->values[0] = (val*) var6; ((void (*)(val*, val*, long))(var10->class->vft[COLOR_array__Array__with_native]))(var10, var12, var11) /* with_native on */; -CHECK_NEW_array__Array(var10); } ((void (*)(val*, val*, val*))(var->class->vft[COLOR_exec__OProcess__init]))(var, var1, var10) /* init on */; -CHECK_NEW_exec__OProcess(var); var_f = var; if (varonce13) { var14 = varonce13; @@ -804,7 +801,6 @@ var35 = NEW_array__NativeArray(var34, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var35)->values[1] = (val*) var_x; ((struct instance_array__NativeArray*)var35)->values[2] = (val*) var29; ((void (*)(val*, val*, long))(var33->class->vft[COLOR_array__Array__with_native]))(var33, var35, var34) /* with_native on */; -CHECK_NEW_array__Array(var33); } var36 = ((val* (*)(val*))(var33->class->vft[COLOR_string__Object__to_s]))(var33) /* to_s on */; ((void (*)(val*, val*))(var_f->class->vft[COLOR_stream__OStream__write]))(var_f, var36) /* write on */; @@ -857,7 +853,6 @@ var61 = NEW_array__NativeArray(var60, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var61)->values[3] = (val*) var_y; ((struct instance_array__NativeArray*)var61)->values[4] = (val*) var55; ((void (*)(val*, val*, long))(var59->class->vft[COLOR_array__Array__with_native]))(var59, var61, var60) /* with_native on */; -CHECK_NEW_array__Array(var59); } var62 = ((val* (*)(val*))(var59->class->vft[COLOR_string__Object__to_s]))(var59) /* to_s on */; ((void (*)(val*, val*))(var_f->class->vft[COLOR_stream__OStream__write]))(var_f, var62) /* write on */; @@ -899,7 +894,6 @@ var80 = NEW_array__NativeArray(var79, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var80)->values[3] = (val*) var_y; ((struct instance_array__NativeArray*)var80)->values[4] = (val*) var74; ((void (*)(val*, val*, long))(var78->class->vft[COLOR_array__Array__with_native]))(var78, var80, var79) /* with_native on */; -CHECK_NEW_array__Array(var78); } var81 = ((val* (*)(val*))(var78->class->vft[COLOR_string__Object__to_s]))(var78) /* to_s on */; ((void (*)(val*, val*))(var_f->class->vft[COLOR_stream__OStream__write]))(var_f, var81) /* write on */; @@ -981,7 +975,7 @@ if (!var1) { var_class_name = p0 == NULL ? "null" : p0->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet#0", var_class_name); fprintf(stderr, " (%s:%d)\n", "lib/poset.nit", 151); -exit(1); +show_backtrace(1); } /* Covariant cast for argument 1 (b) isa POSet#0 */ /* isa POSet#0 */ @@ -997,7 +991,7 @@ if (!var2) { var_class_name6 = p1 == NULL ? "null" : p1->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet#0", var_class_name6); fprintf(stderr, " (%s:%d)\n", "lib/poset.nit", 151); -exit(1); +show_backtrace(1); } var_a = p0; var_b = p1; @@ -1064,7 +1058,7 @@ var1 = self->attrs[COLOR_poset__POSetElement___64dposet].val; /* @poset on type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet[POSetElement#0]", var_class_name); fprintf(stderr, " (%s:%d)\n", "lib/poset.nit", 181); -exit(1); +show_backtrace(1); } self->attrs[COLOR_poset__POSetElement___64dposet].val = p0; /* @poset on */ RET_LABEL:; @@ -1118,7 +1112,7 @@ var1 = self->attrs[COLOR_poset__POSetElement___64delement].val; /* @element on < if (var1 == NULL) { fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @element"); fprintf(stderr, " (%s:%d)\n", "lib/poset.nit", 184); -exit(1); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -1154,7 +1148,7 @@ if (!var) { var_class_name = p0 == NULL ? "null" : p0->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSetElement#0", var_class_name); fprintf(stderr, " (%s:%d)\n", "lib/poset.nit", 184); -exit(1); +show_backtrace(1); } self->attrs[COLOR_poset__POSetElement___64delement].val = p0; /* @element on */ RET_LABEL:; @@ -1172,7 +1166,7 @@ var1 = self->attrs[COLOR_poset__POSetElement___64dtos].val; /* @tos on type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "HashSet[POSetElement#0]", var_class_name); fprintf(stderr, " (%s:%d)\n", "lib/poset.nit", 187); -exit(1); +show_backtrace(1); } self->attrs[COLOR_poset__POSetElement___64dtos].val = p0; /* @tos on */ RET_LABEL:; @@ -1226,7 +1220,7 @@ var1 = self->attrs[COLOR_poset__POSetElement___64dfroms].val; /* @froms on type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "HashSet[POSetElement#0]", var_class_name); fprintf(stderr, " (%s:%d)\n", "lib/poset.nit", 188); -exit(1); +show_backtrace(1); } self->attrs[COLOR_poset__POSetElement___64dfroms].val = p0; /* @froms on */ RET_LABEL:; @@ -1280,7 +1274,7 @@ var1 = self->attrs[COLOR_poset__POSetElement___64ddtos].val; /* @dtos on type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "HashSet[POSetElement#0]", var_class_name); fprintf(stderr, " (%s:%d)\n", "lib/poset.nit", 189); -exit(1); +show_backtrace(1); } self->attrs[COLOR_poset__POSetElement___64ddtos].val = p0; /* @dtos on */ RET_LABEL:; @@ -1334,7 +1328,7 @@ var1 = self->attrs[COLOR_poset__POSetElement___64ddfroms].val; /* @dfroms on type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "HashSet[POSetElement#0]", var_class_name); fprintf(stderr, " (%s:%d)\n", "lib/poset.nit", 190); -exit(1); +show_backtrace(1); } self->attrs[COLOR_poset__POSetElement___64ddfroms].val = p0; /* @dfroms on */ RET_LABEL:; @@ -1509,7 +1503,7 @@ if (!var1) { var_class_name = p0 == NULL ? "null" : p0->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSetElement#0", var_class_name); fprintf(stderr, " (%s:%d)\n", "lib/poset.nit", 222); -exit(1); +show_backtrace(1); } var_t = p0; var2 = ((val* (*)(val*))(self->class->vft[COLOR_poset__POSetElement__tos]))(self) /* tos on */; @@ -1557,7 +1551,7 @@ if (!var1) { var_class_name = p0 == NULL ? "null" : p0->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSetElement#0", var_class_name); fprintf(stderr, " (%s:%d)\n", "lib/poset.nit", 228); -exit(1); +show_backtrace(1); } var_t = p0; var3 = ((val* (*)(val*))(self->class->vft[COLOR_poset__POSetElement__element]))(self) /* element on */; @@ -1584,6 +1578,131 @@ var = var1; RET_LABEL:; return var; } +/* method poset#POSetElement#depth for (self: POSetElement[Object]): Int */ +long poset__POSetElement__depth(val* self) { +long var /* : Int */; +val* var1 /* : Collection[Object] */; +short int var2 /* : Bool */; +long var3 /* : Int */; +long var4 /* : Int */; +long var5 /* : Int */; +long var7 /* : Int */; +long var_min /* var min: Int */; +val* var8 /* : Collection[Object] */; +val* var9 /* : Iterator[nullable Object] */; +short int var10 /* : Bool */; +val* var11 /* : nullable Object */; +val* var_p /* var p: Object */; +val* var12 /* : POSet[Object] */; +val* var13 /* : POSetElement[Object] */; +long var14 /* : Int */; +long var15 /* : Int */; +long var16 /* : Int */; +long var18 /* : Int */; +long var_d /* var d: Int */; +short int var19 /* : Bool */; +long var20 /* : Int */; +long var21 /* : Int */; +long var23 /* : Int */; +short int var24 /* : Bool */; +short int var26 /* : Bool */; +short int var_ /* var : Bool */; +short int var27 /* : Bool */; +short int var29 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +short int var30 /* : Bool */; +var1 = ((val* (*)(val*))(self->class->vft[COLOR_poset__POSetElement__direct_greaters]))(self) /* direct_greaters on */; +var2 = ((short int (*)(val*))(var1->class->vft[COLOR_abstract_collection__Collection__is_empty]))(var1) /* is_empty on */; +if (var2){ +var3 = 0; +var = var3; +goto RET_LABEL; +} else { +} +var4 = 1; +{ /* Inline kernel#Int#unary - (var4) */ +var7 = -var4; +var5 = var7; +goto RET_LABEL6; +RET_LABEL6:(void)0; +} +var_min = var5; +var8 = ((val* (*)(val*))(self->class->vft[COLOR_poset__POSetElement__direct_greaters]))(self) /* direct_greaters on */; +var9 = ((val* (*)(val*))(var8->class->vft[COLOR_abstract_collection__Collection__iterator]))(var8) /* iterator on */; +for(;;) { +var10 = ((short int (*)(val*))(var9->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var9) /* is_ok on */; +if(!var10) break; +var11 = ((val* (*)(val*))(var9->class->vft[COLOR_abstract_collection__Iterator__item]))(var9) /* item on */; +var_p = var11; +var12 = ((val* (*)(val*))(self->class->vft[COLOR_poset__POSetElement__poset]))(self) /* poset on */; +var13 = ((val* (*)(val*, val*))(var12->class->vft[COLOR_poset__POSet___91d_93d]))(var12, var_p) /* [] on */; +var14 = ((long (*)(val*))(var13->class->vft[COLOR_poset__POSetElement__depth]))(var13) /* depth on */; +var15 = 1; +{ /* Inline kernel#Int#+ (var14,var15) */ +var18 = var14 + var15; +var16 = var18; +goto RET_LABEL17; +RET_LABEL17:(void)0; +} +var_d = var16; +var20 = 1; +{ /* Inline kernel#Int#unary - (var20) */ +var23 = -var20; +var21 = var23; +goto RET_LABEL22; +RET_LABEL22:(void)0; +} +{ /* Inline kernel#Int#== (var_min,var21) */ +var26 = var_min == var21; +var24 = var26; +goto RET_LABEL25; +RET_LABEL25:(void)0; +} +var_ = var24; +if (var24){ +var19 = var_; +} else { +{ /* Inline kernel#Int#< (var_d,var_min) */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var29 = 1; /* easy isa OTHER*/ +if (!var29) { +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", 265); +show_backtrace(1); +} +var30 = var_d < var_min; +var27 = var30; +goto RET_LABEL28; +RET_LABEL28:(void)0; +} +var19 = var27; +} +if (var19){ +var_min = var_d; +} else { +} +CONTINUE_label: (void)0; +((void (*)(val*))(var9->class->vft[COLOR_abstract_collection__Iterator__next]))(var9) /* next on */; +} +BREAK_label: (void)0; +var = var_min; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method poset#POSetElement#depth for (self: Object): Int */ +long VIRTUAL_poset__POSetElement__depth(val* self) { +long var /* : Int */; +long var1 /* : Int */; +var1 = poset__POSetElement__depth(self); +var = var1; +RET_LABEL:; +return var; +} /* method poset#POSetElement#init for (self: POSetElement[Object], POSet[Object], Object, Int) */ void poset__POSetElement__init(val* self, val* p0, val* p1, long p2) { short int var /* : Bool */; @@ -1610,7 +1729,7 @@ if (!var) { var_class_name = p0 == NULL ? "null" : p0->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet[POSetElement#0]", var_class_name); fprintf(stderr, " (%s:%d)\n", "lib/poset.nit", 168); -exit(1); +show_backtrace(1); } /* Covariant cast for argument 1 (element) isa POSetElement#0 */ /* isa POSetElement#0 */ @@ -1626,7 +1745,7 @@ if (!var1) { var_class_name5 = p1 == NULL ? "null" : p1->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSetElement#0", var_class_name5); fprintf(stderr, " (%s:%d)\n", "lib/poset.nit", 168); -exit(1); +show_backtrace(1); } self->attrs[COLOR_poset__POSetElement___64dposet].val = p0; /* @poset on */ self->attrs[COLOR_poset__POSetElement___64delement].val = p1; /* @element on */