class SyntaxTree::Defs


def object.method(param) result end
Defs represents defining a singleton method on an object.

def accept(visitor)

def accept(visitor)
  visitor.visit_defs(self)
end

def child_nodes

def child_nodes
  [target, operator, name, params, bodystmt]
end

def deconstruct_keys(_keys)

def deconstruct_keys(_keys)
  {
    target: target,
    operator: operator,
    name: name,
    params: params,
    bodystmt: bodystmt,
    location: location,
    comments: comments
  }
end

def format(q)

def format(q)
  q.group do
    q.group do
      q.text("def ")
      q.format(target)
      q.format(CallOperatorFormatter.new(operator), stackable: false)
      q.format(name)
      if !params.is_a?(Params) || !params.empty? || params.comments.any?
        q.format(params)
      end
    end
    unless bodystmt.empty?
      q.indent do
        q.breakable(force: true)
        q.format(bodystmt)
      end
    end
    q.breakable(force: true)
    q.text("end")
  end
end

def initialize(

def initialize(
  target:,
  operator:,
  name:,
  params:,
  bodystmt:,
  location:,
  comments: []
)
  @target = target
  @operator = operator
  @name = name
  @params = params
  @bodystmt = bodystmt
  @location = location
  @comments = comments
end