# File lib/method_analyzer.rb, line 58 def self.at_exit__output_marshal at_exit do set_trace_func nil dbfile = "method_analysis" old = Marshal.load(File.read(dbfile)) rescue {} open(dbfile, "wb") do |io| # Because Marshal.dump cannot handle hashes with default_proc @@methods.default = nil @@methods.each_value{ |v| v.default=nil; v.each_value{ |vv| vv.uniq! } } Marshal.dump(@@methods.merge(old), io) end end end