Class: RubyModKit::Memo::DefParentMemo

Inherits:
OffsetMemo
  • Object
show all
Defined in:
lib/ruby_mod_kit/memo/def_parent_memo.rb

Overview

The memo for def parent (class, module)

Instance Attribute Summary collapse

Attributes inherited from OffsetMemo

#offset

Instance Method Summary collapse

Constructor Details

#initialize(def_parent_node) ⇒ void

Parameters:

rbs:

  • def_parent_node: Node::DefParentNode

  • return: void



17
18
19
20
# File 'lib/ruby_mod_kit/memo/def_parent_memo.rb', line 17

def initialize(def_parent_node)
  @ivars_memo = {}
  super(def_parent_node.offset)
end

Instance Attribute Details

#ivars_memoObject (readonly)

rbs:

  • @ivars_memo: Hash[Symbol, Memo::IvarMemo]



11
12
13
# File 'lib/ruby_mod_kit/memo/def_parent_memo.rb', line 11

def ivars_memo
  @ivars_memo
end

Instance Method Details

#ivar_memo(name) ⇒ Memo::IvarMemo

Parameters:

  • name (Symbol)

Returns:

rbs:

  • name: Symbol

  • return: Memo::IvarMemo



26
27
28
# File 'lib/ruby_mod_kit/memo/def_parent_memo.rb', line 26

def ivar_memo(name)
  @ivars_memo[name] ||= Memo::IvarMemo.new(name)
end

#succ(offset_diff) ⇒ void

This method returns an undefined value.

Parameters:

rbs:

  • offset_diff: OffsetDiff

  • return: void



34
35
36
37
38
39
# File 'lib/ruby_mod_kit/memo/def_parent_memo.rb', line 34

def succ(offset_diff)
  @ivars_memo.each_value do |ivar_memo|
    ivar_memo.succ(offset_diff)
  end
  super
end