From 5adc3bacffa6a599c5e614be243ec77b0fa7ba75 Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Tue, 17 Jan 2017 12:03:36 +0900 Subject: [PATCH] SamWithReceiver: Call onContainerComposed() properly for module dependencies as well. Inject SamWithReceiverResolver by instance. --- .../src/org/jetbrains/kotlin/frontend/java/di/injection.kt | 2 +- .../kotlin/resolve/jvm/TopDownAnalyzerFacadeForJVM.kt | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/frontend/java/di/injection.kt b/compiler/frontend.java/src/org/jetbrains/kotlin/frontend/java/di/injection.kt index 675fdb578ef..fa0a131ee84 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/frontend/java/di/injection.kt +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/frontend/java/di/injection.kt @@ -69,7 +69,7 @@ fun StorageComponentContainer.configureJavaTopDownAnalysis( useImpl() useImpl() useImpl() - useImpl() + useInstance(SamWithReceiverResolver()) useImpl() useImpl() useInstance(InternalFlexibleTypeTransformer) diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/TopDownAnalyzerFacadeForJVM.kt b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/TopDownAnalyzerFacadeForJVM.kt index 4dbaedca806..81eef5da2e2 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/TopDownAnalyzerFacadeForJVM.kt +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/TopDownAnalyzerFacadeForJVM.kt @@ -82,8 +82,6 @@ object TopDownAnalyzerFacadeForJVM { project, files, trace, configuration, packagePartProvider, declarationProviderFactory, sourceModuleSearchScope ) - StorageComponentContainerContributor.getInstances(project).forEach { it.onContainerComposed(container, null) } - val module = container.get() val moduleContext = container.get() @@ -162,6 +160,8 @@ object TopDownAnalyzerFacadeForJVM { packagePartProvider(dependencyScope), languageVersionSettings, moduleClassResolver ) + StorageComponentContainerContributor.getInstances(project).forEach { it.onContainerComposed(dependenciesContainer, null) } + moduleClassResolver.compiledCodeResolver = dependenciesContainer.get() dependenciesContext.setDependencies(listOfNotNull(dependenciesContext.module, optionalBuiltInsModule)) @@ -185,6 +185,7 @@ object TopDownAnalyzerFacadeForJVM { languageVersionSettings, moduleClassResolver ).apply { initJvmBuiltInsForTopDownAnalysis(module, languageVersionSettings) + StorageComponentContainerContributor.getInstances(project).forEach { it.onContainerComposed(this, null) } } moduleClassResolver.sourceCodeResolver = container.get()