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) # a hack for appeasing Sorbet in the presence of the Enumerable interface if name == 'each' && !parameters.any? {|(kind, _)| kind == :block} parameters.push([:block, "blk"]) end 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