class TypeProf::Core::AST::BranchNode::LoopNode::BreakNode::NextNode

Attributes

arg[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/control.rb, line 207
def initialize(raw_node, lenv)
  super(raw_node, lenv)
  @arg = AST.parse_return_arguments(raw_node, lenv, code_range)
end

Public Instance Methods

install0(genv) click to toggle source
# File typeprof-0.30.1/lib/typeprof/core/ast/control.rb, line 216
def install0(genv)
  @arg.install(genv)
  if @lenv.exist_var?(:"*expected_block_ret")
    @lenv.add_next_box(@changes.add_escape_box(genv, @arg.ret, @lenv.get_var(:"*expected_block_ret")))
  end
  Source.new(Type::Bot.new(genv))
end
subnodes(= { arg: }) click to toggle source
# File typeprof-0.30.1/lib/typeprof/core/ast/control.rb, line 214
  def subnodes = { arg: }

  def install0(genv)
    @arg.install(genv)
    if @lenv.exist_var?(:"*expected_block_ret")
      @lenv.add_next_box(@changes.add_escape_box(genv, @arg.ret, @lenv.get_var(:"*expected_block_ret")))
    end
    Source.new(Type::Bot.new(genv))
  end
end