diff --git a/idea/idea-analysis/src/org/jetbrains/jet/plugin/caches/resolve/ModuleDependencyMapper.kt b/idea/idea-analysis/src/org/jetbrains/jet/plugin/caches/resolve/ModuleDependencyMapper.kt index c4cd9a3dcd1..b4030793adc 100644 --- a/idea/idea-analysis/src/org/jetbrains/jet/plugin/caches/resolve/ModuleDependencyMapper.kt +++ b/idea/idea-analysis/src/org/jetbrains/jet/plugin/caches/resolve/ModuleDependencyMapper.kt @@ -44,7 +44,7 @@ fun createModuleResolverProvider( val allModuleInfos = collectAllModuleInfosFromIdeaModel(project).toHashSet() - val globalContext = GlobalContext() + val globalContext = (delegateProvider as? ModuleResolverProviderImpl)?.globalContext ?: GlobalContext() fun createResolverForProject(): ResolverForProject { val syntheticFilesByModule = syntheticFiles.groupBy { it.getModuleInfo() } @@ -76,7 +76,7 @@ fun createModuleResolverProvider( return ModuleResolverProviderImpl( resolverForProject, moduleToBodiesResolveSession, - globalContext.exceptionTracker, + globalContext, delegateProvider ) } @@ -127,9 +127,11 @@ object EmptyModuleResolverProvider: ModuleResolverProvider { class ModuleResolverProviderImpl( override val resolverForProject: ResolverForProject, private val bodiesResolveByModule: Map, - override val exceptionTracker: ExceptionTracker, + val globalContext: GlobalContext, val delegateProvider: ModuleResolverProvider = EmptyModuleResolverProvider ): ModuleResolverProvider { + override val exceptionTracker: ExceptionTracker = globalContext.exceptionTracker + override fun resolveSessionForBodiesByModule(module: IdeaModuleInfo): ResolveSessionForBodies = bodiesResolveByModule[module] ?: delegateProvider.resolveSessionForBodiesByModule(module)