diff --git a/idea/src/org/jetbrains/jet/plugin/caches/resolve/KotlinResolveCache.kt b/idea/src/org/jetbrains/jet/plugin/caches/resolve/KotlinResolveCache.kt index e47d7c0d501..fd2f8e1784d 100644 --- a/idea/src/org/jetbrains/jet/plugin/caches/resolve/KotlinResolveCache.kt +++ b/idea/src/org/jetbrains/jet/plugin/caches/resolve/KotlinResolveCache.kt @@ -123,25 +123,16 @@ class KotlinCacheService(val project: Project) { JS to KotlinResolveCache(project, globalResolveSessionProvider(JS)) ) - private val syntheticFileCaches = object : SLRUCache>(2, 3) { - override fun createValue(file: JetFile?): SynchronizedCachedValue { - return SynchronizedCachedValue( + private val syntheticFileCaches = object : SLRUCache(2, 3) { + override fun createValue(file: JetFile?): KotlinResolveCache { + return KotlinResolveCache( project, - { - CachedValueProvider.Result( - KotlinResolveCache( - project, - globalResolveSessionProvider( - TargetPlatformDetector.getPlatform(file!!), - file - ) - ), - PsiModificationTracker.MODIFICATION_COUNT - ) - }, - false) + globalResolveSessionProvider( + TargetPlatformDetector.getPlatform(file!!), + file + ) + ) } - } public fun getGlobalLazyResolveSession(platform: TargetPlatform): ResolveSessionForBodies { @@ -152,7 +143,7 @@ class KotlinCacheService(val project: Project) { val file = element.getContainingJetFile() if (!isFileInScope(file)) { return synchronized(syntheticFileCaches) { - syntheticFileCaches[file].getValue().getLazyResolveSession() + syntheticFileCaches[file].getLazyResolveSession() } } @@ -165,7 +156,7 @@ class KotlinCacheService(val project: Project) { val firstFile = elements.first().getContainingJetFile() if (elements.size == 1 && !isFileInScope(firstFile)) { return synchronized(syntheticFileCaches) { - syntheticFileCaches[firstFile].getValue().getAnalysisResultsForElements(elements) + syntheticFileCaches[firstFile].getAnalysisResultsForElements(elements) } }