class Solargraph::Pin::Block

def binder

def binder
  @binder || context
end

def initialize receiver: nil, args: [], **splat

def initialize receiver: nil, args: [], **splat
  super(splat)
  @receiver = receiver
  @parameters = args
end

def nearly? other

def nearly? other
  return false unless super
  # @todo Trying to not to block merges too much

  # receiver == other.receiver and parameters == other.parameters

  true
end

def parameter_names

Returns:
  • (Array) -
def parameter_names
  @parameter_names ||= parameters.map{|p| p.split(/[ =:]/).first.gsub(/^(\*{1,2}|&)/, '')}
end

def parameters

Returns:
  • (Array) -
def parameters
  @parameters ||= []
end

def rebind context

def rebind context
  @rebound = true
  @binder = context unless context.undefined?
end

def rebound?

def rebound?
  @rebound ||= false
end