class TypeProf::Core::AST::BranchNode::LoopNode::BreakNode::NextNode::CaseNode::CaseMatchNode::AndNode::OrNode

Attributes

e1[R]
e2[R]

Public Class Methods

new(raw_node, e1 = nil, raw_e2 = nil, lenv) click to toggle source
Calls superclass method TypeProf::Core::AST::Node::new
# File typeprof-0.30.1/lib/typeprof/core/ast/control.rb, line 315
def initialize(raw_node, e1 = nil, raw_e2 = nil, lenv)
  super(raw_node, lenv)
  @e1 = e1 || AST.create_node(raw_node.left, lenv)
  @e2 = AST.create_node(raw_e2 || raw_node.right, lenv)
end

Public Instance Methods

install0(genv) click to toggle source
# File typeprof-0.30.1/lib/typeprof/core/ast/control.rb, line 325
def install0(genv)
  ret = Vertex.new(self)
  v1 = @e1.install(genv)
  v1 = NilFilter.new(genv, self, v1, false).next_vtx
  @changes.add_edge(genv, v1, ret)
  @changes.add_edge(genv, @e2.install(genv), ret)
  ret
end
subnodes(= { e1:, e2: }) click to toggle source
# File typeprof-0.30.1/lib/typeprof/core/ast/control.rb, line 323
  def subnodes = { e1:, e2: }

  def install0(genv)
    ret = Vertex.new(self)
    v1 = @e1.install(genv)
    v1 = NilFilter.new(genv, self, v1, false).next_vtx
    @changes.add_edge(genv, v1, ret)
    @changes.add_edge(genv, @e2.install(genv), ret)
    ret
  end
end