Skip to content

Commit 75b3bcb

Browse files
committed
Fix specs for Data
1 parent 4530f82 commit 75b3bcb

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

Diff for: spec/tags/core/data/deconstruct_keys_tags.txt

-2
This file was deleted.

Diff for: src/main/ruby/truffleruby/core/data.rb

+5-1
Original file line numberDiff line numberDiff line change
@@ -166,15 +166,19 @@ def deconstruct_keys(keys)
166166
return {} if members_hash.size < keys.size
167167
168168
h = {}
169+
members = Primitive.class(self)::CLASS_MEMBERS
169170
keys.each do |requested_key|
170171
case requested_key
171172
when Symbol
172173
symbolized_key = requested_key
173174
when String
174175
symbolized_key = requested_key.to_sym
176+
else
177+
index = Truffle::Type.rb_convert_type(requested_key, Integer, :to_int)
178+
symbolized_key = members[index]
175179
end
176180
177-
if members_hash.include?(symbolized_key)
181+
if symbolized_key && members_hash.include?(symbolized_key)
178182
h[requested_key] = Primitive.object_hidden_var_get(self, symbolized_key)
179183
else
180184
return h

0 commit comments

Comments
 (0)