class RuboCop::Cop::Lint::AssignmentInCondition

def traverse_node(node, types, &block)

each_node/visit_descendants_with_types with :skip_children
def traverse_node(node, types, &block)
  result = yield node if types.include?(node.type)
  return if result == :skip_children
  node.each_child_node { |child| traverse_node(child, types, &block) }
end