SamWithReceiver: Call onContainerComposed() properly for module dependencies as well. Inject SamWithReceiverResolver by instance.
This commit is contained in:
committed by
Yan Zhulanow
parent
75e76dda54
commit
5adc3bacff
@@ -69,7 +69,7 @@ fun StorageComponentContainer.configureJavaTopDownAnalysis(
|
|||||||
useImpl<TraceBasedErrorReporter>()
|
useImpl<TraceBasedErrorReporter>()
|
||||||
useImpl<PsiBasedExternalAnnotationResolver>()
|
useImpl<PsiBasedExternalAnnotationResolver>()
|
||||||
useImpl<JavaPropertyInitializerEvaluatorImpl>()
|
useImpl<JavaPropertyInitializerEvaluatorImpl>()
|
||||||
useImpl<SamWithReceiverResolver>()
|
useInstance(SamWithReceiverResolver())
|
||||||
useImpl<SamConversionResolverImpl>()
|
useImpl<SamConversionResolverImpl>()
|
||||||
useImpl<JavaSourceElementFactoryImpl>()
|
useImpl<JavaSourceElementFactoryImpl>()
|
||||||
useInstance(InternalFlexibleTypeTransformer)
|
useInstance(InternalFlexibleTypeTransformer)
|
||||||
|
|||||||
+3
-2
@@ -82,8 +82,6 @@ object TopDownAnalyzerFacadeForJVM {
|
|||||||
project, files, trace, configuration, packagePartProvider, declarationProviderFactory, sourceModuleSearchScope
|
project, files, trace, configuration, packagePartProvider, declarationProviderFactory, sourceModuleSearchScope
|
||||||
)
|
)
|
||||||
|
|
||||||
StorageComponentContainerContributor.getInstances(project).forEach { it.onContainerComposed(container, null) }
|
|
||||||
|
|
||||||
val module = container.get<ModuleDescriptor>()
|
val module = container.get<ModuleDescriptor>()
|
||||||
val moduleContext = container.get<ModuleContext>()
|
val moduleContext = container.get<ModuleContext>()
|
||||||
|
|
||||||
@@ -162,6 +160,8 @@ object TopDownAnalyzerFacadeForJVM {
|
|||||||
packagePartProvider(dependencyScope), languageVersionSettings, moduleClassResolver
|
packagePartProvider(dependencyScope), languageVersionSettings, moduleClassResolver
|
||||||
)
|
)
|
||||||
|
|
||||||
|
StorageComponentContainerContributor.getInstances(project).forEach { it.onContainerComposed(dependenciesContainer, null) }
|
||||||
|
|
||||||
moduleClassResolver.compiledCodeResolver = dependenciesContainer.get<JavaDescriptorResolver>()
|
moduleClassResolver.compiledCodeResolver = dependenciesContainer.get<JavaDescriptorResolver>()
|
||||||
|
|
||||||
dependenciesContext.setDependencies(listOfNotNull(dependenciesContext.module, optionalBuiltInsModule))
|
dependenciesContext.setDependencies(listOfNotNull(dependenciesContext.module, optionalBuiltInsModule))
|
||||||
@@ -185,6 +185,7 @@ object TopDownAnalyzerFacadeForJVM {
|
|||||||
languageVersionSettings, moduleClassResolver
|
languageVersionSettings, moduleClassResolver
|
||||||
).apply {
|
).apply {
|
||||||
initJvmBuiltInsForTopDownAnalysis(module, languageVersionSettings)
|
initJvmBuiltInsForTopDownAnalysis(module, languageVersionSettings)
|
||||||
|
StorageComponentContainerContributor.getInstances(project).forEach { it.onContainerComposed(this, null) }
|
||||||
}
|
}
|
||||||
|
|
||||||
moduleClassResolver.sourceCodeResolver = container.get<JavaDescriptorResolver>()
|
moduleClassResolver.sourceCodeResolver = container.get<JavaDescriptorResolver>()
|
||||||
|
|||||||
Reference in New Issue
Block a user