class CodeTools::AST::ReceiverCase
Attributes
receiver[RW]
Public Class Methods
new(line, receiver, whens, else_body)
click to toggle source
# File lib/rubinius/code/ast/control_flow.rb, line 50 def initialize(line, receiver, whens, else_body) @line = line @receiver = receiver @whens = whens @else = else_body || NilLiteral.new(line) end
Public Instance Methods
bytecode(g)
click to toggle source
# File lib/rubinius/code/ast/control_flow.rb, line 57 def bytecode(g) pos(g) done = g.new_label @receiver.bytecode(g) @whens.each do |w| w.receiver_bytecode(g, done) end g.pop @else.bytecode(g) # See command in if about why using line 0 g.set_line 0 done.set! end
receiver_sexp()
click to toggle source
# File lib/rubinius/code/ast/control_flow.rb, line 77 def receiver_sexp @receiver.to_sexp end