class Rufo::Formatter

def visit_defined(node)

def visit_defined(node)
  # [:defined, exp]
  _, exp = node
  consume_keyword "defined?"
  has_space = space?
  if has_space
    consume_space(want_preserve_whitespace: @preserve_whitespace)
  else
    skip_space_or_newline
  end
  has_paren = current_token_kind == :on_lparen
  if has_paren && !has_space
    write "("
    next_token
    skip_space_or_newline
  end
  visit exp
  if has_paren && !has_space
    skip_space_or_newline
    check :on_rparen
    write ")"
    next_token
  end
end