class CodeTools::AST::SplatWhen

Attributes

condition[RW]

Public Class Methods

new(line, condition) click to toggle source
# File lib/rubinius/code/ast/control_flow.rb, line 196
def initialize(line, condition)
  @line = line
  @condition = condition
end

Public Instance Methods

bytecode(g, body, nxt) click to toggle source
# File lib/rubinius/code/ast/control_flow.rb, line 214
def bytecode(g, body, nxt)
  # TODO: why is this empty?
end
receiver_bytecode(g, body, nxt) click to toggle source
# File lib/rubinius/code/ast/control_flow.rb, line 201
def receiver_bytecode(g, body, nxt)
  pos(g)

  g.dup
  @condition.bytecode(g)
  g.cast_array
  g.push_rubinius
  g.find_const :Runtime
  g.rotate(3)
  g.send :matches_when, 2
  g.goto_if_true body
end
to_sexp() click to toggle source
# File lib/rubinius/code/ast/control_flow.rb, line 218
def to_sexp
  [:when, @condition.to_sexp, nil]
end