Find the correct parser for a particular file name. Return a
SimpleParser for ones that we
don’t know
# File lib/rdoc/parser.rb, line 102
def self.for(top_level, file_name, body, options, stats)
# If no extension, look for shebang
if file_name !~ /\.\w+$/ && body =~ %{\A#!(.+)} then
shebang = $1
case shebang
when %{env\s+ruby}, %{/ruby}
file_name = "dummy.rb"
end
end
parser = can_parse file_name
#
# This method must return a parser.
#
if !parser then
parser = RDoc::Parser::Simple
end
parser.new top_level, file_name, body, options, stats
end