Fix RubyVM::Shape.transition_tree
This commit is contained in:
parent
bcb4fbe2eb
commit
c54e96d651
Notes:
git
2025-06-10 17:37:16 +00:00
14
shape.c
14
shape.c
@ -1391,12 +1391,14 @@ static enum rb_id_table_iterator_result collect_keys_and_values(ID key, VALUE va
|
||||
static VALUE edges(VALUE edges)
|
||||
{
|
||||
VALUE hash = rb_hash_new();
|
||||
if (SINGLE_CHILD_P(edges)) {
|
||||
rb_shape_t *child = SINGLE_CHILD(edges);
|
||||
collect_keys_and_values(child->edge_name, (VALUE)child, &hash);
|
||||
}
|
||||
else {
|
||||
rb_managed_id_table_foreach(edges, collect_keys_and_values, &hash);
|
||||
if (edges) {
|
||||
if (SINGLE_CHILD_P(edges)) {
|
||||
rb_shape_t *child = SINGLE_CHILD(edges);
|
||||
collect_keys_and_values(child->edge_name, (VALUE)child, &hash);
|
||||
}
|
||||
else {
|
||||
rb_managed_id_table_foreach(edges, collect_keys_and_values, &hash);
|
||||
}
|
||||
}
|
||||
return hash;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user