class TypeProf::Core::EscapeBox::HashSplatBox::MethodAliasBox

Attributes

cpath[R]
new_mid[R]
node[RW]
old_mid[R]
ret[R]
singleton[R]

Public Class Methods

new(node, genv, cpath, singleton, new_mid, old_mid) click to toggle source
Calls superclass method TypeProf::Core::Box::new
# File typeprof-0.30.1/lib/typeprof/core/graph/box.rb, line 619
def initialize(node, genv, cpath, singleton, new_mid, old_mid)
  super(node)
  @cpath = cpath
  @singleton = singleton
  @new_mid = new_mid
  @old_mid = old_mid
  @ret = Source.new(genv.nil_type)

  me = genv.resolve_method(@cpath, @singleton, @new_mid)
  me.add_alias(self, @old_mid)
  if me.decls.empty?
    me.add_run_all_method_call_boxes(genv)
  else
    genv.add_run(self)
  end
end

Public Instance Methods

destroy(genv) click to toggle source
Calls superclass method TypeProf::Core::Box#destroy
# File typeprof-0.30.1/lib/typeprof/core/graph/box.rb, line 640
def destroy(genv)
  me = genv.resolve_method(@cpath, @singleton, @new_mid)
  me.remove_alias(self)
  if me.decls.empty?
    me.add_run_all_method_call_boxes(genv)
  else
    genv.add_run(self)
  end
  super(genv)
end
run0(genv, changes) click to toggle source
# File typeprof-0.30.1/lib/typeprof/core/graph/box.rb, line 651
def run0(genv, changes)
  # TODO: what to do?
end