 internal typealias AssertHandler = () -> Void
 
 private var assertHandlers = [String: AssertHandler]()
+private var assertHandlerCache = Cache({ file in assertHandlers[file.cacheKey] })
 
 private struct RebuildQueue {
     private let lock = NSLock()


    public func invalidateCache() {
        responseCache.invalidate(self)
        assertHandlers.removeValue(forKey: cacheKey)
        structureCache.invalidate(self)
        syntaxMapCache.invalidate(self)
        syntaxTokensByLinesCache.invalidate(self)


    internal var assertHandler: AssertHandler? {
        get {
            return assertHandlerCache.get(self)
        }
        set {
            assertHandlerCache.set(key: cacheKey, value: newValue)
        }
    }

