class RuboCop::Cop::Lint::ToEnumArguments

def argument_match?(send_arg, def_arg)

rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity
def argument_match?(send_arg, def_arg)
  def_arg_name = def_arg.children[0]
  case def_arg.type
  when :arg, :restarg
    send_arg.source == def_arg.source
  when :optarg
    send_arg.source == def_arg_name.to_s
  when :kwoptarg, :kwarg
    send_arg.hash_type? &&
      send_arg.pairs.any? { |pair| passing_keyword_arg?(pair, def_arg_name) }
  when :kwrestarg
    send_arg.each_child_node(:kwsplat).any? { |child| child.source == def_arg.source }
  when :forward_arg
    send_arg.forwarded_args_type?
  end
end