diff --git a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/Parameters.kt b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/Parameters.kt index 878f0bd0e87..6104607ebc1 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/Parameters.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/Parameters.kt @@ -23,6 +23,9 @@ class Parameters( field = value } + // only for test purposes + internal var commonModulesProvider: ModulesProvider? = null + fun addTarget(targetProvider: TargetProvider): Parameters { require(targetProvider.target !in _targetProviders) { "Target ${targetProvider.target} is already added" } _targetProviders[targetProvider.target] = targetProvider diff --git a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/builder/context.kt b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/builder/context.kt index 9bf1f5355d9..0cc87156e5e 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/builder/context.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/builder/context.kt @@ -216,7 +216,10 @@ fun CirRootNode.createGlobalBuilderComponents( } val lazyModulesLookupTable = storageManager.createLazyValue { - val source = if (isCommon) emptyMap() else parameters.targetProviders[index].modulesProvider.loadModules() + val source = if (isCommon) + parameters.commonModulesProvider?.loadModules() ?: emptyMap() + else + parameters.targetProviders[index].modulesProvider.loadModules() THashMap(source) } diff --git a/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/AbstractCommonizationFromSourcesTest.kt b/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/AbstractCommonizationFromSourcesTest.kt index bde3b3a174d..05993646fef 100644 --- a/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/AbstractCommonizationFromSourcesTest.kt +++ b/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/AbstractCommonizationFromSourcesTest.kt @@ -253,7 +253,11 @@ private class AnalyzedModules( check(originalPlatformModules.keys == commonizedPlatformModules.keys) } - fun toCommonizationParameters(): Parameters = originalPlatformModules.mapValues { it.value.module }.toCommonizationParameters() + fun toCommonizationParameters(): Parameters { + val parameters = originalPlatformModules.mapValues { it.value.module }.toCommonizationParameters() + parameters.commonModulesProvider = MockModulesProvider(commonizedCommonModule.module) + return parameters + } companion object { fun create(