From 04b28b14e5ec2dad57e70043f3d5af76c43d6e2e Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Tue, 22 Apr 2014 20:24:23 +0400 Subject: [PATCH] Synchronization logic extracted into a method --- .../plugin/caches/resolve/KotlinResolveCache.kt | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) 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 07a400f5d7a..8d8c3de90df 100644 --- a/idea/src/org/jetbrains/jet/plugin/caches/resolve/KotlinResolveCache.kt +++ b/idea/src/org/jetbrains/jet/plugin/caches/resolve/KotlinResolveCache.kt @@ -135,6 +135,12 @@ class KotlinCacheService(val project: Project) { } } + private fun getCacheForSyntheticFile(file: JetFile): KotlinResolveCache { + return synchronized(syntheticFileCaches) { + syntheticFileCaches[file] + } + } + public fun getGlobalLazyResolveSession(platform: TargetPlatform): ResolveSessionForBodies { return globalCachesPerPlatform[platform]!!.getLazyResolveSession() } @@ -142,9 +148,7 @@ class KotlinCacheService(val project: Project) { public fun getLazyResolveSession(element: JetElement): ResolveSessionForBodies { val file = element.getContainingJetFile() if (!isFileInScope(file)) { - return synchronized(syntheticFileCaches) { - syntheticFileCaches[file].getLazyResolveSession() - } + return getCacheForSyntheticFile(file).getLazyResolveSession() } return getGlobalLazyResolveSession(TargetPlatformDetector.getPlatform(file)) @@ -155,9 +159,7 @@ class KotlinCacheService(val project: Project) { val firstFile = elements.first().getContainingJetFile() if (elements.size == 1 && !isFileInScope(firstFile)) { - return synchronized(syntheticFileCaches) { - syntheticFileCaches[firstFile].getAnalysisResultsForElements(elements) - } + return getCacheForSyntheticFile(firstFile).getAnalysisResultsForElements(elements) } val resolveCache = globalCachesPerPlatform[TargetPlatformDetector.getPlatform(firstFile)]!!