parse_file(filename)
public
Show source
def parse_file filename
if defined?(Encoding) then
encoding = @options.encoding
filename = filename.encode encoding
end
@stats.add_file filename
content = RDoc::Encoding.read_file filename, encoding
return unless content
top_level = RDoc::TopLevel.new filename
parser = RDoc::Parser.for top_level, filename, content, @options, @stats
return unless parser
parser.scan
top_level.classes_or_modules.each do |cm|
cm.done_documenting = false
end
top_level
rescue => e
$stderr.puts Before reporting this, could you check that the file you're documentinghas proper syntax: #{Gem.ruby} -c #{filename}RDoc is not a full Ruby parser and will fail when fed invalid ruby programs.The internal error was:\t(#{e.class}) #{e.message}
$stderr.puts e.backtrace.join("\n\t") if $DEBUG_RDOC
raise e
nil
end