class TypeProf::Core::AST::ModuleBaseNode::ClassNode - typeprof: Ruby Standard Library Documentation

# class TypeProf::Core::AST::ModuleBaseNode::ClassNode

### Attributes

superclass_cpath[R]

### Public Class Methods

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

    # File typeprof-0.30.1/lib/typeprof/core/ast/module.rb, line 86
    def initialize(raw_node, lenv, use_result)
      super(raw_node, lenv, raw_node.constant_path, false, raw_node.body, use_result)
      raw_superclass = raw_node.superclass
      @superclass_cpath = raw_superclass ? AST.create_node(raw_superclass, lenv) : nil
    end

### Public Instance Methods

define0(genv) click to toggle source
Calls superclass method `TypeProf::Core::AST::ModuleBaseNode#define0`

    # File typeprof-0.30.1/lib/typeprof/core/ast/module.rb, line 98
    def define0(genv)
      if @static_cpath && @superclass_cpath
        const = @superclass_cpath.define(genv)
        const.followers << genv.resolve_cpath(@static_cpath) if const
      end
      super(genv)
    end

install0(genv) click to toggle source
Calls superclass method `TypeProf::Core::AST::ModuleBaseNode#install0`

    # File typeprof-0.30.1/lib/typeprof/core/ast/module.rb, line 111
    def install0(genv)
      @superclass_cpath.install(genv) if @superclass_cpath
      super(genv)
    end

subnodes() click to toggle source
Calls superclass method `TypeProf::Core::AST::ModuleBaseNode#subnodes`

    # File typeprof-0.30.1/lib/typeprof/core/ast/module.rb, line 94
    def subnodes
      super.merge!({ superclass_cpath: })
    end

undefine0(genv) click to toggle source
Calls superclass method `TypeProf::Core::AST::ModuleBaseNode#undefine0`

    # File typeprof-0.30.1/lib/typeprof/core/ast/module.rb, line 106
    def undefine0(genv)
      super(genv)
      @superclass_cpath.undefine(genv) if @superclass_cpath
    end