summaryrefslogtreecommitdiff
path: root/shape.c
diff options
context:
space:
mode:
-rw-r--r--shape.c21
1 files changed, 19 insertions, 2 deletions
@@ -495,7 +495,7 @@ get_next_shape_internal(rb_shape_t *shape, ID id, enum shape_type shape_type, bo
rb_shape_t *res = NULL;
// There should never be outgoing edges from "too complex"
- RUBY_ASSERT(rb_shape_id(shape) != OBJ_TOO_COMPLEX_SHAPE_ID);
*variation_created = false;
@@ -573,7 +573,7 @@ get_next_shape_internal(rb_shape_t *shape, ID id, enum shape_type shape_type, bo
return res;
}
-int
rb_shape_frozen_shape_p(rb_shape_t *shape)
{
return SHAPE_FROZEN == (enum shape_type)shape->type;
@@ -703,6 +703,11 @@ rb_shape_transition_shape_frozen(VALUE obj)
return next_shape;
}
/*
* This function is used for assertions where we don't want to increment
* max_iv_count
@@ -1012,6 +1017,18 @@ rb_shape_obj_too_complex(VALUE obj)
return rb_shape_get_shape_id(obj) == OBJ_TOO_COMPLEX_SHAPE_ID;
}
size_t
rb_shape_edges_count(rb_shape_t *shape)
{