class Dependabot::FileParsers::Base::DependencySet::DependencySlot

def combined_version(old_dep, new_dep)

def combined_version(old_dep, new_dep)
  if old_dep.version.nil? ^ new_dep.version.nil?
    T.must([old_dep, new_dep].find(&:version)).version
  elsif old_dep.top_level? ^ new_dep.top_level? # Prefer a direct dependency over a transitive one
    T.must([old_dep, new_dep].find(&:top_level?)).version
  elsif !version_class.correct?(new_dep.version)
    old_dep.version
  elsif !version_class.correct?(old_dep.version)
    new_dep.version
  elsif version_class.new(new_dep.version) > version_class.new(old_dep.version)
    old_dep.version
  else
    new_dep.version
  end
end