class TypeProf::Core::AST::BranchNode::LoopNode::BreakNode::NextNode::CaseNode::CaseMatchNode::AndNode::OrNode - typeprof: Ruby Standard Library Documentation

# 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