class TypeProf::Core::AST::BranchNode::LoopNode::BreakNode - typeprof: Ruby Standard Library Documentation

# 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