class TypeProf::Core::AST::LiteralNode::NilNode::TrueNode::FalseNode::IntegerNode::FloatNode::RationalNode::ComplexNode::SymbolNode::InterpolatedSymbolNode::StringNode::InterpolatedStringNode::RegexpNode::InterpolatedRegexpNode::MatchLastLineNode::InterpolatedMatchLastLineNode::RangeNode - typeprof: Ruby Standard Library Documentation

# 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