class RDoc::Parser

def self.for(top_level, file_name, body, options, stats)

def self.for(top_level, file_name, body, options, stats)
  return if binary? file_name
  # If no extension, look for shebang
  if file_name !~ /\.\w+$/ && body =~ %r{\A#!(.+)} then
    shebang = $1
    case shebang
    when %r{env\s+ruby}, %r{/ruby}
      file_name = "dummy.rb"
    end
  end
  parser = can_parse file_name
  return unless parser
  parser.new top_level, file_name, body, options, stats
end