class CodeTools::AST::OpAssignAnd
Attributes
left[RW]
right[RW]
Public Class Methods
new(line, left, right)
click to toggle source
# File lib/rubinius/code/ast/operators.rb, line 430 def initialize(line, left, right) @line = line @left = left @right = right end
Public Instance Methods
bytecode(g)
click to toggle source
# File lib/rubinius/code/ast/operators.rb, line 436 def bytecode(g) pos(g) @left.bytecode(g) lbl = g.new_label g.dup g.goto_if_false lbl g.pop @right.bytecode(g) lbl.set! end
defined(g)
click to toggle source
# File lib/rubinius/code/ast/operators.rb, line 448 def defined(g) g.push_literal "assignment" end
sexp_name()
click to toggle source
# File lib/rubinius/code/ast/operators.rb, line 452 def sexp_name :op_asgn_and end
to_sexp()
click to toggle source
# File lib/rubinius/code/ast/operators.rb, line 456 def to_sexp [sexp_name, @left.to_sexp, @right.to_sexp] end