class TypeProf::Core::EscapeBox::HashSplatBox::MethodAliasBox - typeprof: Ruby Standard Library Documentation

# 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