class TypeProf::Core::AST::DefNode::AliasNode - typeprof: Ruby Standard Library Documentation

# class TypeProf::Core::AST::DefNode::AliasNode

### Attributes

new_mid[R]
old_mid[R]

### Public Class Methods

new(raw_node, lenv) click to toggle source
Calls superclass method `TypeProf::Core::AST::Node::new`

    # File typeprof-0.30.1/lib/typeprof/core/ast/method.rb, line 295
    def initialize(raw_node, lenv)
      super(raw_node, lenv)
      @new_mid = AST.create_node(raw_node.new_name, lenv)
      @old_mid = AST.create_node(raw_node.old_name, lenv)
    end

### Public Instance Methods

install0(genv) click to toggle source

    # File typeprof-0.30.1/lib/typeprof/core/ast/method.rb, line 305
    def install0(genv)
      @new_mid.install(genv)
      @old_mid.install(genv)
      if @new_mid.is_a?(SymbolNode) && @old_mid.is_a?(SymbolNode)
        new_mid = @new_mid.lit
        old_mid = @old_mid.lit
        box = @changes.add_method_alias_box(genv, @lenv.cref.cpath, false, new_mid, old_mid)
        box.ret
      else
        Source.new(genv.nil_type)
      end
    end

subnodes(= { new_mid:, old_mid: }) click to toggle source

    # File typeprof-0.30.1/lib/typeprof/core/ast/method.rb, line 303
      def subnodes = { new_mid:, old_mid: }

      def install0(genv)
        @new_mid.install(genv)
        @old_mid.install(genv)
        if @new_mid.is_a?(SymbolNode) && @old_mid.is_a?(SymbolNode)
          new_mid = @new_mid.lit
          old_mid = @old_mid.lit
          box = @changes.add_method_alias_box(genv, @lenv.cref.cpath, false, new_mid, old_mid)
          box.ret
        else
          Source.new(genv.nil_type)
        end
      end
    end