class Parser::Builders::Default

def check_duplicate_args(args, map={})

def check_duplicate_args(args, map={})
  args.each do |this_arg|
    case this_arg.type
    when :arg, :optarg, :restarg, :blockarg,
         :kwarg, :kwoptarg, :kwrestarg,
         :shadowarg
      check_duplicate_arg(this_arg, map)
    when :procarg0
      if this_arg.children[0].is_a?(Symbol)
        # s(:procarg0, :a)
        check_duplicate_arg(this_arg, map)
      else
        # s(:procarg0, s(:arg, :a), ...)
        check_duplicate_args(this_arg.children, map)
      end
    when :mlhs
      check_duplicate_args(this_arg.children, map)
    end
  end
end