class Sorbet::Private::Serialize

def serialize_method(method, static=false, with_sig: true)

def serialize_method(method, static=false, with_sig: true)
  name = method.name.to_s
  ret = String.new
  if !valid_method_name(name)
    ret << "# Illegal method name: #{name}"
    return
  end
  parameters = from_method(method)
  ret << serialize_sig(parameters) if with_sig
  args = parameters.map do |(kind, param_name)|
    to_sig(kind, param_name)
  end.compact.join(', ')
  ret << "  def #{static ? 'self.' : ''}#{name}(#{args}); end\n"
  ret
end