class RDoc::AnyMethod

def param_list

def param_list
  if @call_seq then
    params = @call_seq.split("\n").last
    params = params.sub(/.*?\((.*)\)/, '\1')
    params = params.sub(/(\{|do)\s*\|([^|]*)\|.*/, ',\2')
  elsif @params then
    params = @params.sub(/\((.*)\)/, '\1')
    params << ",#{@block_params}" if @block_params
  elsif @block_params then
    params = @block_params
  else
    return []
  end
  if @block_params then
    # If this method has explicit block parameters, remove any explicit
    # &block
    params = params.sub(/,?\s*&\w+/, '')
  else
    params = params.sub(/\&(\w+)/, '\1')
  end
  params = params.gsub(/\s+/, '').split(',').reject(&:empty?)
  params.map { |param| param.sub(/=.*/, '') }
end