class Sorbet::Private::GemGeneratorTracepoint::TracepointSerializer

def match_via_bundler_specs(location)

def match_via_bundler_specs(location)
  @bundler_specs ||= begin
    require 'bundler'
    begin
      Bundler.load.specs.map do |spec|
        spec.load_paths.map do |path|
          [path, [spec.name, spec.version.to_s]]
        end
      end.flatten(1).to_h
    rescue Bundler::BundlerError # bail out on any bundler error
      {}
    end
  rescue LoadError # bundler can't be loaded, abort!
    {}
  end
  path_to_find = Pathname.new(location)
  parent_path, (gem_name, gem_version) = @bundler_specs.detect do |path, _gem|
    path_to_find.fnmatch?(File.join(path, '**'))
  end
  if parent_path.nil? || gem_name.nil? || gem_version.nil?
    # uncomment to generate files for methods outside of gems
    # {
    #   path: location,
    #   gem: location.gsub(/[\/\.]/, '_'),
    #   version: '1.0.0',
    # }
    nil
  else
    {
      path: location,
      gem: gem_name,
      version: gem_version,
    }
  end
end