Add a dependency from all klib-originated modules to the main module

This is required, for instance, to properly resolve supertypes across
the modules.

Issue #KT-37832 Fixed
This commit is contained in:
Sergey Igushkin
2020-03-27 16:44:40 +03:00
parent 8979b98fc0
commit 67f4b7e2b0
6 changed files with 43 additions and 7 deletions
@@ -160,6 +160,8 @@ class CommonResolverForModuleFactory(
val moduleDescriptor = resolver.descriptorForModule(moduleInfo)
dependenciesContainer?.registerDependencyForAllModules(moduleInfo, moduleDescriptor)
val container = resolver.resolverForModule(moduleInfo).componentProvider
container.get<LazyTopDownAnalyzer>().analyzeDeclarations(TopDownAnalysisMode.TopLevelDeclarations, files)
@@ -174,6 +176,11 @@ interface CommonDependenciesContainer {
fun moduleDescriptorForModuleInfo(moduleInfo: ModuleInfo): ModuleDescriptor
fun registerDependencyForAllModules(
moduleInfo: ModuleInfo,
descriptorForModule: ModuleDescriptorImpl
)
fun packageFragmentProviderForModuleInfo(moduleInfo: ModuleInfo): PackageFragmentProvider?
val friendModuleInfos: List<ModuleInfo>
val refinesModuleInfos: List<ModuleInfo>