class TypeProf::Core::AST::StatementsNode::MultiWriteNode::MatchWriteNode
Attributes
call[R]
targets[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/misc.rb, line 124 def initialize(raw_node, lenv) super(raw_node, lenv) @call = AST.create_node(raw_node.call, lenv) @targets = raw_node.targets.map do |raw_lhs| AST.create_target_node(raw_lhs, lenv) end end
Public Instance Methods
install0(genv)
click to toggle source
# File typeprof-0.30.1/lib/typeprof/core/ast/misc.rb, line 135 def install0(genv) ret = @call.install(genv) @targets.each do |target| target.install(genv) target.rhs.ret || raise(target.rhs.inspect) @changes.add_edge(genv, Source.new(Type::Instance.new(genv, genv.mod_str, [])), target.rhs.ret) end ret end
subnodes(= { call:, targets: })
click to toggle source
# File typeprof-0.30.1/lib/typeprof/core/ast/misc.rb, line 133 def subnodes = { call:, targets: } def install0(genv) ret = @call.install(genv) @targets.each do |target| target.install(genv) target.rhs.ret || raise(target.rhs.inspect) @changes.add_edge(genv, Source.new(Type::Instance.new(genv, genv.mod_str, [])), target.rhs.ret) end ret end end