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

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 177
def initialize(raw_node, lenv)
  super(raw_node, lenv)
  @arg = AST.parse_return_arguments(raw_node, lenv, code_range)
end
parse_return_arguments(raw_node, lenv, code_range) click to toggle source
# File typeprof-0.30.1/lib/typeprof/core/ast/control.rb, line 193
def self.parse_return_arguments(raw_node, lenv, code_range)
  if raw_node.arguments
    elems = raw_node.arguments.arguments
    if elems.one?
      AST.create_node(elems.first, lenv)
    else
      ArrayNode.new(raw_node.arguments, lenv, elems)
    end
  else
    DummyNilNode.new(code_range, lenv)
  end
end

Public Instance Methods

install0(genv) click to toggle source
# File typeprof-0.30.1/lib/typeprof/core/ast/control.rb, line 186
def install0(genv)
  arg = @arg.install(genv)
  @changes.add_edge(genv, arg, @lenv.get_break_vtx)
  Source.new()
end
subnodes(= { arg: }) click to toggle source
# File typeprof-0.30.1/lib/typeprof/core/ast/control.rb, line 184
  def subnodes = { arg: }

  def install0(genv)
    arg = @arg.install(genv)
    @changes.add_edge(genv, arg, @lenv.get_break_vtx)
    Source.new()
  end
end