Support additional module descriptor dependencies in klib descriptors

This commit is contained in:
Sergey Igushkin
2020-04-08 00:54:31 +03:00
parent a9dd194383
commit d4a0844a77
2 changed files with 5 additions and 3 deletions
@@ -29,7 +29,8 @@ interface KlibResolvedModuleDescriptorsFactory {
storageManager: StorageManager,
builtIns: KotlinBuiltIns?,
languageVersionSettings: LanguageVersionSettings,
customAction: ((KotlinLibrary, ModuleDescriptorImpl) -> Unit)? = null
customAction: ((KotlinLibrary, ModuleDescriptorImpl) -> Unit)? = null,
additionalDependencyModules: Iterable<ModuleDescriptorImpl>
): KotlinResolvedModuleDescriptors
}
@@ -37,7 +37,8 @@ class KlibResolvedModuleDescriptorsFactoryImpl(
storageManager: StorageManager,
builtIns: KotlinBuiltIns?,
languageVersionSettings: LanguageVersionSettings,
customAction: ((KotlinLibrary, ModuleDescriptorImpl) -> Unit)?
customAction: ((KotlinLibrary, ModuleDescriptorImpl) -> Unit)?,
additionalDependencyModules: Iterable<ModuleDescriptorImpl>
): KotlinResolvedModuleDescriptors {
val moduleDescriptors = mutableListOf<ModuleDescriptorImpl>()
@@ -64,7 +65,7 @@ class KlibResolvedModuleDescriptorsFactoryImpl(
// Set inter-dependencies between module descriptors, add forwarding declarations module.
for (module in moduleDescriptors) {
// Yes, just to all of them.
module.setDependencies(moduleDescriptors + forwardDeclarationsModule)
module.setDependencies(moduleDescriptors + additionalDependencyModules + forwardDeclarationsModule)
}
return KotlinResolvedModuleDescriptors(moduleDescriptors, forwardDeclarationsModule)