Class: RubyModKit::Memo::MethodMemo

Inherits:
OffsetMemo show all
Defined in:
lib/ruby_mod_kit/memo/method_memo.rb

Overview

The memo for parameter type

Constant Summary collapse

UNTYPED =

: String

"untyped"

Instance Attribute Summary collapse

Attributes inherited from OffsetMemo

#offset

Instance Method Summary collapse

Methods inherited from OffsetMemo

#succ

Constructor Details

#initialize(node) ⇒ void

Parameters:

Raises:

rbs:

  • node: Node::DefNode

  • return: void



23
24
25
26
27
28
29
30
# File 'lib/ruby_mod_kit/memo/method_memo.rb', line 23

def initialize(node)
  @type = UNTYPED
  @parameters = Set.new
  @name = node.name
  raise RubyModKit::Error unless node.parent

  super(node.offset)
end

Instance Attribute Details

#nameObject (readonly)

rbs:

  • @name: Symbol

  • @parameters: Set

  • @type: String



13
14
15
# File 'lib/ruby_mod_kit/memo/method_memo.rb', line 13

def name
  @name
end

#parametersObject (readonly)

: Set



14
15
16
# File 'lib/ruby_mod_kit/memo/method_memo.rb', line 14

def parameters
  @parameters
end

#typeObject

: String



15
16
17
# File 'lib/ruby_mod_kit/memo/method_memo.rb', line 15

def type
  @type
end

Instance Method Details

#add_parameter(parameter_memo) ⇒ Memo::ParameterMemo

Parameters:

Returns:

rbs:

  • parameter_memo: Memo::ParameterMemo

  • return: Memo::ParameterMemo



36
37
38
39
# File 'lib/ruby_mod_kit/memo/method_memo.rb', line 36

def add_parameter(parameter_memo)
  @parameters << parameter_memo
  parameter_memo
end

#untyped?Boolean

Returns:

  • (Boolean)

rbs:

  • return: bool



43
44
45
# File 'lib/ruby_mod_kit/memo/method_memo.rb', line 43

def untyped?
  @type == UNTYPED
end