# File lib/rubygems/source_info_cache.rb, line 295
  def search_with_source(pattern, only_platform = false, all = false)
    read_all_cache_data if all

    results = []

    cache_data.map do |source_uri, sic_entry|
      next unless Gem.sources.include? source_uri

      sic_entry.source_index.search(pattern, only_platform).each do |spec|
        results << [spec, source_uri]
      end
    end

    results
  end