Class: RBS::Definition::Variable

Inherits:
Object
  • Object
show all
Defined in:
lib/rbs/definition.rb,
sig/definition.rbs

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(parent_variable:, type:, declared_in:, source:) ⇒ Variable

Returns a new instance of Variable.

Parameters:



11
12
13
14
15
16
# File 'lib/rbs/definition.rb', line 11

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

Instance Attribute Details

#declared_inTypeName (readonly)

Returns the value of attribute declared_in.

Returns:



8
9
10
# File 'lib/rbs/definition.rb', line 8

def declared_in
  @declared_in
end

#parent_variableVariable? (readonly)

Returns the value of attribute parent_variable.

Returns:



6
7
8
# File 'lib/rbs/definition.rb', line 6

def parent_variable
  @parent_variable
end

#sourcesource (readonly)

Returns the value of attribute source.

Returns:



9
10
11
# File 'lib/rbs/definition.rb', line 9

def source
  @source
end

#typeTypes::t (readonly)

Returns the value of attribute type.

Returns:

  • (Types::t)


7
8
9
# File 'lib/rbs/definition.rb', line 7

def type
  @type
end

Instance Method Details

#sub(s) ⇒ Variable

Parameters:

Returns:



18
19
20
21
22
23
24
25
26
27
# File 'lib/rbs/definition.rb', line 18

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