class RubyLsp::ParameterScope

def <<(name)

def <<(name)
  @parameters << name.to_sym
end

def initialize(parent = nil)

def initialize(parent = nil)
  @parent = parent
  @parameters = T.let(Set.new, T::Set[Symbol])
end

def parameter?(name)

def parameter?(name)
  sym = name.to_sym
  @parameters.include?(sym) || (!@parent.nil? && @parent.parameter?(sym))
end

def type_for(name)

def type_for(name)
  parameter?(name) ? :parameter : :variable
end