class SyntaxTree::LambdaVar


end
-> (positional, optional = value, keyword:, █ local) do
declarations.
of the various parameter types, as well as block-local variable
this node is everything contained within the parentheses. This includes all
LambdaVar represents the parameters being declared for a lambda. Effectively

def ===(other)

def ===(other)
  other.is_a?(LambdaVar) && params === other.params &&
    ArrayMatch.call(locals, other.locals)
end

def accept(visitor)

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

def child_nodes

def child_nodes
  [params, *locals]
end

def copy(params: nil, locals: nil, location: nil)

def copy(params: nil, locals: nil, location: nil)
  node =
    LambdaVar.new(
      params: params || self.params,
      locals: locals || self.locals,
      location: location || self.location
    )
  node.comments.concat(comments.map(&:copy))
  node
end

def deconstruct_keys(_keys)

def deconstruct_keys(_keys)
  { params: params, locals: locals, location: location, comments: comments }
end

def empty?

def empty?
  params.empty? && locals.empty?
end

def format(q)

def format(q)
  q.format(params)
  if locals.any?
    q.text("; ")
    q.seplist(locals, BlockVar::SEPARATOR) { |local| q.format(local) }
  end
end

def initialize(params:, locals:, location:)

def initialize(params:, locals:, location:)
  @params = params
  @locals = locals
  @location = location
  @comments = []
end