From ec02734a30e8d02ce38f359435ce9d5eddae1cd0 Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Mon, 15 Sep 2014 21:33:24 +0400 Subject: [PATCH] Minor: extract property in KotlinResolveCache --- .../jet/plugin/caches/resolve/KotlinResolveCache.kt | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/idea/idea-analysis/src/org/jetbrains/jet/plugin/caches/resolve/KotlinResolveCache.kt b/idea/idea-analysis/src/org/jetbrains/jet/plugin/caches/resolve/KotlinResolveCache.kt index 8a08b0b0e7f..517027826f3 100644 --- a/idea/idea-analysis/src/org/jetbrains/jet/plugin/caches/resolve/KotlinResolveCache.kt +++ b/idea/idea-analysis/src/org/jetbrains/jet/plugin/caches/resolve/KotlinResolveCache.kt @@ -73,22 +73,25 @@ public trait CacheExtension { private class KotlinResolveCache( val project: Project, - setupProvider: () -> CachedValueProvider.Result + computeModuleResolverProvider: () -> CachedValueProvider.Result ) { - private val resolverCache = SynchronizedCachedValue(project, setupProvider, trackValue = false) + private val resolverCache = SynchronizedCachedValue(project, computeModuleResolverProvider, trackValue = false) + + val moduleResolverProvider: ModuleResolverProvider + get() = resolverCache.getValue() public fun getLazyResolveSession(element: JetElement): ResolveSessionForBodies { - return resolverCache.getValue().resolveSessionForBodiesByModule(element.getModuleInfo()) + return moduleResolverProvider.resolveSessionForBodiesByModule(element.getModuleInfo()) } public fun get(extension: CacheExtension): T { - return extension.getData(resolverCache.getValue()) + return extension.getData(moduleResolverProvider) } private val analysisResults = CachedValuesManager.getManager(project).createCachedValue( { - val resolverProvider = resolverCache.getValue() + val resolverProvider = moduleResolverProvider val results = object : SLRUCache(2, 3) { override fun createValue(file: JetFile?): PerFileAnalysisCache { return PerFileAnalysisCache(file!!, resolverProvider.resolveSessionForBodiesByModule(file.getModuleInfo()))