KT-44487 [Sealed Interfaces]: sealed-inheritors-provider for MPP

This commit is contained in:
Andrei Klunnyi
2021-02-09 12:54:51 +00:00
committed by Space
parent 6f9bcf249b
commit e3c1aa599d
11 changed files with 79 additions and 15 deletions
@@ -134,9 +134,10 @@ fun createContainerForBodyResolve(
statementFilter: StatementFilter,
analyzerServices: PlatformDependentAnalyzerServices,
languageVersionSettings: LanguageVersionSettings,
moduleStructureOracle: ModuleStructureOracle
moduleStructureOracle: ModuleStructureOracle,
sealedProvider: SealedClassInheritorsProvider = CliSealedClassInheritorsProvider
): StorageComponentContainer = createContainer("BodyResolve", analyzerServices) {
configureModule(moduleContext, platform, analyzerServices, bindingTrace, languageVersionSettings)
configureModule(moduleContext, platform, analyzerServices, bindingTrace, languageVersionSettings, sealedProvider)
useInstance(statementFilter)
@@ -156,10 +157,10 @@ fun createContainerForLazyBodyResolve(
analyzerServices: PlatformDependentAnalyzerServices,
languageVersionSettings: LanguageVersionSettings,
moduleStructureOracle: ModuleStructureOracle,
mainFunctionDetectorFactory: MainFunctionDetector.Factory
mainFunctionDetectorFactory: MainFunctionDetector.Factory,
sealedProvider: SealedClassInheritorsProvider = CliSealedClassInheritorsProvider
): StorageComponentContainer = createContainer("LazyBodyResolve", analyzerServices) {
configureModule(moduleContext, platform, analyzerServices, bindingTrace, languageVersionSettings)
configureModule(moduleContext, platform, analyzerServices, bindingTrace, languageVersionSettings, sealedProvider)
useInstance(mainFunctionDetectorFactory)
useInstance(kotlinCodeAnalyzer)
useInstance(kotlinCodeAnalyzer.fileScopeProvider)