class Opal::Nodes::ArgsNode
def compile
def compile same_arg_counter = {} children.each_with_index do |arg, idx| if multiple_underscore?(arg) same_arg_counter[arg] ||= 0 same_arg_counter[arg] += 1 if same_arg_counter[arg] > 1 arg = s(arg.type, :"#{arg.children[0]}_$#{same_arg_counter[arg]}") end end push ', ' if idx != 0 push process(arg) end end
def multiple_underscore?(arg)
def multiple_underscore?(arg) arg.type == :arg && arg.children.count == 1 && arg.children.first.to_s.start_with?('_') && children.count(arg) > 1 end