class Byebug::MethodSigCommand

Implements byebug’s ‘method sig’ command.

def description

def description
  %{m[ethod] sig[nature] <obj>\tshow the signature of a method}
end

def execute

def execute
  obj = debug_eval('method(:%s)' % @match[1])
  if obj.is_a?(Method)
    begin
      print "%s\n", obj.signature.to_s
    rescue
      errmsg("Can't get signature for '#{@match[1]}'\n")
    end
  else
    errmsg("Can't make method out of '#{@match[1]}'\n")
  end
end

def names

def names
  %w(method)
end

def regexp

def regexp
  /^\s*m(?:ethod)?\s+sig(?:nature)?\s+(\S+)\s*$/
end