module Bmg::Operator::Binary

Attributes

left[RW]
right[RW]

Public Instance Methods

bind(binding) click to toggle source
# File lib/bmg/operator/shared/binary.rb, line 6
def bind(binding)
  _with_operands(left.bind(binding), right.bind(binding))
end

Protected Instance Methods

_visit(parent, visitor) click to toggle source
# File lib/bmg/operator/shared/binary.rb, line 14
def _visit(parent, visitor)
  visitor.call(self, parent)
  left.send(:_visit, self, visitor)
  right.send(:_visit, self, visitor)
end
_with_operands(left, right) click to toggle source
# File lib/bmg/operator/shared/binary.rb, line 20
def _with_operands(left, right)
  dup.tap{|d|
    d.left = left
    d.right = right
  }
end
operands() click to toggle source
# File lib/bmg/operator/shared/binary.rb, line 27
def operands
  [left, right]
end