module SyntaxTree::ContainsAssignment

def self.call(parent)

def self.call(parent)
  queue = [parent]
  while (node = queue.shift)
    case node
    when Assign, MAssign, OpAssign
      return true
    else
      node.child_nodes.each { |child| queue << child if child }
    end
  end
  false
end