class TypeProf::Core::AST::SigModuleBaseNode::SigClassNode
Attributes
Public Class Methods
Source
# File bundled-src/typeprof-0.31.1/lib/typeprof/core/ast/sig_decl.rb, line 124 def initialize(raw_decl, lenv) super(raw_decl, lenv) superclass = raw_decl.super_class if superclass name = superclass.name @superclass_cpath = name.namespace.path + [name.name] @superclass_toplevel = name.namespace.absolute? @superclass_args = superclass.args.map {|arg| AST.create_rbs_type(arg, lenv) } else @superclass_cpath = nil @superclass_toplevel = nil @superclass_args = nil end end
Calls superclass method
TypeProf::Core::AST::SigModuleBaseNode::new
Public Instance Methods
Source
# File bundled-src/typeprof-0.31.1/lib/typeprof/core/ast/sig_decl.rb, line 144 def attrs super.merge!({ superclass_cpath:, superclass_toplevel: }) end
Calls superclass method
TypeProf::Core::AST::SigModuleBaseNode#attrs
Source
# File bundled-src/typeprof-0.31.1/lib/typeprof/core/ast/sig_decl.rb, line 148 def define0(genv) static_ret = super(genv) const_reads = [] if @superclass_cpath @superclass_args.each {|arg| arg.define(genv) } const_read = BaseConstRead.new(genv, @superclass_cpath.first, @superclass_toplevel ? CRef::Toplevel : @lenv.cref, false) const_reads << const_read @superclass_cpath[1..].each do |cname| const_read = ScopedConstRead.new(cname, const_read, false) const_reads << const_read end mod = genv.resolve_cpath(@cpath) const_read.followers << mod end static_ret[:superclass_cpath] = const_reads static_ret end
Calls superclass method
TypeProf::Core::AST::SigModuleBaseNode#define0
Source
# File bundled-src/typeprof-0.31.1/lib/typeprof/core/ast/sig_decl.rb, line 141 def subnodes super.merge!({ superclass_args: }) end
Calls superclass method
TypeProf::Core::AST::SigModuleBaseNode#subnodes
Source
# File bundled-src/typeprof-0.31.1/lib/typeprof/core/ast/sig_decl.rb, line 166 def undefine0(genv) super(genv) if @static_ret @static_ret[:superclass_cpath].each do |const_read| const_read.destroy(genv) end end if @superclass_args @superclass_args.each {|arg| arg.undefine(genv) } end end
Calls superclass method
TypeProf::Core::AST::SigModuleBaseNode#undefine0