class Atomy::Code::Sequence

Attributes

nodes[R]

Public Class Methods

new(nodes) click to toggle source
# File lib/atomy/code/sequence.rb, line 6
def initialize(nodes)
  @nodes = nodes
end

Public Instance Methods

bytecode(gen, mod) click to toggle source
# File lib/atomy/code/sequence.rb, line 10
def bytecode(gen, mod)
  if @nodes.empty?
    gen.push_nil
    return
  end

  @nodes.each.with_index do |node, idx|
    gen.pop unless idx == 0
    mod.compile(gen, node)
  end
end