checkcache (LineCache)

    # File lib/linecache.rb, line 111
      def checkcache(filename=nil, use_script_lines=false)

        if !filename
          filenames = @@file_cache.keys()
        elsif @@file_cache.member?(filename)
          filenames = [filename]
        else
          return nil
        end

        result = []
        for filename in filenames
          next unless @@file_cache.member?(filename)
          path = @@file_cache[filename].path
          if File.exist?(path)
            cache_info = @@file_cache[filename]
            stat = File.stat(path)
            if stat &&
                (cache_info.size != stat.size or cache_info.mtime != stat.mtime)
              result << filename
              update_cache(filename, use_script_lines)
            end
          end
        end
        return result
      end