module Solargraph::YardMap::Mapper::ToMethod

def get_parameters code_object, location, comments, pin

Returns:
  • (Array) -

Parameters:
  • pin (Pin::Base) --
  • comments (String) --
  • location (Location) -- ,
  • code_object (YARD::CodeObjects::Base) --
def get_parameters code_object, location, comments, pin
  return [] unless code_object.is_a?(YARD::CodeObjects::MethodObject)
  # HACK: Skip `nil` and `self` parameters that are sometimes emitted

  # for methods defined in C

  # See https://github.com/castwide/solargraph/issues/345

  code_object.parameters.select { |a| a[0] && a[0] != 'self' }.map do |a|
    Solargraph::Pin::Parameter.new(
      location: location,
      closure: pin,
      comments: comments,
      name: arg_name(a),
      presence: nil,
      decl: arg_type(a),
      asgn_code: a[1]
    )
  end
end