if (var1 == NULL) {
fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @curr_node");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 24);
-exit(1);
+show_backtrace(1);
}
var = var1;
RET_LABEL:;
if (var1 == NULL) {
fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @visit_stack");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 26);
-exit(1);
+show_backtrace(1);
}
var = var1;
RET_LABEL:;
if (var1 == NULL) {
fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @parent_node");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 39);
-exit(1);
+show_backtrace(1);
}
var = var1;
RET_LABEL:;
val* var /* : ConcatNode */;
var = NEW_ropes__ConcatNode(&type_ropes__ConcatNode);
((void (*)(val*))(var->class->vft[COLOR_ropes__ConcatNode__init]))(var) /* init on <var:ConcatNode>*/;
-CHECK_NEW_ropes__ConcatNode(var);
((void (*)(val*, val*))(self->class->vft[COLOR_ropes__Rope__parent_node_61d]))(self, var) /* parent_node= on <self:Rope>*/;
RET_LABEL:;
}
var_str = p0;
var = NEW_ropes__ConcatNode(&type_ropes__ConcatNode);
((void (*)(val*))(var->class->vft[COLOR_ropes__ConcatNode__init]))(var) /* init on <var:ConcatNode>*/;
-CHECK_NEW_ropes__ConcatNode(var);
((void (*)(val*, val*))(self->class->vft[COLOR_ropes__Rope__parent_node_61d]))(self, var) /* parent_node= on <self:Rope>*/;
var1 = ((val* (*)(val*))(self->class->vft[COLOR_ropes__Rope__parent_node]))(self) /* parent_node on <self:Rope>*/;
/* <var1:RopeNode> isa ConcatNode */
var_class_name = var1 == NULL ? "null" : var1->type->name;
fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ConcatNode", var_class_name);
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 50);
-exit(1);
+show_backtrace(1);
}
var3 = NEW_ropes__LeafNode(&type_ropes__LeafNode);
((void (*)(val*, val*))(var3->class->vft[COLOR_ropes__LeafNode__init]))(var3, var_str) /* init on <var3:LeafNode>*/;
-CHECK_NEW_ropes__LeafNode(var3);
((void (*)(val*, val*))(var1->class->vft[COLOR_ropes__ConcatNode__right_child_61d]))(var1, var3) /* right_child= on <var1:RopeNode(ConcatNode)>*/;
var4 = ((val* (*)(val*))(self->class->vft[COLOR_ropes__Rope__parent_node]))(self) /* parent_node on <self:Rope>*/;
/* <var4:RopeNode> isa ConcatNode */
var_class_name8 = var4 == NULL ? "null" : var4->type->name;
fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ConcatNode", var_class_name8);
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 51);
-exit(1);
+show_backtrace(1);
}
((void (*)(val*))(var4->class->vft[COLOR_ropes__ConcatNode__update_data]))(var4) /* update_data on <var4:RopeNode(ConcatNode)>*/;
RET_LABEL:;
val* var1 /* : CharRopeView */;
var1 = NEW_ropes__CharRopeView(&type_ropes__CharRopeView);
((void (*)(val*, val*))(var1->class->vft[COLOR_ropes__CharRopeView__init]))(var1, self) /* init on <var1:CharRopeView>*/;
-CHECK_NEW_ropes__CharRopeView(var1);
var = var1;
goto RET_LABEL;
RET_LABEL:;
if (var5 == NULL) {
fprintf(stderr, "Runtime error: %s", "Cast failed");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 70);
-exit(1);
+show_backtrace(1);
}
var = var5;
goto RET_LABEL;
var_offset = var10;
var11 = NEW_ropes__DFSRopeLeafIterator(&type_ropes__DFSRopeLeafIterator);
((void (*)(val*, val*))(var11->class->vft[COLOR_ropes__DFSRopeLeafIterator__init]))(var11, self) /* init on <var11:DFSRopeLeafIterator>*/;
-CHECK_NEW_ropes__DFSRopeLeafIterator(var11);
var_iter = var11;
for(;;) {
var12 = ((short int (*)(val*))(var_iter->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var_iter) /* is_ok on <var_iter:DFSRopeLeafIterator>*/;
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);
-exit(1);
+show_backtrace(1);
}
var6 = var_position >= var2;
var3 = var6;
var_class_name13 = type_kernel__Int.name;
fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13);
fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
-exit(1);
+show_backtrace(1);
}
var14 = var_position < var7;
var8 = var14;
if (!var1) {
fprintf(stderr, "Runtime error: %s", "Assert failed");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 96);
-exit(1);
+show_backtrace(1);
}
var15 = ((val* (*)(val*))(self->class->vft[COLOR_ropes__Rope__parent_node]))(self) /* parent_node on <self:Rope>*/;
var_curr_node = var15;
var16 = NEW_list__List(&type_list__Listropes__TupleVisitNode);
((void (*)(val*))(var16->class->vft[COLOR_list__List__init]))(var16) /* init on <var16:List[TupleVisitNode]>*/;
-CHECK_NEW_list__List(var16);
var_visit_stack = var16;
for(;;) {
/* <var_curr_node:nullable RopeNode> isa ConcatNode */
if (var17){
var20 = NEW_ropes__TupleVisitNode(&type_ropes__TupleVisitNode);
((void (*)(val*, val*))(var20->class->vft[COLOR_ropes__TupleVisitNode__init]))(var20, var_curr_node) /* init on <var20:TupleVisitNode>*/;
-CHECK_NEW_ropes__TupleVisitNode(var20);
var_curr_visit_tuple = var20;
var22 = ((val* (*)(val*))(var_curr_node->class->vft[COLOR_ropes__ConcatNode__left_child]))(var_curr_node) /* left_child on <var_curr_node:nullable RopeNode(ConcatNode)>*/;
var23 = NULL;
if (var25 == NULL) {
fprintf(stderr, "Runtime error: %s", "Reciever is null");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 107);
-exit(1);
+show_backtrace(1);
} else {
var26 = ((long (*)(val*))(var25->class->vft[COLOR_ropes__RopeNode__length]))(var25) /* length on <var25:nullable RopeNode>*/;
}
var_class_name32 = type_kernel__Int.name;
fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32);
fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
-exit(1);
+show_backtrace(1);
}
var33 = var_position < var26;
var27 = var33;
if (var44 == NULL) {
fprintf(stderr, "Runtime error: %s", "Reciever is null");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 113);
-exit(1);
+show_backtrace(1);
} else {
var45 = ((long (*)(val*))(var44->class->vft[COLOR_ropes__RopeNode__length]))(var44) /* length on <var44:nullable RopeNode>*/;
}
((void (*)(val*, val*))(self->class->vft[COLOR_file__Object__print]))(self, var50) /* print on <self:Rope>*/;
fprintf(stderr, "Runtime error: %s", "Aborted");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 117);
-exit(1);
+show_backtrace(1);
}
}
((void (*)(val*, val*))(var_visit_stack->class->vft[COLOR_abstract_collection__Sequence__push]))(var_visit_stack, var_curr_visit_tuple) /* push on <var_visit_stack:List[TupleVisitNode]>*/;
if (var54){
var57 = NEW_ropes__TupleLeafNodePos(&type_ropes__TupleLeafNodePos);
((void (*)(val*, val*, long, val*))(var57->class->vft[COLOR_ropes__TupleLeafNodePos__init]))(var57, var_curr_node, var_position, var_visit_stack) /* init on <var57:TupleLeafNodePos>*/;
-CHECK_NEW_ropes__TupleLeafNodePos(var57);
var = var57;
goto RET_LABEL;
} else {
var_other = p0;
var1 = NEW_ropes__BufferRope(&type_ropes__BufferRope);
((void (*)(val*))(var1->class->vft[COLOR_ropes__BufferRope__init]))(var1) /* init on <var1:BufferRope>*/;
-CHECK_NEW_ropes__BufferRope(var1);
var_new_rope = var1;
var2 = NEW_ropes__DFSRopeLeafIterator(&type_ropes__DFSRopeLeafIterator);
((void (*)(val*, val*))(var2->class->vft[COLOR_ropes__DFSRopeLeafIterator__init]))(var2, self) /* init on <var2:DFSRopeLeafIterator>*/;
-CHECK_NEW_ropes__DFSRopeLeafIterator(var2);
var_first_iter = var2;
for(;;) {
var3 = ((short int (*)(val*))(var_first_iter->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var_first_iter) /* is_ok on <var_first_iter:DFSRopeLeafIterator>*/;
BREAK_label: (void)0;
var7 = NEW_ropes__DFSRopeLeafIterator(&type_ropes__DFSRopeLeafIterator);
((void (*)(val*, val*))(var7->class->vft[COLOR_ropes__DFSRopeLeafIterator__init]))(var7, var_other) /* init on <var7:DFSRopeLeafIterator>*/;
-CHECK_NEW_ropes__DFSRopeLeafIterator(var7);
var_second_iter = var7;
for(;;) {
var8 = ((short int (*)(val*))(var_second_iter->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var_second_iter) /* is_ok on <var_second_iter:DFSRopeLeafIterator>*/;
var_ropes = p0;
var1 = NEW_ropes__BufferRope(&type_ropes__BufferRope);
((void (*)(val*))(var1->class->vft[COLOR_ropes__BufferRope__init]))(var1) /* init on <var1:BufferRope>*/;
-CHECK_NEW_ropes__BufferRope(var1);
var_new_rope = var1;
var2 = ((val* (*)(val*))(self->class->vft[COLOR_ropes__Rope__iterator]))(self) /* iterator on <self:Rope>*/;
var_self_iter = var2;
var_repeats = p0;
var1 = NEW_ropes__BufferRope(&type_ropes__BufferRope);
((void (*)(val*))(var1->class->vft[COLOR_ropes__BufferRope__init]))(var1) /* init on <var1:BufferRope>*/;
-CHECK_NEW_ropes__BufferRope(var1);
var_new_rope = var1;
var2 = ((val* (*)(val*))(self->class->vft[COLOR_string__Object__to_s]))(self) /* to_s on <self:Rope>*/;
var_str = var2;
var5 = BOX_kernel__Int(var4); /* autobox from Int to Discrete */
var6 = BOX_kernel__Int(var_repeats); /* autobox from Int to Discrete */
((void (*)(val*, val*, val*))(var3->class->vft[COLOR_range__Range__init]))(var3, var5, var6) /* init on <var3:Range[Int]>*/;
-CHECK_NEW_range__Range(var3);
var7 = ((val* (*)(val*))(var3->class->vft[COLOR_abstract_collection__Collection__iterator]))(var3) /* iterator on <var3:Range[Int]>*/;
for(;;) {
var8 = ((short int (*)(val*))(var7->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var7) /* is_ok on <var7:Iterator[nullable Object]>*/;
val* var1 /* : DFSRopeLeafIterator */;
var1 = NEW_ropes__DFSRopeLeafIterator(&type_ropes__DFSRopeLeafIterator);
((void (*)(val*, val*))(var1->class->vft[COLOR_ropes__DFSRopeLeafIterator__init]))(var1, self) /* init on <var1:DFSRopeLeafIterator>*/;
-CHECK_NEW_ropes__DFSRopeLeafIterator(var1);
var = var1;
goto RET_LABEL;
RET_LABEL:;
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);
-exit(1);
+show_backtrace(1);
}
var5 = var_count >= var1;
var2 = var5;
if (!var2) {
fprintf(stderr, "Runtime error: %s", "Assert failed");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 205);
-exit(1);
+show_backtrace(1);
}
var6 = 0;
{ /* Inline kernel#Int#< (var_index_from,var6) */
var_class_name12 = type_kernel__Int.name;
fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name12);
fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
-exit(1);
+show_backtrace(1);
}
var13 = var_index_from < var6;
var7 = var13;
var_class_name23 = type_kernel__Int.name;
fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name23);
fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
-exit(1);
+show_backtrace(1);
}
var24 = var_count < var17;
var18 = var24;
var_class_name36 = type_kernel__Int.name;
fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name36);
fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
-exit(1);
+show_backtrace(1);
}
var37 = var27 >= var30;
var31 = var37;
}
var42 = NEW_ropes__BufferRope(&type_ropes__BufferRope);
((void (*)(val*))(var42->class->vft[COLOR_ropes__BufferRope__init]))(var42) /* init on <var42:BufferRope>*/;
-CHECK_NEW_ropes__BufferRope(var42);
var_buffer = var42;
var43 = NEW_ropes__DFSRopeLeafIterator(&type_ropes__DFSRopeLeafIterator);
((void (*)(val*, val*, long))(var43->class->vft[COLOR_ropes__DFSRopeLeafIterator__with_index]))(var43, self, var_index_from) /* with_index on <var43:DFSRopeLeafIterator>*/;
-CHECK_NEW_ropes__DFSRopeLeafIterator(var43);
var_iter = var43;
var44 = ((long (*)(val*))(var_iter->class->vft[COLOR_ropes__RopeIterator__pos]))(var_iter) /* pos on <var_iter:DFSRopeLeafIterator>*/;
{ /* Inline kernel#Int#- (var_index_from,var44) */
var_class_name59 = type_kernel__Int.name;
fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name59);
fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
-exit(1);
+show_backtrace(1);
}
var60 = var_curr_subrope_index > var53;
var54 = var60;
var_class_name69 = type_kernel__Int.name;
fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name69);
fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
-exit(1);
+show_backtrace(1);
}
var70 = var_count >= var63;
var64 = var70;
var_class_name97 = type_kernel__Int.name;
fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name97);
fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
-exit(1);
+show_backtrace(1);
}
var98 = var_count >= var91;
var92 = var98;
val* var7 /* : BufferRope */;
var1 = NEW_ropes__BufferRope(&type_ropes__BufferRope);
((void (*)(val*))(var1->class->vft[COLOR_ropes__BufferRope__init]))(var1) /* init on <var1:BufferRope>*/;
-CHECK_NEW_ropes__BufferRope(var1);
var_new_rope = var1;
var2 = NEW_ropes__DFSRopeLeafIterator(&type_ropes__DFSRopeLeafIterator);
((void (*)(val*, val*))(var2->class->vft[COLOR_ropes__DFSRopeLeafIterator__init]))(var2, self) /* init on <var2:DFSRopeLeafIterator>*/;
-CHECK_NEW_ropes__DFSRopeLeafIterator(var2);
var_iter = var2;
for(;;) {
var3 = ((short int (*)(val*))(var_iter->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var_iter) /* is_ok on <var_iter:DFSRopeLeafIterator>*/;
val* var7 /* : BufferRope */;
var1 = NEW_ropes__BufferRope(&type_ropes__BufferRope);
((void (*)(val*))(var1->class->vft[COLOR_ropes__BufferRope__init]))(var1) /* init on <var1:BufferRope>*/;
-CHECK_NEW_ropes__BufferRope(var1);
var_new_rope = var1;
var2 = NEW_ropes__DFSRopeLeafIterator(&type_ropes__DFSRopeLeafIterator);
((void (*)(val*, val*))(var2->class->vft[COLOR_ropes__DFSRopeLeafIterator__init]))(var2, self) /* init on <var2:DFSRopeLeafIterator>*/;
-CHECK_NEW_ropes__DFSRopeLeafIterator(var2);
var_iter = var2;
for(;;) {
var3 = ((short int (*)(val*))(var_iter->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var_iter) /* is_ok on <var_iter:DFSRopeLeafIterator>*/;
}
var12 = NEW_ropes__RopeCharIterator(&type_ropes__RopeCharIterator);
((void (*)(val*, val*))(var12->class->vft[COLOR_ropes__RopeCharIterator__init]))(var12, self) /* init on <var12:RopeCharIterator>*/;
-CHECK_NEW_ropes__RopeCharIterator(var12);
var_self_iter = var12;
/* <var_other:nullable Object> isa Rope */
cltype14 = type_ropes__Rope.color;
}
var23 = NEW_ropes__RopeCharIterator(&type_ropes__RopeCharIterator);
((void (*)(val*, val*))(var23->class->vft[COLOR_ropes__RopeCharIterator__init]))(var23, var_other) /* init on <var23:RopeCharIterator>*/;
-CHECK_NEW_ropes__RopeCharIterator(var23);
var_other_iterator = var23;
for(;;) {
var24 = ((short int (*)(val*))(var_self_iter->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var_self_iter) /* is_ok on <var_self_iter:RopeCharIterator>*/;
var_class_name = p0 == NULL ? "null" : p0->type->name;
fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 301);
-exit(1);
+show_backtrace(1);
}
var_other = p0;
var2 = ((val* (*)(val*))(var_other->class->vft[COLOR_ropes__Rope__chars]))(var_other) /* chars on <var_other:Rope>*/;
var_class_name18 = var12 == NULL ? "null" : var12->type->name;
fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18);
fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 437);
-exit(1);
+show_backtrace(1);
}
var19 = ((struct instance_kernel__Char*)var12)->value; /* autounbox from nullable Object to Char */;
var20 = var_i < var19;
var_class_name28 = var22 == NULL ? "null" : var22->type->name;
fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28);
fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 439);
-exit(1);
+show_backtrace(1);
}
var29 = ((struct instance_kernel__Char*)var22)->value; /* autounbox from nullable Object to Char */;
var30 = var_i > var29;
if (!var2) {
fprintf(stderr, "Runtime error: %s", "Assert failed");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 353);
-exit(1);
+show_backtrace(1);
}
var3 = ((val* (*)(val*))(var_root->class->vft[COLOR_ropes__ConcatNode__left_child]))(var_root) /* left_child on <var_root:ConcatNode>*/;
/* <var3:nullable RopeNode> isa ConcatNode */
var_class_name = var3 == NULL ? "null" : var3->type->name;
fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ConcatNode", var_class_name);
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 354);
-exit(1);
+show_backtrace(1);
}
var_pivot = var3;
var5 = ((val* (*)(val*))(var_pivot->class->vft[COLOR_ropes__ConcatNode__right_child]))(var_pivot) /* right_child on <var_pivot:ConcatNode>*/;
if (!var2) {
fprintf(stderr, "Runtime error: %s", "Assert failed");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 386);
-exit(1);
+show_backtrace(1);
}
var3 = ((val* (*)(val*))(var_root->class->vft[COLOR_ropes__ConcatNode__right_child]))(var_root) /* right_child on <var_root:ConcatNode>*/;
/* <var3:nullable RopeNode> isa ConcatNode */
var_class_name = var3 == NULL ? "null" : var3->type->name;
fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ConcatNode", var_class_name);
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 387);
-exit(1);
+show_backtrace(1);
}
var_pivot = var3;
var5 = ((val* (*)(val*))(var_pivot->class->vft[COLOR_ropes__ConcatNode__left_child]))(var_pivot) /* left_child on <var_pivot:ConcatNode>*/;
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", 261);
-exit(1);
+show_backtrace(1);
}
var11 = var_node_balance < var5;
var8 = var11;
var_class_name18 = type_kernel__Int.name;
fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18);
fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
-exit(1);
+show_backtrace(1);
}
var19 = var_node_balance > var12;
var13 = var19;
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", 261);
-exit(1);
+show_backtrace(1);
}
var8 = var_balance_factor < var2;
var5 = var8;
if (var9 == NULL) {
fprintf(stderr, "Runtime error: %s", "Reciever is null");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 429);
-exit(1);
+show_backtrace(1);
} else {
var10 = ((long (*)(val*))(var9->class->vft[COLOR_ropes__RopeNode__balance_factor]))(var9) /* balance_factor on <var9:nullable RopeNode>*/;
}
var_class_name17 = type_kernel__Int.name;
fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17);
fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
-exit(1);
+show_backtrace(1);
}
var18 = var_right_balance < var11;
var12 = var18;
var_class_name23 = var19 == NULL ? "null" : var19->type->name;
fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ConcatNode", var_class_name23);
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 433);
-exit(1);
+show_backtrace(1);
}
((void (*)(val*, val*))(self->class->vft[COLOR_ropes__BufferRope__rotate_right]))(self, var19) /* rotate_right on <self:BufferRope>*/;
((void (*)(val*, val*))(self->class->vft[COLOR_ropes__BufferRope__rotate_left]))(self, var_node) /* rotate_left on <self:BufferRope>*/;
if (var24 == NULL) {
fprintf(stderr, "Runtime error: %s", "Reciever is null");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 437);
-exit(1);
+show_backtrace(1);
} else {
var25 = ((long (*)(val*))(var24->class->vft[COLOR_ropes__RopeNode__balance_factor]))(var24) /* balance_factor on <var24:nullable RopeNode>*/;
}
var_class_name32 = type_kernel__Int.name;
fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32);
fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
-exit(1);
+show_backtrace(1);
}
var33 = var_left_balance > var26;
var27 = var33;
var_class_name38 = var34 == NULL ? "null" : var34->type->name;
fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ConcatNode", var_class_name38);
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 441);
-exit(1);
+show_backtrace(1);
}
((void (*)(val*, val*))(self->class->vft[COLOR_ropes__BufferRope__rotate_left]))(self, var34) /* rotate_left on <self:BufferRope>*/;
((void (*)(val*, val*))(self->class->vft[COLOR_ropes__BufferRope__rotate_right]))(self, var_node) /* rotate_right on <self:BufferRope>*/;
if (var10 == NULL) {
fprintf(stderr, "Runtime error: %s", "Cast failed");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 458);
-exit(1);
+show_backtrace(1);
}
var_last_node = var10;
CONTINUE_label: (void)0;
var14 = NEW_ropes__LeafNode(&type_ropes__LeafNode);
var15 = ((val* (*)(val*))(var_str->class->vft[COLOR_string__Object__to_s]))(var_str) /* to_s on <var_str:Collection[Char](AbstractString)>*/;
((void (*)(val*, val*))(var14->class->vft[COLOR_ropes__LeafNode__init]))(var14, var15) /* init on <var14:LeafNode>*/;
-CHECK_NEW_ropes__LeafNode(var14);
((void (*)(val*, val*))(var_last_node->class->vft[COLOR_ropes__ConcatNode__right_child_61d]))(var_last_node, var14) /* right_child= on <var_last_node:RopeNode(ConcatNode)>*/;
} else {
/* <var_last_node:RopeNode> isa LeafNode */
var_last_node_parent = var19;
var20 = NEW_ropes__ConcatNode(&type_ropes__ConcatNode);
((void (*)(val*))(var20->class->vft[COLOR_ropes__ConcatNode__init]))(var20) /* init on <var20:ConcatNode>*/;
-CHECK_NEW_ropes__ConcatNode(var20);
var_new_concat = var20;
if (var_last_node_parent == NULL) {
fprintf(stderr, "Runtime error: %s", "Reciever is null");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 466);
-exit(1);
+show_backtrace(1);
} else {
((void (*)(val*, val*))(var_last_node_parent->class->vft[COLOR_ropes__ConcatNode__right_child_61d]))(var_last_node_parent, var_new_concat) /* right_child= on <var_last_node_parent:nullable ConcatNode>*/;
}
var21 = NEW_ropes__LeafNode(&type_ropes__LeafNode);
var22 = ((val* (*)(val*))(var_str->class->vft[COLOR_string__Object__to_s]))(var_str) /* to_s on <var_str:Collection[Char](AbstractString)>*/;
((void (*)(val*, val*))(var21->class->vft[COLOR_ropes__LeafNode__init]))(var21, var22) /* init on <var21:LeafNode>*/;
-CHECK_NEW_ropes__LeafNode(var21);
((void (*)(val*, val*))(var_new_concat->class->vft[COLOR_ropes__ConcatNode__right_child_61d]))(var_new_concat, var21) /* right_child= on <var_new_concat:ConcatNode>*/;
var_last_node = var_new_concat;
} else {
((void (*)(val*, val*))(self->class->vft[COLOR_file__Object__print]))(self, var23) /* print on <self:BufferRope>*/;
fprintf(stderr, "Runtime error: %s", "Aborted");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 472);
-exit(1);
+show_backtrace(1);
}
}
((void (*)(val*, val*))(self->class->vft[COLOR_ropes__BufferRope__balance_from_node]))(self, var_last_node) /* balance_from_node on <self:BufferRope>*/;
var27 = NEW_string__Buffer(&type_string__Buffer);
var28 = ((long (*)(val*))(var_str->class->vft[COLOR_abstract_collection__Collection__length]))(var_str) /* length on <var_str:Collection[Char]>*/;
((void (*)(val*, long))(var27->class->vft[COLOR_string__Buffer__with_capacity]))(var27, var28) /* with_capacity on <var27:Buffer>*/;
-CHECK_NEW_string__Buffer(var27);
var_buf = var27;
var29 = ((val* (*)(val*))(var_str->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_str) /* iterator on <var_str:Collection[Char]>*/;
for(;;) {
if (var10 == NULL) {
fprintf(stderr, "Runtime error: %s", "Cast failed");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 505);
-exit(1);
+show_backtrace(1);
}
var_curr_node = var10;
CONTINUE_label: (void)0;
var14 = NEW_ropes__LeafNode(&type_ropes__LeafNode);
var15 = ((val* (*)(val*))(var_str->class->vft[COLOR_string__Object__to_s]))(var_str) /* to_s on <var_str:Collection[Char](AbstractString)>*/;
((void (*)(val*, val*))(var14->class->vft[COLOR_ropes__LeafNode__init]))(var14, var15) /* init on <var14:LeafNode>*/;
-CHECK_NEW_ropes__LeafNode(var14);
((void (*)(val*, val*))(var_curr_node->class->vft[COLOR_ropes__ConcatNode__left_child_61d]))(var_curr_node, var14) /* left_child= on <var_curr_node:RopeNode(ConcatNode)>*/;
} else {
/* <var_curr_node:RopeNode> isa LeafNode */
var_parent = var19;
var20 = NEW_ropes__ConcatNode(&type_ropes__ConcatNode);
((void (*)(val*))(var20->class->vft[COLOR_ropes__ConcatNode__init]))(var20) /* init on <var20:ConcatNode>*/;
-CHECK_NEW_ropes__ConcatNode(var20);
var_new_concat = var20;
var21 = NEW_ropes__LeafNode(&type_ropes__LeafNode);
var22 = ((val* (*)(val*))(var_str->class->vft[COLOR_string__Object__to_s]))(var_str) /* to_s on <var_str:Collection[Char](AbstractString)>*/;
((void (*)(val*, val*))(var21->class->vft[COLOR_ropes__LeafNode__init]))(var21, var22) /* init on <var21:LeafNode>*/;
-CHECK_NEW_ropes__LeafNode(var21);
var_new_leaf = var21;
((void (*)(val*, val*))(var_new_concat->class->vft[COLOR_ropes__ConcatNode__left_child_61d]))(var_new_concat, var_new_leaf) /* left_child= on <var_new_concat:ConcatNode>*/;
((void (*)(val*, val*))(var_new_concat->class->vft[COLOR_ropes__ConcatNode__right_child_61d]))(var_new_concat, var_curr_node) /* right_child= on <var_new_concat:ConcatNode>*/;
if (var_parent == NULL) {
fprintf(stderr, "Runtime error: %s", "Reciever is null");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 516);
-exit(1);
+show_backtrace(1);
} else {
((void (*)(val*, val*))(var_parent->class->vft[COLOR_ropes__ConcatNode__left_child_61d]))(var_parent, var_new_concat) /* left_child= on <var_parent:nullable ConcatNode>*/;
}
((void (*)(val*, val*))(self->class->vft[COLOR_file__Object__print]))(self, var23) /* print on <self:BufferRope>*/;
fprintf(stderr, "Runtime error: %s", "Aborted");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 520);
-exit(1);
+show_backtrace(1);
}
}
((void (*)(val*, val*))(self->class->vft[COLOR_ropes__BufferRope__balance_from_node]))(self, var_curr_node) /* balance_from_node on <self:BufferRope>*/;
var27 = NEW_string__Buffer(&type_string__Buffer);
var28 = ((long (*)(val*))(var_str->class->vft[COLOR_abstract_collection__Collection__length]))(var_str) /* length on <var_str:Collection[Char]>*/;
((void (*)(val*, long))(var27->class->vft[COLOR_string__Buffer__with_capacity]))(var27, var28) /* with_capacity on <var27:Buffer>*/;
-CHECK_NEW_string__Buffer(var27);
var_buf = var27;
var29 = ((val* (*)(val*))(var_str->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_str) /* iterator on <var_str:Collection[Char]>*/;
for(;;) {
var_str = p0;
var1 = NEW_ropes__DFSRopeLeafIterator(&type_ropes__DFSRopeLeafIterator);
((void (*)(val*, val*))(var1->class->vft[COLOR_ropes__DFSRopeLeafIterator__init]))(var1, var_str) /* init on <var1:DFSRopeLeafIterator>*/;
-CHECK_NEW_ropes__DFSRopeLeafIterator(var1);
var_other_iter = var1;
var2 = NEW_list__List(&type_list__Liststring__String);
((void (*)(val*))(var2->class->vft[COLOR_list__List__init]))(var2) /* init on <var2:List[String]>*/;
-CHECK_NEW_list__List(var2);
var_modif_list = var2;
for(;;) {
var3 = ((short int (*)(val*))(var_other_iter->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var_other_iter) /* is_ok on <var_other_iter:DFSRopeLeafIterator>*/;
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);
-exit(1);
+show_backtrace(1);
}
var11 = var6 > var7;
var8 = var11;
val* var11 /* : nullable String */;
var1 = NEW_ropes__BufferRope(&type_ropes__BufferRope);
((void (*)(val*))(var1->class->vft[COLOR_ropes__BufferRope__init]))(var1) /* init on <var1:BufferRope>*/;
-CHECK_NEW_ropes__BufferRope(var1);
var_buffer_rope = var1;
var2 = NEW_ropes__ImmutableRope(&type_ropes__ImmutableRope);
((void (*)(val*))(var2->class->vft[COLOR_ropes__ImmutableRope__init]))(var2) /* init on <var2:ImmutableRope>*/;
-CHECK_NEW_ropes__ImmutableRope(var2);
var_new_rope = var2;
var3 = NEW_ropes__DFSRopeLeafIterator(&type_ropes__DFSRopeLeafIterator);
((void (*)(val*, val*))(var3->class->vft[COLOR_ropes__DFSRopeLeafIterator__init]))(var3, self) /* init on <var3:DFSRopeLeafIterator>*/;
-CHECK_NEW_ropes__DFSRopeLeafIterator(var3);
var_iter = var3;
for(;;) {
var4 = ((short int (*)(val*))(var_iter->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var_iter) /* is_ok on <var_iter:DFSRopeLeafIterator>*/;
val* var2 /* : RopeNode */;
var1 = NEW_ropes__ImmutableRope(&type_ropes__ImmutableRope);
((void (*)(val*))(var1->class->vft[COLOR_ropes__ImmutableRope__init]))(var1) /* init on <var1:ImmutableRope>*/;
-CHECK_NEW_ropes__ImmutableRope(var1);
var_immutable_self = var1;
var2 = ((val* (*)(val*))(self->class->vft[COLOR_ropes__Rope__parent_node]))(self) /* parent_node on <self:BufferRope>*/;
((void (*)(val*, val*))(var_immutable_self->class->vft[COLOR_ropes__Rope__parent_node_61d]))(var_immutable_self, var2) /* parent_node= on <var_immutable_self:ImmutableRope>*/;
var_class_name = var1 == NULL ? "null" : var1->type->name;
fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "BufferRope", var_class_name);
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 603);
-exit(1);
+show_backtrace(1);
}
var = var1;
goto RET_LABEL;
var_class_name = var1 == NULL ? "null" : var1->type->name;
fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "BufferRope", var_class_name);
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 608);
-exit(1);
+show_backtrace(1);
}
var = var1;
goto RET_LABEL;
var_class_name = var1 == NULL ? "null" : var1->type->name;
fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "BufferRope", var_class_name);
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 613);
-exit(1);
+show_backtrace(1);
}
var = var1;
goto RET_LABEL;
var_class_name = var1 == NULL ? "null" : var1->type->name;
fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "BufferRope", var_class_name);
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 618);
-exit(1);
+show_backtrace(1);
}
var = var1;
goto RET_LABEL;
if (var8 == NULL) {
fprintf(stderr, "Runtime error: %s", "Cast failed");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 629);
-exit(1);
+show_backtrace(1);
}
var = var8;
goto RET_LABEL;
var_class_name = var1 == NULL ? "null" : var1->type->name;
fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "BufferRope", var_class_name);
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 654);
-exit(1);
+show_backtrace(1);
}
var3 = ((val* (*)(val*))(var1->class->vft[COLOR_ropes__BufferRope__to_immutable]))(var1) /* to_immutable on <var1:Rope(BufferRope)>*/;
var = var3;
var_class_name = var1 == NULL ? "null" : var1->type->name;
fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "BufferRope", var_class_name);
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 659);
-exit(1);
+show_backtrace(1);
}
var3 = ((val* (*)(val*))(var1->class->vft[COLOR_ropes__BufferRope__to_immutable]))(var1) /* to_immutable on <var1:Rope(BufferRope)>*/;
var = var3;
var_class_name = var1 == NULL ? "null" : var1->type->name;
fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "BufferRope", var_class_name);
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 664);
-exit(1);
+show_backtrace(1);
}
var3 = ((val* (*)(val*))(var1->class->vft[COLOR_ropes__BufferRope__to_immutable]))(var1) /* to_immutable on <var1:Rope(BufferRope)>*/;
var = var3;
var_class_name = var1 == NULL ? "null" : var1->type->name;
fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "BufferRope", var_class_name);
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 669);
-exit(1);
+show_backtrace(1);
}
var3 = ((val* (*)(val*))(var1->class->vft[COLOR_ropes__BufferRope__to_immutable]))(var1) /* to_immutable on <var1:Rope(BufferRope)>*/;
var = var3;
if (var1 == NULL) {
fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @target");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 681);
-exit(1);
+show_backtrace(1);
}
var = var1;
RET_LABEL:;
var_class_name = type_kernel__Char.name;
fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "SequenceRead#0", var_class_name);
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 697);
-exit(1);
+show_backtrace(1);
}
var_char = p0;
var2 = NEW_ropes__RopeCharIterator(&type_ropes__RopeCharIterator);
var3 = ((val* (*)(val*))(self->class->vft[COLOR_ropes__CharRopeView__target]))(self) /* target on <self:CharRopeView>*/;
((void (*)(val*, val*))(var2->class->vft[COLOR_ropes__RopeCharIterator__init]))(var2, var3) /* init on <var2:RopeCharIterator>*/;
-CHECK_NEW_ropes__RopeCharIterator(var2);
var_intern_iter = var2;
for(;;) {
var4 = ((short int (*)(val*))(var_intern_iter->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var_intern_iter) /* is_ok on <var_intern_iter:RopeCharIterator>*/;
var1 = NEW_ropes__RopeCharIterator(&type_ropes__RopeCharIterator);
var2 = ((val* (*)(val*))(self->class->vft[COLOR_ropes__CharRopeView__target]))(self) /* target on <self:CharRopeView>*/;
((void (*)(val*, val*))(var1->class->vft[COLOR_ropes__RopeCharIterator__init]))(var1, var2) /* init on <var1:RopeCharIterator>*/;
-CHECK_NEW_ropes__RopeCharIterator(var1);
var = var1;
goto RET_LABEL;
RET_LABEL:;
var_class_name = type_kernel__Char.name;
fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection#0", var_class_name);
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 715);
-exit(1);
+show_backtrace(1);
}
var_item = p0;
var2 = 0;
var_class_name = type_kernel__Char.name;
fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection#0", var_class_name);
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 727);
-exit(1);
+show_backtrace(1);
}
var_item = p0;
var2 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_collection__Collection__iterator]))(self) /* iterator on <self:CharRopeView>*/;
if (var1 == NULL) {
fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @node");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 775);
-exit(1);
+show_backtrace(1);
}
var = var1;
RET_LABEL:;
if (var1 == NULL) {
fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _target");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 789);
-exit(1);
+show_backtrace(1);
}
var = var1;
goto RET_LABEL;
if (var1 == NULL) {
fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @sub_str_iter");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 810);
-exit(1);
+show_backtrace(1);
}
var = var1;
RET_LABEL:;
var_tgt = p0;
var = NEW_ropes__DFSRopeLeafIterator(&type_ropes__DFSRopeLeafIterator);
((void (*)(val*, val*))(var->class->vft[COLOR_ropes__DFSRopeLeafIterator__init]))(var, var_tgt) /* init on <var:DFSRopeLeafIterator>*/;
-CHECK_NEW_ropes__DFSRopeLeafIterator(var);
((void (*)(val*, val*))(self->class->vft[COLOR_ropes__RopeCharIterator__sub_str_iter_61d]))(self, var) /* sub_str_iter= on <self:RopeCharIterator>*/;
var1 = ((val* (*)(val*))(self->class->vft[COLOR_ropes__RopeCharIterator__sub_str_iter]))(self) /* sub_str_iter on <self:RopeCharIterator>*/;
var2 = ((short int (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var1) /* is_ok on <var1:DFSRopeLeafIterator>*/;
if (var1 == NULL) {
fprintf(stderr, "Runtime error: %s", "Reciever is null");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 828);
-exit(1);
+show_backtrace(1);
} else {
var3 = ((val* (*)(val*, long))(var1->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var1, var2) /* [] on <var1:nullable String>*/;
}
if (var14 == NULL) {
fprintf(stderr, "Runtime error: %s", "Reciever is null");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 833);
-exit(1);
+show_backtrace(1);
} else {
var15 = ((long (*)(val*))(var14->class->vft[COLOR_abstract_collection__Collection__length]))(var14) /* length on <var14:nullable String>*/;
}
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", 261);
-exit(1);
+show_backtrace(1);
}
var19 = var13 < var15;
var16 = var19;
if (!var) {
fprintf(stderr, "Runtime error: %s", "Assert failed");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 839);
-exit(1);
+show_backtrace(1);
}
var1 = ((long (*)(val*))(self->class->vft[COLOR_ropes__RopeCharIterator__sub_pos]))(self) /* sub_pos on <self:RopeCharIterator>*/;
var2 = ((val* (*)(val*))(self->class->vft[COLOR_ropes__RopeCharIterator__curr_substring]))(self) /* curr_substring on <self:RopeCharIterator>*/;
if (var2 == NULL) {
fprintf(stderr, "Runtime error: %s", "Reciever is null");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 840);
-exit(1);
+show_backtrace(1);
} else {
var3 = ((long (*)(val*))(var2->class->vft[COLOR_abstract_collection__Collection__length]))(var2) /* length on <var2:nullable String>*/;
}
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", 261);
-exit(1);
+show_backtrace(1);
}
var11 = var1 < var5;
var8 = var11;
if (var24 == NULL) {
fprintf(stderr, "Runtime error: %s", "Reciever is null");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 848);
-exit(1);
+show_backtrace(1);
} else {
var25 = ((long (*)(val*))(var24->class->vft[COLOR_abstract_collection__Collection__length]))(var24) /* length on <var24:nullable String>*/;
}
if (var1 == NULL) {
fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @visit_stack");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 865);
-exit(1);
+show_backtrace(1);
}
var = var1;
RET_LABEL:;
var3 = ((val* (*)(val*))(self->class->vft[COLOR_ropes__DFSRopeLeafIterator__visit_stack]))(self) /* visit_stack on <self:DFSRopeLeafIterator>*/;
var4 = NEW_ropes__TupleVisitNode(&type_ropes__TupleVisitNode);
((void (*)(val*, val*))(var4->class->vft[COLOR_ropes__TupleVisitNode__init]))(var4, var_first_node) /* init on <var4:TupleVisitNode>*/;
-CHECK_NEW_ropes__TupleVisitNode(var4);
((void (*)(val*, val*))(var3->class->vft[COLOR_abstract_collection__Sequence__push]))(var3, var4) /* push on <var3:List[TupleVisitNode]>*/;
} else {
/* <var_first_node:RopeNode> isa LeafNode */
if (!var) {
fprintf(stderr, "Runtime error: %s", "Assert failed");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 902);
-exit(1);
+show_backtrace(1);
}
var_ = self;
var1 = ((long (*)(val*))(var_->class->vft[COLOR_ropes__RopeIterator__pos]))(var_) /* pos on <var_:DFSRopeLeafIterator>*/;
if (var2 == NULL) {
fprintf(stderr, "Runtime error: %s", "Reciever is null");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 903);
-exit(1);
+show_backtrace(1);
} else {
var3 = ((val* (*)(val*))(var2->class->vft[COLOR_ropes__LeafNode__value]))(var2) /* value on <var2:nullable LeafNode>*/;
}
var13 = ((val* (*)(val*))(self->class->vft[COLOR_ropes__DFSRopeLeafIterator__visit_stack]))(self) /* visit_stack on <self:DFSRopeLeafIterator>*/;
var14 = NEW_ropes__TupleVisitNode(&type_ropes__TupleVisitNode);
((void (*)(val*, val*))(var14->class->vft[COLOR_ropes__TupleVisitNode__init]))(var14, var_next_node) /* init on <var14:TupleVisitNode>*/;
-CHECK_NEW_ropes__TupleVisitNode(var14);
((void (*)(val*, val*))(var13->class->vft[COLOR_abstract_collection__Sequence__push]))(var13, var14) /* push on <var13:List[TupleVisitNode]>*/;
} else {
/* <var_next_node:nullable RopeNode(RopeNode)> isa LeafNode */
var28 = ((val* (*)(val*))(self->class->vft[COLOR_ropes__DFSRopeLeafIterator__visit_stack]))(self) /* visit_stack on <self:DFSRopeLeafIterator>*/;
var29 = NEW_ropes__TupleVisitNode(&type_ropes__TupleVisitNode);
((void (*)(val*, val*))(var29->class->vft[COLOR_ropes__TupleVisitNode__init]))(var29, var_next_node) /* init on <var29:TupleVisitNode>*/;
-CHECK_NEW_ropes__TupleVisitNode(var29);
((void (*)(val*, val*))(var28->class->vft[COLOR_abstract_collection__Sequence__push]))(var28, var29) /* push on <var28:List[TupleVisitNode]>*/;
} else {
/* <var_next_node:nullable RopeNode(RopeNode)> isa LeafNode */
if (!var1) {
fprintf(stderr, "Runtime error: %s", "Assert failed");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 951);
-exit(1);
+show_backtrace(1);
}
var2 = ((val* (*)(val*))(self->class->vft[COLOR_ropes__DFSRopeLeafIterator__curr_leaf]))(self) /* curr_leaf on <self:DFSRopeLeafIterator>*/;
if (var2 == NULL) {
fprintf(stderr, "Runtime error: %s", "Cast failed");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 952);
-exit(1);
+show_backtrace(1);
}
var = var2;
goto RET_LABEL;
if (var_new_node == NULL) {
fprintf(stderr, "Runtime error: %s", "Reciever is null");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 1010);
-exit(1);
+show_backtrace(1);
} else {
((void (*)(val*, val*))(var_new_node->class->vft[COLOR_ropes__RopeNode__parent_61d]))(var_new_node, self) /* parent= on <var_new_node:nullable RopeNode>*/;
}
if (var_new_node == NULL) {
fprintf(stderr, "Runtime error: %s", "Reciever is null");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 1017);
-exit(1);
+show_backtrace(1);
} else {
((void (*)(val*, val*))(var_new_node->class->vft[COLOR_ropes__RopeNode__parent_61d]))(var_new_node, self) /* parent= on <var_new_node:nullable RopeNode>*/;
}
if (var6 == NULL) {
fprintf(stderr, "Runtime error: %s", "Reciever is null");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 1029);
-exit(1);
+show_backtrace(1);
} else {
var7 = ((long (*)(val*))(var6->class->vft[COLOR_ropes__RopeNode__length]))(var6) /* length on <var6:nullable RopeNode>*/;
}
if (var11 == NULL) {
fprintf(stderr, "Runtime error: %s", "Reciever is null");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 1030);
-exit(1);
+show_backtrace(1);
} else {
var12 = ((long (*)(val*))(var11->class->vft[COLOR_ropes__RopeNode__height]))(var11) /* height on <var11:nullable RopeNode>*/;
}
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);
-exit(1);
+show_backtrace(1);
}
var21 = var14 > var17;
var18 = var21;
if (var22 == NULL) {
fprintf(stderr, "Runtime error: %s", "Reciever is null");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 1030);
-exit(1);
+show_backtrace(1);
} else {
var23 = ((long (*)(val*))(var22->class->vft[COLOR_ropes__RopeNode__height]))(var22) /* height on <var22:nullable RopeNode>*/;
}
if (var33 == NULL) {
fprintf(stderr, "Runtime error: %s", "Reciever is null");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 1033);
-exit(1);
+show_backtrace(1);
} else {
var34 = ((long (*)(val*))(var33->class->vft[COLOR_ropes__RopeNode__length]))(var33) /* length on <var33:nullable RopeNode>*/;
}
if (var38 == NULL) {
fprintf(stderr, "Runtime error: %s", "Reciever is null");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 1034);
-exit(1);
+show_backtrace(1);
} else {
var39 = ((long (*)(val*))(var38->class->vft[COLOR_ropes__RopeNode__height]))(var38) /* height on <var38:nullable RopeNode>*/;
}
var_class_name50 = type_kernel__Int.name;
fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name50);
fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
-exit(1);
+show_backtrace(1);
}
var51 = var41 > var44;
var45 = var51;
if (var52 == NULL) {
fprintf(stderr, "Runtime error: %s", "Reciever is null");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 1034);
-exit(1);
+show_backtrace(1);
} else {
var53 = ((long (*)(val*))(var52->class->vft[COLOR_ropes__RopeNode__height]))(var52) /* height on <var52:nullable RopeNode>*/;
}
if (var6 == NULL) {
fprintf(stderr, "Runtime error: %s", "Reciever is null");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 1045);
-exit(1);
+show_backtrace(1);
} else {
var7 = ((long (*)(val*))(var6->class->vft[COLOR_ropes__RopeNode__height]))(var6) /* height on <var6:nullable RopeNode>*/;
}
if (var11 == NULL) {
fprintf(stderr, "Runtime error: %s", "Reciever is null");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 1046);
-exit(1);
+show_backtrace(1);
} else {
var12 = ((long (*)(val*))(var11->class->vft[COLOR_ropes__RopeNode__height]))(var11) /* height on <var11:nullable RopeNode>*/;
}
if (var1 == NULL) {
fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _value");
fprintf(stderr, " (%s:%d)\n", "lib/standard/ropes.nit", 1064);
-exit(1);
+show_backtrace(1);
}
var = var1;
goto RET_LABEL;