class RDoc::RI::Driver

def find_methods name

def find_methods name
  klass, selector, method = parse_name name
  types = method_type selector
  klasses = nil
  ambiguous = klass.empty?
  if ambiguous then
    klasses = classes.keys
  else
    klasses = ancestors_of klass
    klasses.unshift klass
  end
  methods = []
  klasses.each do |ancestor|
    ancestors = classes[ancestor]
    next unless ancestors
    klass = ancestor if ambiguous
    ancestors.each do |store|
      methods << [store, klass, ancestor, types, method]
    end
  end
  methods = methods.sort_by do |_, k, a, _, m|
    [k, a, m].compact
  end
  methods.each do |item|
    yield(*item) # :yields: store, klass, ancestor, types, method
  end
  self
end