class TypeProf::Core::AST::SigModuleBaseNode::SigDefNode::SigIncludeNode::SigPrependNode::SigAliasNode::SigAttrReaderNode::SigAttrWriterNode::SigAttrAccessorNode::SigConstNode
Attributes
Public Class Methods
Source
# File bundled-src/typeprof-0.31.1/lib/typeprof/core/ast/sig_decl.rb, line 406 def initialize(raw_decl, lenv) super(raw_decl, lenv) @cpath = AST.resolve_rbs_name(raw_decl.name, lenv) @type = AST.create_rbs_type(raw_decl.type, lenv) end
Calls superclass method
TypeProf::Core::AST::Node::new
Public Instance Methods
Source
# File bundled-src/typeprof-0.31.1/lib/typeprof/core/ast/sig_decl.rb, line 414 def attrs = { cpath: } def define0(genv) @type.define(genv) mod = genv.resolve_const(@cpath) mod.add_decl(self) mod end def define_copy(genv) mod = genv.resolve_const(@cpath) mod.add_decl(self) mod.remove_decl(@prev_node) super(genv) end def undefine0(genv) genv.resolve_const(@cpath).remove_decl(self) @type.undefine(genv) end def install0(genv) box = @changes.add_type_read_box(genv, @type) @changes.add_edge(genv, box.ret, @static_ret.vtx) box.ret end end
Source
# File bundled-src/typeprof-0.31.1/lib/typeprof/core/ast/sig_decl.rb, line 416 def define0(genv) @type.define(genv) mod = genv.resolve_const(@cpath) mod.add_decl(self) mod end
Source
# File bundled-src/typeprof-0.31.1/lib/typeprof/core/ast/sig_decl.rb, line 423 def define_copy(genv) mod = genv.resolve_const(@cpath) mod.add_decl(self) mod.remove_decl(@prev_node) super(genv) end
Calls superclass method
TypeProf::Core::AST::Node#define_copy
Source
# File bundled-src/typeprof-0.31.1/lib/typeprof/core/ast/sig_decl.rb, line 435 def install0(genv) box = @changes.add_type_read_box(genv, @type) @changes.add_edge(genv, box.ret, @static_ret.vtx) box.ret end
Source
# File bundled-src/typeprof-0.31.1/lib/typeprof/core/ast/sig_decl.rb, line 413 def subnodes = { type: } def attrs = { cpath: } def define0(genv) @type.define(genv) mod = genv.resolve_const(@cpath) mod.add_decl(self) mod end def define_copy(genv) mod = genv.resolve_const(@cpath) mod.add_decl(self) mod.remove_decl(@prev_node) super(genv) end def undefine0(genv) genv.resolve_const(@cpath).remove_decl(self) @type.undefine(genv) end def install0(genv) box = @changes.add_type_read_box(genv, @type) @changes.add_edge(genv, box.ret, @static_ret.vtx) box.ret end end class SigTypeAliasNode < Node def initialize(raw_decl, lenv) super(raw_decl, lenv) @cpath = AST.resolve_rbs_name(raw_decl.name, lenv) @name = @cpath.pop @type = AST.create_rbs_type(raw_decl.type, lenv) @params = raw_decl.type_params.map {|param| param.name } end attr_reader :cpath, :name, :type, :params def define0(genv) @type.define(genv) tae = genv.resolve_type_alias(@cpath, @name) tae.add_decl(self) tae end def define_copy(genv) tae = genv.resolve_type_alias(@cpath, @name) tae.add_decl(self) tae.remove_decl(@prev_node) super(genv) end def undefine0(genv) tae = genv.resolve_type_alias(@cpath, @name) tae.remove_decl(self) @type.undefine(genv) end def install0(genv) Source.new end end class SigInstanceVariableNode < Node def initialize(raw_decl, lenv, class_scope) super(raw_decl, lenv) @var = raw_decl.name @cpath = lenv.cref.cpath @class_scope = class_scope @type = AST.create_rbs_type(raw_decl.type, lenv) end attr_reader :cpath, :class_scope, :type def subnodes = { type: } def attrs = { cpath:, class_scope: } def define0(genv) @type.define(genv) mod = genv.resolve_ivar(cpath, @class_scope, @var) mod.add_decl(self) mod end def define_copy(genv) mod = genv.resolve_ivar(cpath, @class_scope, @var) mod.add_decl(self) mod.remove_decl(@prev_node) super(genv) end def undefine0(genv) genv.resolve_ivar(cpath, @class_scope, @var).remove_decl(self) @type.undefine(genv) end def install0(genv) box = @changes.add_type_read_box(genv, @type) @changes.add_edge(genv, box.ret, @static_ret.vtx) box.ret end end class SigClassVariableNode < Node def initialize(raw_decl, lenv) super(raw_decl, lenv) @var = raw_decl.name @cpath = lenv.cref.cpath @type = AST.create_rbs_type(raw_decl.type, lenv) end attr_reader :cpath, :type def subnodes = { type: } def attrs = { cpath: } def define0(genv) @type.define(genv) cvar = genv.resolve_cvar(cpath, @var) cvar.add_decl(self) cvar end def define_copy(genv) cvar = genv.resolve_cvar(cpath, @var) cvar.add_decl(self) cvar.remove_decl(@prev_node) super(genv) end def undefine0(genv) genv.resolve_cvar(cpath, @var).remove_decl(self) @type.undefine(genv) end def install0(genv) box = @changes.add_type_read_box(genv, @type) @changes.add_edge(genv, box.ret, @static_ret.vtx) box.ret end end class SigGlobalVariableNode < Node def initialize(raw_decl, lenv) super(raw_decl, lenv) @var = raw_decl.name @type = AST.create_rbs_type(raw_decl.type, lenv) end attr_reader :cpath, :type def subnodes = { type: } def attrs = { cpath: } def define0(genv) @type.define(genv) mod = genv.resolve_gvar(@var) mod.add_decl(self) mod end def define_copy(genv) mod = genv.resolve_gvar(@var) mod.add_decl(self) mod.remove_decl(@prev_node) super(genv) end def undefine0(genv) genv.resolve_gvar(@var).remove_decl(self) @type.undefine(genv) end def install0(genv) box = @changes.add_type_read_box(genv, @type) @changes.add_edge(genv, box.ret, @static_ret.vtx) box.ret
Source
# File bundled-src/typeprof-0.31.1/lib/typeprof/core/ast/sig_decl.rb, line 430 def undefine0(genv) genv.resolve_const(@cpath).remove_decl(self) @type.undefine(genv) end