class TypeProf::Core::AST::ArrayPatternNode::HashPatternNode::FindPatternNode

Attributes

left[R]
requireds[R]
right[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/pattern.rb, line 51
def initialize(raw_node, lenv)
  super(raw_node, lenv)
  @left = raw_node.left ? AST.create_pattern_node(raw_node.left.expression, lenv) : nil
  @requireds = raw_node.requireds.map {|raw_elem| AST.create_pattern_node(raw_elem, lenv) }
  @right = raw_node.right ? AST.create_pattern_node(raw_node.right.expression, lenv) : nil
end

Public Instance Methods

install0(genv) click to toggle source
# File typeprof-0.30.1/lib/typeprof/core/ast/pattern.rb, line 62
def install0(genv)
  @left.install(genv) if @left
  @requireds.each do |pat|
    pat.install(genv)
  end
  @right.install(genv) if @right
end
subnodes(= { left:, requireds:, right: }) click to toggle source
# File typeprof-0.30.1/lib/typeprof/core/ast/pattern.rb, line 60
  def subnodes = { left:, requireds:, right: }

  def install0(genv)
    @left.install(genv) if @left
    @requireds.each do |pat|
      pat.install(genv)
    end
    @right.install(genv) if @right
  end
end