class TypeProf::Core::AST::SigModuleBaseNode::SigDefNode::SigIncludeNode::SigAliasNode::SigAttrReaderNode::SigAttrWriterNode::SigAttrAccessorNode::SigConstNode::SigGlobalVariableNode
Attributes
cpath[R]
type[R]
Public Class Methods
new(raw_decl, lenv)
click to toggle source
Calls superclass method
TypeProf::Core::AST::Node::new
# File typeprof-0.30.1/lib/typeprof/core/ast/sig_decl.rb, line 435 def initialize(raw_decl, lenv) super(raw_decl, lenv) @var = raw_decl.name @type = AST.create_rbs_type(raw_decl.type, lenv) end
Public Instance Methods
attrs(= { cpath: })
click to toggle source
# File typeprof-0.30.1/lib/typeprof/core/ast/sig_decl.rb, line 443 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 end end
define0(genv)
click to toggle source
# File typeprof-0.30.1/lib/typeprof/core/ast/sig_decl.rb, line 445 def define0(genv) @type.define(genv) mod = genv.resolve_gvar(@var) mod.add_decl(self) mod end
define_copy(genv)
click to toggle source
Calls superclass method
TypeProf::Core::AST::Node#define_copy
# File typeprof-0.30.1/lib/typeprof/core/ast/sig_decl.rb, line 452 def define_copy(genv) mod = genv.resolve_gvar(@var) mod.add_decl(self) mod.remove_decl(@prev_node) super(genv) end
install0(genv)
click to toggle source
# File typeprof-0.30.1/lib/typeprof/core/ast/sig_decl.rb, line 464 def install0(genv) box = @changes.add_type_read_box(genv, @type) @changes.add_edge(genv, box.ret, @static_ret.vtx) box.ret end
subnodes(= { type: })
click to toggle source
# File typeprof-0.30.1/lib/typeprof/core/ast/sig_decl.rb, line 442 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 end end end
undefine0(genv)
click to toggle source
# File typeprof-0.30.1/lib/typeprof/core/ast/sig_decl.rb, line 459 def undefine0(genv) genv.resolve_gvar(@var).remove_decl(self) @type.undefine(genv) end