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