class TypeProf::Core::AST::LiteralNode::NilNode::TrueNode::FalseNode::IntegerNode::FloatNode::RationalNode::ComplexNode::SymbolNode::InterpolatedSymbolNode::StringNode::InterpolatedStringNode::RegexpNode::InterpolatedRegexpNode::MatchLastLineNode::InterpolatedMatchLastLineNode::RangeNode

Attributes

begin[R]
end[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/value.rb, line 216
def initialize(raw_node, lenv)
  super(raw_node, lenv)
  @begin = raw_node.left ? AST.create_node(raw_node.left, lenv) : DummyNilNode.new(raw_node, lenv)
  @end = raw_node.right ? AST.create_node(raw_node.right, lenv) : DummyNilNode.new(raw_node, lenv)
end

Public Instance Methods

install0(genv) click to toggle source
# File typeprof-0.30.1/lib/typeprof/core/ast/value.rb, line 226
def install0(genv)
  elem = Vertex.new(self)
  @changes.add_edge(genv, @begin.install(genv), elem)
  @changes.add_edge(genv, @end.install(genv), elem)
  Source.new(genv.gen_range_type(elem))
end
subnodes(= { begin:, end: }) click to toggle source
# File typeprof-0.30.1/lib/typeprof/core/ast/value.rb, line 224
  def subnodes = { begin:, end: }

  def install0(genv)
    elem = Vertex.new(self)
    @changes.add_edge(genv, @begin.install(genv), elem)
    @changes.add_edge(genv, @end.install(genv), elem)
    Source.new(genv.gen_range_type(elem))
  end
end