Reuse both storage manager and exception tracker when delegating to ModuleResolverProvider
This commit is contained in:
+5
-3
@@ -44,7 +44,7 @@ fun createModuleResolverProvider(
|
|||||||
|
|
||||||
val allModuleInfos = collectAllModuleInfosFromIdeaModel(project).toHashSet()
|
val allModuleInfos = collectAllModuleInfosFromIdeaModel(project).toHashSet()
|
||||||
|
|
||||||
val globalContext = GlobalContext()
|
val globalContext = (delegateProvider as? ModuleResolverProviderImpl)?.globalContext ?: GlobalContext()
|
||||||
|
|
||||||
fun createResolverForProject(): ResolverForProject<IdeaModuleInfo, ResolverForModule> {
|
fun createResolverForProject(): ResolverForProject<IdeaModuleInfo, ResolverForModule> {
|
||||||
val syntheticFilesByModule = syntheticFiles.groupBy { it.getModuleInfo() }
|
val syntheticFilesByModule = syntheticFiles.groupBy { it.getModuleInfo() }
|
||||||
@@ -76,7 +76,7 @@ fun createModuleResolverProvider(
|
|||||||
return ModuleResolverProviderImpl(
|
return ModuleResolverProviderImpl(
|
||||||
resolverForProject,
|
resolverForProject,
|
||||||
moduleToBodiesResolveSession,
|
moduleToBodiesResolveSession,
|
||||||
globalContext.exceptionTracker,
|
globalContext,
|
||||||
delegateProvider
|
delegateProvider
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -127,9 +127,11 @@ object EmptyModuleResolverProvider: ModuleResolverProvider {
|
|||||||
class ModuleResolverProviderImpl(
|
class ModuleResolverProviderImpl(
|
||||||
override val resolverForProject: ResolverForProject<IdeaModuleInfo, ResolverForModule>,
|
override val resolverForProject: ResolverForProject<IdeaModuleInfo, ResolverForModule>,
|
||||||
private val bodiesResolveByModule: Map<IdeaModuleInfo, ResolveSessionForBodies>,
|
private val bodiesResolveByModule: Map<IdeaModuleInfo, ResolveSessionForBodies>,
|
||||||
override val exceptionTracker: ExceptionTracker,
|
val globalContext: GlobalContext,
|
||||||
val delegateProvider: ModuleResolverProvider = EmptyModuleResolverProvider
|
val delegateProvider: ModuleResolverProvider = EmptyModuleResolverProvider
|
||||||
): ModuleResolverProvider {
|
): ModuleResolverProvider {
|
||||||
|
override val exceptionTracker: ExceptionTracker = globalContext.exceptionTracker
|
||||||
|
|
||||||
override fun resolveSessionForBodiesByModule(module: IdeaModuleInfo): ResolveSessionForBodies =
|
override fun resolveSessionForBodiesByModule(module: IdeaModuleInfo): ResolveSessionForBodies =
|
||||||
bodiesResolveByModule[module] ?:
|
bodiesResolveByModule[module] ?:
|
||||||
delegateProvider.resolveSessionForBodiesByModule(module)
|
delegateProvider.resolveSessionForBodiesByModule(module)
|
||||||
|
|||||||
Reference in New Issue
Block a user