class RBS::Definition::Variable

def initialize(parent_variable:, type:, declared_in:, source:)

def initialize(parent_variable:, type:, declared_in:, source:)
  @parent_variable = parent_variable
  @type = type
  @declared_in = declared_in
  @source = source
end

def sub(s)

def sub(s)
  return self if s.empty?
  self.class.new(
    parent_variable: parent_variable,
    type: type.sub(s),
    declared_in: declared_in,
    source: source
  )
end