# File rbs-1.4.0/lib/rbs/location.rb, line 163 def [](key) case when required_children.key?(_ = key) range = required_children[_ = key] Location.new(buffer: buffer, start_pos: range.begin, end_pos: range.end) when optional_children.key?(_ = key) range = required_children[_ = key] || optional_children[_ = key] if range Location.new(buffer: buffer, start_pos: range.begin, end_pos: range.end) end else raise "Unknown key given: `#{key}`" end end
# File rbs-1.4.0/lib/rbs/location.rb, line 157 def initialize_copy(from) required_children.merge!(from.required_children) optional_children.merge!(from.optional_children) self end