class TypeProf::Core::AST::LiteralNode::NilNode::TrueNode::FalseNode::IntegerNode::FloatNode::RationalNode::ComplexNode::SymbolNode::InterpolatedSymbolNode::StringNode::InterpolatedStringNode

Attributes

parts[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 130
def initialize(raw_node, lenv)
  super(raw_node, lenv)
  @parts = []

  queue = raw_node.parts.dup

  until queue.empty?
    raw_part = queue.shift

    if raw_part.type == :interpolated_string_node
      queue.unshift(*raw_part.parts)
    else
      @parts << AST.create_part_node(raw_part, lenv)
    end
  end
end

Public Instance Methods

install0(genv) click to toggle source
# File typeprof-0.30.1/lib/typeprof/core/ast/value.rb, line 151
def install0(genv)
  @parts.each do |subnode|
    subnode.install(genv)
  end
  Source.new(genv.str_type)
end
subnodes(= { parts: }) click to toggle source
# File typeprof-0.30.1/lib/typeprof/core/ast/value.rb, line 149
  def subnodes = { parts: }

  def install0(genv)
    @parts.each do |subnode|
      subnode.install(genv)
    end
    Source.new(genv.str_type)
  end
end