class TypeProf::Core::AST::StatementsNode::MultiWriteNode::MultiTargetNode::MatchWriteNode
Attributes
Public Class Methods
Source
# File bundled-src/typeprof-0.31.1/lib/typeprof/core/ast/misc.rb, line 200 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
Calls superclass method
TypeProf::Core::AST::Node::new
Public Instance Methods
Source
# File bundled-src/typeprof-0.31.1/lib/typeprof/core/ast/misc.rb, line 211 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
Source
# File bundled-src/typeprof-0.31.1/lib/typeprof/core/ast/misc.rb, line 209 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