class Opal::Nodes::NodeWithArgs

def arity_check_node

def arity_check_node
  s(:arity_check, original_args)
end

def compile_arity_check

Returns code used in debug mode to check arity of method call
def compile_arity_check
  push process(arity_check_node)
end

def compile_block_arg

def compile_block_arg
  if scope.uses_block?
    scope_name  = scope.identity
    yielder     = scope.block_name || '$yield'
    add_temp "$iter = #{scope_name}.$$p"
    add_temp "#{yielder} = $iter || nil"
    line "if ($iter) #{scope_name}.$$p = null;"
  end
end

def initialize(*)

def initialize(*)
  super
  @original_args = @sexp.meta[:original_args]
  @used_kwargs = []
  @arity = 0
end

def parameters_code

def parameters_code
  Args::Parameters.new(original_args).to_code
end