diff --git a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/TargetProvider.kt b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/TargetProvider.kt index fc16cc90f75..eb4fff7dcc1 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/TargetProvider.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/TargetProvider.kt @@ -5,29 +5,15 @@ package org.jetbrains.kotlin.descriptors.commonizer -import org.jetbrains.kotlin.builtins.DefaultBuiltIns -import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.descriptors.ModuleDescriptor import java.io.File class TargetProvider( val target: LeafTarget, - val builtInsClass: Class, - val builtInsProvider: BuiltInsProvider, val modulesProvider: ModulesProvider, val dependeeModulesProvider: ModulesProvider? ) -interface BuiltInsProvider { - fun loadBuiltIns(): KotlinBuiltIns - - companion object { - val defaultBuiltInsProvider = object : BuiltInsProvider { - override fun loadBuiltIns() = DefaultBuiltIns.Instance - } - } -} - interface ModulesProvider { class ModuleInfo( val name: String, diff --git a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/CirRoot.kt b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/CirRoot.kt index 584d867dfb5..493b88c5f88 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/CirRoot.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/CirRoot.kt @@ -5,11 +5,8 @@ package org.jetbrains.kotlin.descriptors.commonizer.cir -import org.jetbrains.kotlin.descriptors.commonizer.BuiltInsProvider import org.jetbrains.kotlin.descriptors.commonizer.CommonizerTarget interface CirRoot : CirDeclaration { val target: CommonizerTarget - val builtInsClass: String - val builtInsProvider: BuiltInsProvider } diff --git a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/factory/CirRootFactory.kt b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/factory/CirRootFactory.kt index fe3011ace1e..b2c53dfffdb 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/factory/CirRootFactory.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/factory/CirRootFactory.kt @@ -5,27 +5,10 @@ package org.jetbrains.kotlin.descriptors.commonizer.cir.factory -import org.jetbrains.kotlin.builtins.konan.KonanBuiltIns -import org.jetbrains.kotlin.descriptors.commonizer.BuiltInsProvider -import org.jetbrains.kotlin.descriptors.commonizer.LeafTarget import org.jetbrains.kotlin.descriptors.commonizer.CommonizerTarget import org.jetbrains.kotlin.descriptors.commonizer.cir.CirRoot import org.jetbrains.kotlin.descriptors.commonizer.cir.impl.CirRootImpl object CirRootFactory { - fun create( - target: CommonizerTarget, - builtInsClass: String, - builtInsProvider: BuiltInsProvider - ): CirRoot { - if (target is LeafTarget) { - check((target.konanTarget != null) == (builtInsClass == KonanBuiltIns::class.java.name)) - } - - return CirRootImpl( - target = target, - builtInsClass = builtInsClass, - builtInsProvider = builtInsProvider - ) - } + fun create(target: CommonizerTarget): CirRoot = CirRootImpl(target = target) } diff --git a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/impl/CirRootImpl.kt b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/impl/CirRootImpl.kt index 5253e65394b..a316fc9d8bd 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/impl/CirRootImpl.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/cir/impl/CirRootImpl.kt @@ -5,12 +5,9 @@ package org.jetbrains.kotlin.descriptors.commonizer.cir.impl -import org.jetbrains.kotlin.descriptors.commonizer.BuiltInsProvider import org.jetbrains.kotlin.descriptors.commonizer.CommonizerTarget import org.jetbrains.kotlin.descriptors.commonizer.cir.CirRoot data class CirRootImpl( - override val target: CommonizerTarget, - override val builtInsClass: String, - override val builtInsProvider: BuiltInsProvider + override val target: CommonizerTarget ) : CirRoot diff --git a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/core/RootCommonizer.kt b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/core/RootCommonizer.kt index 8c86b1104d9..6a684c9272a 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/core/RootCommonizer.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/core/RootCommonizer.kt @@ -5,9 +5,6 @@ package org.jetbrains.kotlin.descriptors.commonizer.core -import org.jetbrains.kotlin.builtins.DefaultBuiltIns -import org.jetbrains.kotlin.builtins.konan.KonanBuiltIns -import org.jetbrains.kotlin.descriptors.commonizer.BuiltInsProvider import org.jetbrains.kotlin.descriptors.commonizer.LeafTarget import org.jetbrains.kotlin.descriptors.commonizer.SharedTarget import org.jetbrains.kotlin.descriptors.commonizer.cir.CirRoot @@ -15,31 +12,17 @@ import org.jetbrains.kotlin.descriptors.commonizer.cir.factory.CirRootFactory class RootCommonizer : AbstractStandardCommonizer() { private val leafTargets = mutableSetOf() - private var konanBuiltInsProvider: BuiltInsProvider? = null override fun commonizationResult() = CirRootFactory.create( - target = SharedTarget(leafTargets), - builtInsClass = if (konanBuiltInsProvider != null) KonanBuiltIns::class.java.name else DefaultBuiltIns::class.java.name, - builtInsProvider = konanBuiltInsProvider ?: BuiltInsProvider.defaultBuiltInsProvider + target = SharedTarget(leafTargets) ) override fun initialize(first: CirRoot) { leafTargets += first.target as LeafTarget - konanBuiltInsProvider = first.konanBuiltInsProvider } override fun doCommonizeWith(next: CirRoot): Boolean { leafTargets += next.target as LeafTarget - - // keep the first met KonanBuiltIns when all targets are Kotlin/Native - // otherwise use DefaultBuiltIns - if (konanBuiltInsProvider != null && next.konanBuiltInsProvider == null) { - konanBuiltInsProvider = null - } - return true } - - private inline val CirRoot.konanBuiltInsProvider - get() = if (builtInsClass == KonanBuiltIns::class.java.name) builtInsProvider else null } diff --git a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/konan/NativeDistributionCommonizer.kt b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/konan/NativeDistributionCommonizer.kt index 75d42c91ce1..1aa657c619e 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/konan/NativeDistributionCommonizer.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/konan/NativeDistributionCommonizer.kt @@ -7,7 +7,6 @@ package org.jetbrains.kotlin.descriptors.commonizer.konan import org.jetbrains.kotlin.backend.common.serialization.metadata.KlibMetadataVersion import org.jetbrains.kotlin.backend.common.serialization.metadata.metadataVersion -import org.jetbrains.kotlin.builtins.konan.KonanBuiltIns import org.jetbrains.kotlin.descriptors.commonizer.* import org.jetbrains.kotlin.descriptors.commonizer.konan.NativeDistributionCommonizer.StatsType.* import org.jetbrains.kotlin.descriptors.commonizer.stats.* @@ -138,8 +137,7 @@ class NativeDistributionCommonizer( val parameters = CommonizerParameters(statsCollector, ::logProgress).apply { val storageManager = LockBasedStorageManager("Commonized modules") - val stdlibProvider = NativeDistributionStdlibProvider(storageManager, allLibraries.stdlib) - dependeeModulesProvider = stdlibProvider + dependeeModulesProvider = NativeDistributionStdlibProvider(storageManager, allLibraries.stdlib) allLibraries.librariesByTargets.forEach { (target, librariesToCommonize) -> if (librariesToCommonize.libraries.isEmpty()) return@forEach @@ -149,8 +147,6 @@ class NativeDistributionCommonizer( addTarget( TargetProvider( target = target, - builtInsClass = KonanBuiltIns::class.java, - builtInsProvider = stdlibProvider, modulesProvider = modulesProvider, dependeeModulesProvider = null // stdlib is already set as common dependency ) diff --git a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/konan/NativeDistributionStdlibProvider.kt b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/konan/NativeDistributionStdlibProvider.kt index 02b2b469258..d46d1f33ac4 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/konan/NativeDistributionStdlibProvider.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/konan/NativeDistributionStdlibProvider.kt @@ -5,10 +5,8 @@ package org.jetbrains.kotlin.descriptors.commonizer.konan -import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl import org.jetbrains.kotlin.descriptors.ModuleDescriptor -import org.jetbrains.kotlin.descriptors.commonizer.BuiltInsProvider import org.jetbrains.kotlin.descriptors.commonizer.ModulesProvider import org.jetbrains.kotlin.descriptors.commonizer.ModulesProvider.ModuleInfo import org.jetbrains.kotlin.descriptors.commonizer.utils.NativeFactories @@ -19,14 +17,13 @@ import java.io.File internal class NativeDistributionStdlibProvider( private val storageManager: StorageManager, private val stdlib: NativeLibrary -) : BuiltInsProvider, ModulesProvider { +) : ModulesProvider { private val moduleInfo = ModuleInfo( name = KONAN_STDLIB_NAME, originalLocation = File(stdlib.library.libraryFile.absolutePath), cInteropAttributes = null ) - override fun loadBuiltIns(): KotlinBuiltIns = loadStdlibModule().builtIns override fun loadModuleInfos(): Map = mapOf(KONAN_STDLIB_NAME to moduleInfo) override fun loadModules(dependencies: Collection): Map { diff --git a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/mergedtree/CirTreeMerger.kt b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/mergedtree/CirTreeMerger.kt index e04afd70f8a..511c3871679 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/mergedtree/CirTreeMerger.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/mergedtree/CirTreeMerger.kt @@ -102,11 +102,7 @@ class CirTreeMerger( commonModuleInfos: Map, dependeeModules: Collection ) { - rootNode.targetDeclarations[targetIndex] = CirRootFactory.create( - targetProvider.target, - targetProvider.builtInsClass.name, - targetProvider.builtInsProvider - ) + rootNode.targetDeclarations[targetIndex] = CirRootFactory.create(targetProvider.target) val targetDependeeModules = targetProvider.dependeeModulesProvider?.loadModules(dependeeModules)?.values.orEmpty() val allDependeeModules = targetDependeeModules + dependeeModules 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 9cf725b76ef..2da0e3b75c0 100644 --- a/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/AbstractCommonizationFromSourcesTest.kt +++ b/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/AbstractCommonizationFromSourcesTest.kt @@ -212,8 +212,6 @@ private class AnalyzedModules( parameters.addTarget( TargetProvider( target = leafTarget, - builtInsClass = originalModule.builtIns::class.java, - builtInsProvider = MockBuiltInsProvider(originalModule.builtIns), modulesProvider = MockModulesProvider.create(originalModule), dependeeModulesProvider = dependeeModules[leafTarget]?.let(MockModulesProvider::create) ) diff --git a/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/CommonizerFacadeTest.kt b/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/CommonizerFacadeTest.kt index 72382da084a..b4d1e606437 100644 --- a/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/CommonizerFacadeTest.kt +++ b/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/CommonizerFacadeTest.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.descriptors.commonizer -import org.jetbrains.kotlin.builtins.DefaultBuiltIns import org.jetbrains.kotlin.descriptors.commonizer.utils.MockModulesProvider import org.jetbrains.kotlin.descriptors.commonizer.utils.assertCommonizationPerformed import org.junit.Test @@ -65,8 +64,6 @@ class CommonizerFacadeTest { it.addTarget( TargetProvider( target = LeafTarget(targetName), - builtInsClass = DefaultBuiltIns::class.java, - builtInsProvider = BuiltInsProvider.defaultBuiltInsProvider, modulesProvider = MockModulesProvider.create(moduleNames), dependeeModulesProvider = null ) diff --git a/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/core/AbstractCommonizerTest.kt b/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/core/AbstractCommonizerTest.kt index 12bccbaa3b3..d9385de90de 100644 --- a/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/core/AbstractCommonizerTest.kt +++ b/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/core/AbstractCommonizerTest.kt @@ -12,6 +12,8 @@ import kotlin.test.fail abstract class AbstractCommonizerTest { + class ObjectsNotEqual(message: String) : Throwable(message) + @Test(expected = IllegalCommonizerStateException::class) fun failOnNoVariantsSubmitted() { createCommonizer().result @@ -32,7 +34,7 @@ abstract class AbstractCommonizerTest { } val actual = commonized.result - if (!isEqual(expected, actual)) fail("Expected: $expected\nActual: $actual") + if (!isEqual(expected, actual)) throw ObjectsNotEqual("Expected: $expected\nActual: $actual") } protected fun doTestFailure( diff --git a/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/core/RootCommonizerTest.kt b/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/core/RootCommonizerTest.kt index c7a62caad23..a78996b49fb 100644 --- a/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/core/RootCommonizerTest.kt +++ b/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/core/RootCommonizerTest.kt @@ -5,169 +5,133 @@ package org.jetbrains.kotlin.descriptors.commonizer.core -import org.jetbrains.kotlin.builtins.DefaultBuiltIns -import org.jetbrains.kotlin.builtins.KotlinBuiltIns -import org.jetbrains.kotlin.builtins.jvm.JvmBuiltIns -import org.jetbrains.kotlin.builtins.konan.KonanBuiltIns +import org.jetbrains.kotlin.descriptors.commonizer.CommonizerTarget import org.jetbrains.kotlin.descriptors.commonizer.LeafTarget import org.jetbrains.kotlin.descriptors.commonizer.SharedTarget -import org.jetbrains.kotlin.descriptors.commonizer.CommonizerTarget import org.jetbrains.kotlin.descriptors.commonizer.cir.CirRoot import org.jetbrains.kotlin.descriptors.commonizer.cir.factory.CirRootFactory -import org.jetbrains.kotlin.descriptors.commonizer.utils.MockBuiltInsProvider import org.jetbrains.kotlin.konan.target.KonanTarget -import org.jetbrains.kotlin.storage.LockBasedStorageManager import org.junit.Test class RootCommonizerTest : AbstractCommonizerTest() { @Test fun allAreNative() = doTestSuccess( - expected = KONAN_BUILT_INS.toMock( - SharedTarget( - setOf( - LeafTarget("ios_x64", KonanTarget.IOS_X64), - LeafTarget("ios_arm64", KonanTarget.IOS_ARM64), - LeafTarget("ios_arm32", KonanTarget.IOS_ARM32) - ) + expected = SharedTarget( + setOf( + LeafTarget("ios_x64", KonanTarget.IOS_X64), + LeafTarget("ios_arm64", KonanTarget.IOS_ARM64), + LeafTarget("ios_arm32", KonanTarget.IOS_ARM32) ) - ), - KONAN_BUILT_INS.toMock(LeafTarget("ios_x64", KonanTarget.IOS_X64)), - KONAN_BUILT_INS.toMock(LeafTarget("ios_arm64", KonanTarget.IOS_ARM64)), - KONAN_BUILT_INS.toMock(LeafTarget("ios_arm32", KonanTarget.IOS_ARM32)) + ).toMock(), + LeafTarget("ios_x64", KonanTarget.IOS_X64).toMock(), + LeafTarget("ios_arm64", KonanTarget.IOS_ARM64).toMock(), + LeafTarget("ios_arm32", KonanTarget.IOS_ARM32).toMock() ) @Test fun jvmAndNative1() = doTestSuccess( - expected = DEFAULT_BUILT_INS.toMock( - SharedTarget( - setOf( - LeafTarget("jvm1"), - LeafTarget("ios_x64", KonanTarget.IOS_X64), - LeafTarget("jvm2") - ) + expected = SharedTarget( + setOf( + LeafTarget("jvm1"), + LeafTarget("ios_x64", KonanTarget.IOS_X64), + LeafTarget("jvm2") ) - ), - JVM_BUILT_INS.toMock(LeafTarget("jvm1")), - KONAN_BUILT_INS.toMock(LeafTarget("ios_x64", KonanTarget.IOS_X64)), - JVM_BUILT_INS.toMock(LeafTarget("jvm2")) + ).toMock(), + LeafTarget("jvm1").toMock(), + LeafTarget("ios_x64", KonanTarget.IOS_X64).toMock(), + LeafTarget("jvm2").toMock() ) @Test fun jvmAndNative2() = doTestSuccess( - expected = DEFAULT_BUILT_INS.toMock( - SharedTarget( - setOf( - LeafTarget("ios_x64", KonanTarget.IOS_X64), - LeafTarget("jvm"), - LeafTarget("ios_arm64", KonanTarget.IOS_ARM64) - ) + expected = SharedTarget( + setOf( + LeafTarget("ios_x64", KonanTarget.IOS_X64), + LeafTarget("jvm"), + LeafTarget("ios_arm64", KonanTarget.IOS_ARM64) ) - ), - KONAN_BUILT_INS.toMock(LeafTarget("ios_x64", KonanTarget.IOS_X64)), - JVM_BUILT_INS.toMock(LeafTarget("jvm")), - KONAN_BUILT_INS.toMock(LeafTarget("ios_arm64", KonanTarget.IOS_ARM64)) + ).toMock(), + LeafTarget("ios_x64", KonanTarget.IOS_X64).toMock(), + LeafTarget("jvm").toMock(), + LeafTarget("ios_arm64", KonanTarget.IOS_ARM64).toMock() ) @Test fun noNative1() = doTestSuccess( - expected = DEFAULT_BUILT_INS.toMock( - SharedTarget( - setOf( - LeafTarget("default1"), - LeafTarget("default2"), - LeafTarget("default3") - ) + expected = SharedTarget( + setOf( + LeafTarget("default1"), + LeafTarget("default2"), + LeafTarget("default3") ) - ), - DEFAULT_BUILT_INS.toMock(LeafTarget("default1")), - DEFAULT_BUILT_INS.toMock(LeafTarget("default2")), - DEFAULT_BUILT_INS.toMock(LeafTarget("default3")) + ).toMock(), + LeafTarget("default1").toMock(), + LeafTarget("default2").toMock(), + LeafTarget("default3").toMock() ) @Test fun noNative2() = doTestSuccess( - expected = DEFAULT_BUILT_INS.toMock( - SharedTarget( - setOf( - LeafTarget("jvm1"), - LeafTarget("default"), - LeafTarget("jvm2") - ) + expected = SharedTarget( + setOf( + LeafTarget("jvm1"), + LeafTarget("default"), + LeafTarget("jvm2") ) - ), - JVM_BUILT_INS.toMock(LeafTarget("jvm1")), - DEFAULT_BUILT_INS.toMock(LeafTarget("default")), - JVM_BUILT_INS.toMock(LeafTarget("jvm2")) + ).toMock(), + LeafTarget("jvm1").toMock(), + LeafTarget("default").toMock(), + LeafTarget("jvm2").toMock() ) @Test fun noNative3() = doTestSuccess( - expected = DEFAULT_BUILT_INS.toMock( - SharedTarget( - setOf( - LeafTarget("jvm1"), - LeafTarget("jvm2"), - LeafTarget("jvm3") - ) + expected = SharedTarget( + setOf( + LeafTarget("jvm1"), + LeafTarget("jvm2"), + LeafTarget("jvm3") ) - ), - JVM_BUILT_INS.toMock(LeafTarget("jvm1")), - JVM_BUILT_INS.toMock(LeafTarget("jvm2")), - JVM_BUILT_INS.toMock(LeafTarget("jvm3")) + ).toMock(), + LeafTarget("jvm1").toMock(), + LeafTarget("jvm2").toMock(), + LeafTarget("jvm3").toMock() ) - @Test(expected = IllegalStateException::class) + @Test(expected = ObjectsNotEqual::class) fun misconfiguration1() = doTestSuccess( - expected = KONAN_BUILT_INS.toMock( - SharedTarget( - setOf( - LeafTarget("ios_x64", KonanTarget.IOS_X64), - LeafTarget("ios_arm64", KonanTarget.IOS_ARM64), - LeafTarget("ios_arm32", KonanTarget.IOS_ARM32) - ) + expected = SharedTarget( + setOf( + LeafTarget("ios_x64", KonanTarget.IOS_X64), + LeafTarget("ios_arm64", KonanTarget.IOS_ARM64), + LeafTarget("ios_arm32", KonanTarget.IOS_ARM32) ) - ), - KONAN_BUILT_INS.toMock(LeafTarget("ios_x64")), - KONAN_BUILT_INS.toMock(LeafTarget("ios_arm64", KonanTarget.IOS_ARM64)), - KONAN_BUILT_INS.toMock(LeafTarget("ios_arm32", KonanTarget.IOS_ARM32)) + ).toMock(), + LeafTarget("ios_x64").toMock(), // KonanTarget is missing here! + LeafTarget("ios_arm64", KonanTarget.IOS_ARM64).toMock(), + LeafTarget("ios_arm32", KonanTarget.IOS_ARM32).toMock() ) - @Test(expected = IllegalStateException::class) + @Test(expected = ObjectsNotEqual::class) fun misconfiguration2() = doTestSuccess( - expected = DEFAULT_BUILT_INS.toMock( - SharedTarget( - setOf( - LeafTarget("jvm1"), - LeafTarget("jvm2"), - LeafTarget("jvm3") - ) + expected = SharedTarget( + setOf( + LeafTarget("jvm1"), + LeafTarget("jvm2"), + LeafTarget("jvm3") ) - ), - JVM_BUILT_INS.toMock(LeafTarget("jvm1", KonanTarget.IOS_X64)), - JVM_BUILT_INS.toMock(LeafTarget("jvm2")), - JVM_BUILT_INS.toMock(LeafTarget("jvm3")) + ).toMock(), + LeafTarget("jvm1", KonanTarget.IOS_X64).toMock(), // mistakenly specified KonanTarget! + LeafTarget("jvm2").toMock(), + LeafTarget("jvm3").toMock() ) override fun createCommonizer() = RootCommonizer() - override fun isEqual(a: CirRoot?, b: CirRoot?) = - (a === b) - || (a != null && b != null - && a.target == b.target - && a.builtInsClass == b.builtInsClass - && a.builtInsClass == a.builtInsProvider.loadBuiltIns()::class.java.name - && a.builtInsProvider.loadBuiltIns()::class.java == b.builtInsProvider.loadBuiltIns()::class.java) + override fun isEqual(a: CirRoot?, b: CirRoot?) = (a === b) || (a != null && b != null && a.target == b.target) private companion object { - inline val KONAN_BUILT_INS get() = KonanBuiltIns(LockBasedStorageManager.NO_LOCKS) - inline val JVM_BUILT_INS get() = JvmBuiltIns(LockBasedStorageManager.NO_LOCKS, JvmBuiltIns.Kind.FROM_CLASS_LOADER) - inline val DEFAULT_BUILT_INS get() = DefaultBuiltIns.Instance - - fun KotlinBuiltIns.toMock(target: CommonizerTarget) = CirRootFactory.create( - target = target, - builtInsClass = this::class.java.name, - builtInsProvider = MockBuiltInsProvider(this) - ) + fun CommonizerTarget.toMock() = CirRootFactory.create(target = this) } } diff --git a/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/utils/mocks.kt b/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/utils/mocks.kt index 18b28d5851e..a5edf1e34ae 100644 --- a/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/utils/mocks.kt +++ b/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/utils/mocks.kt @@ -5,10 +5,8 @@ package org.jetbrains.kotlin.descriptors.commonizer.utils -import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.descriptors.annotations.Annotations -import org.jetbrains.kotlin.descriptors.commonizer.BuiltInsProvider import org.jetbrains.kotlin.descriptors.commonizer.ModulesProvider import org.jetbrains.kotlin.descriptors.commonizer.ModulesProvider.ModuleInfo import org.jetbrains.kotlin.descriptors.commonizer.cir.factory.CirClassFactory @@ -150,10 +148,6 @@ internal val MOCK_CLASSIFIERS = CirKnownClassifiers( dependeeLibraries = emptyMap() ) -internal class MockBuiltInsProvider(private val builtIns: KotlinBuiltIns) : BuiltInsProvider { - override fun loadBuiltIns() = builtIns -} - internal class MockModulesProvider private constructor( private val modules: Map, ) : ModulesProvider {