[native] Drop deprecated Kotlin/Native targets (5/8)

Adjust KGP: drop usages of deprecated KonanTargets, leave
@Deprecated-stubs in public APIs for readable errors

^KT-64517
This commit is contained in:
Dmitry Savvinov
2024-01-30 15:58:10 +01:00
committed by Space Team
parent 4957d99fd6
commit 8f3c0e71fa
18 changed files with 91 additions and 167 deletions
@@ -19,13 +19,11 @@ enum class PlatformIntWidth {
object PlatformWidthIndex {
private val widthByLeafTargets = mapOf(
LeafCommonizerTarget(KonanTarget.IOS_ARM32) to PlatformIntWidth.INT,
LeafCommonizerTarget(KonanTarget.IOS_ARM64) to PlatformIntWidth.LONG,
LeafCommonizerTarget(KonanTarget.IOS_X64) to PlatformIntWidth.LONG,
LeafCommonizerTarget(KonanTarget.IOS_SIMULATOR_ARM64) to PlatformIntWidth.LONG,
LeafCommonizerTarget(KonanTarget.WATCHOS_ARM32) to PlatformIntWidth.INT,
LeafCommonizerTarget(KonanTarget.WATCHOS_ARM64) to PlatformIntWidth.INT,
LeafCommonizerTarget(KonanTarget.WATCHOS_X86) to PlatformIntWidth.INT,
LeafCommonizerTarget(KonanTarget.WATCHOS_X64) to PlatformIntWidth.LONG,
LeafCommonizerTarget(KonanTarget.WATCHOS_SIMULATOR_ARM64) to PlatformIntWidth.LONG,
LeafCommonizerTarget(KonanTarget.WATCHOS_DEVICE_ARM64) to PlatformIntWidth.LONG,
@@ -33,15 +31,11 @@ object PlatformWidthIndex {
LeafCommonizerTarget(KonanTarget.TVOS_X64) to PlatformIntWidth.LONG,
LeafCommonizerTarget(KonanTarget.TVOS_SIMULATOR_ARM64) to PlatformIntWidth.LONG,
LeafCommonizerTarget(KonanTarget.LINUX_X64) to PlatformIntWidth.LONG,
LeafCommonizerTarget(KonanTarget.MINGW_X86) to PlatformIntWidth.INT,
LeafCommonizerTarget(KonanTarget.MINGW_X64) to PlatformIntWidth.LONG,
LeafCommonizerTarget(KonanTarget.MACOS_X64) to PlatformIntWidth.LONG,
LeafCommonizerTarget(KonanTarget.MACOS_ARM64) to PlatformIntWidth.LONG,
LeafCommonizerTarget(KonanTarget.LINUX_ARM64) to PlatformIntWidth.LONG,
LeafCommonizerTarget(KonanTarget.LINUX_ARM32_HFP) to PlatformIntWidth.INT,
LeafCommonizerTarget(KonanTarget.LINUX_MIPS32) to PlatformIntWidth.INT,
LeafCommonizerTarget(KonanTarget.LINUX_MIPSEL32) to PlatformIntWidth.INT,
LeafCommonizerTarget(KonanTarget.WASM32) to PlatformIntWidth.INT,
)
fun platformWidthOf(target: CommonizerTarget): PlatformIntWidth? {
@@ -56,4 +50,3 @@ object PlatformWidthIndex {
}
}
}
@@ -18,7 +18,7 @@ class PlatformBitWidthTest {
fun `test leaf int`() {
assertEquals(
PlatformIntWidth.INT,
createPlatformBitWidthIndex().platformWidthOf(CommonizerTarget(KonanTarget.IOS_ARM32))
createPlatformBitWidthIndex().platformWidthOf(CommonizerTarget(KonanTarget.WATCHOS_ARM32))
)
}
@@ -34,7 +34,7 @@ class PlatformBitWidthTest {
fun `test shared int`() {
assertEquals(
PlatformIntWidth.INT,
createPlatformBitWidthIndex().platformWidthOf(CommonizerTarget(KonanTarget.IOS_ARM32, KonanTarget.LINUX_MIPS32))
createPlatformBitWidthIndex().platformWidthOf(CommonizerTarget(KonanTarget.WATCHOS_ARM32, KonanTarget.LINUX_ARM32_HFP))
)
}
@@ -50,7 +50,7 @@ class PlatformBitWidthTest {
fun `test int and long`() {
assertEquals(
PlatformIntWidth.MIXED,
createPlatformBitWidthIndex().platformWidthOf(CommonizerTarget(KonanTarget.IOS_ARM32, KonanTarget.MACOS_X64))
createPlatformBitWidthIndex().platformWidthOf(CommonizerTarget(KonanTarget.WATCHOS_ARM32, KonanTarget.MACOS_X64))
)
}
@@ -60,7 +60,7 @@ class PlatformBitWidthTest {
null,
createPlatformBitWidthIndex().platformWidthOf(
CommonizerTarget(
LeafCommonizerTarget(KonanTarget.IOS_ARM32),
LeafCommonizerTarget(KonanTarget.WATCHOS_ARM32),
LeafCommonizerTarget("unknown_target")
)
)
@@ -87,7 +87,7 @@ class PlatformBitWidthTest {
createPlatformBitWidthIndex().platformWidthOf(
CommonizerTarget(
LeafCommonizerTarget(KonanTarget.MACOS_X64),
LeafCommonizerTarget(KonanTarget.IOS_ARM32),
LeafCommonizerTarget(KonanTarget.WATCHOS_ARM32),
LeafCommonizerTarget("unknown_target"),
)
)
@@ -20,12 +20,12 @@ class RootCommonizerTest : AbstractCommonizerTest<CirRoot, CirRoot>() {
setOf(
LeafCommonizerTarget(KonanTarget.IOS_X64),
LeafCommonizerTarget(KonanTarget.IOS_ARM64),
LeafCommonizerTarget(KonanTarget.IOS_ARM32)
LeafCommonizerTarget(KonanTarget.WATCHOS_ARM32)
)
).toMock(),
LeafCommonizerTarget(KonanTarget.IOS_X64).toMock(),
LeafCommonizerTarget(KonanTarget.IOS_ARM64).toMock(),
LeafCommonizerTarget(KonanTarget.IOS_ARM32).toMock()
LeafCommonizerTarget(KonanTarget.WATCHOS_ARM32).toMock()
)
@Test
@@ -438,19 +438,15 @@ class HierarchicalPlatformIntegerCommonizationTest : AbstractInlineSourcesCommon
fun `test platform integers in multi-target commonization`() {
val intTarget1 = LINUX_ARM32_HFP.name
val intTarget2 = LINUX_MIPS32.name
val intTarget3 = LINUX_MIPSEL32.name
val intTarget2 = WATCHOS_ARM64.name
val longTarget1 = LINUX_X64.name
val longTarget2 = LINUX_ARM64.name
val longTarget3 = MACOS_X64.name
val outputCommonizerTargets = arrayOf(
"($intTarget1, $intTarget2)", "($longTarget1, $longTarget2)", "($intTarget3, $longTarget3)",
"($intTarget1, $intTarget2, $intTarget3)", "($longTarget1, $longTarget2, $longTarget3)",
"($intTarget1, $intTarget2, $intTarget3, $longTarget1)",
"($intTarget1, $intTarget2)", "($longTarget1, $longTarget2)", "($intTarget1, $longTarget1)",
"($intTarget1, $intTarget2, $longTarget1)",
"($longTarget1, $longTarget2, $intTarget1)",
"($intTarget1, $intTarget2, $longTarget1, $longTarget2)",
"($longTarget1, $longTarget2, $longTarget3, $intTarget1)",
"($intTarget1, $intTarget2, $intTarget3, $longTarget1, $longTarget2, $longTarget3)",
)
val result = commonize {
@@ -472,13 +468,6 @@ class HierarchicalPlatformIntegerCommonizationTest : AbstractInlineSourcesCommon
typealias XV = IntVarOf<X>
""".trimIndent()
intTarget3 withSource """
import kotlinx.cinterop.*
typealias X = Int
typealias XV = IntVarOf<X>
""".trimIndent()
longTarget1 withSource """
import kotlinx.cinterop.*
@@ -493,12 +482,6 @@ class HierarchicalPlatformIntegerCommonizationTest : AbstractInlineSourcesCommon
typealias XV = LongVarOf<X>
""".trimIndent()
longTarget3 withSource """
import kotlinx.cinterop.*
typealias X = Long
typealias XV = LongVarOf<X>
""".trimIndent()
}
result.assertCommonized(
@@ -510,15 +493,6 @@ class HierarchicalPlatformIntegerCommonizationTest : AbstractInlineSourcesCommon
""".trimIndent()
)
result.assertCommonized(
"($intTarget1, $intTarget2, $intTarget3)", """
import kotlinx.cinterop.*
typealias X = Int
typealias XV = IntVarOf<X>
""".trimIndent()
)
result.assertCommonized(
"($longTarget1, $longTarget2)", """
import kotlinx.cinterop.*
@@ -529,16 +503,25 @@ class HierarchicalPlatformIntegerCommonizationTest : AbstractInlineSourcesCommon
)
result.assertCommonized(
"($longTarget1, $longTarget2, $longTarget3)", """
"($intTarget1, $longTarget1)", """
import kotlinx.cinterop.*
typealias X = Long
typealias XV = LongVarOf<X>
typealias X = PlatformInt
typealias XV = PlatformIntVarOf<X>
""".trimIndent()
)
result.assertCommonized(
"($intTarget3, $longTarget3)", """
"($intTarget1, $intTarget2, $longTarget1)", """
import kotlinx.cinterop.*
typealias X = PlatformInt
typealias XV = PlatformIntVarOf<X>
""".trimIndent()
)
result.assertCommonized(
"($longTarget1, $longTarget2, $intTarget1)", """
import kotlinx.cinterop.*
typealias X = PlatformInt
@@ -554,40 +537,13 @@ class HierarchicalPlatformIntegerCommonizationTest : AbstractInlineSourcesCommon
typealias XV = PlatformIntVarOf<X>
""".trimIndent()
)
result.assertCommonized(
"($intTarget1, $intTarget2, $intTarget3, $longTarget1)", """
import kotlinx.cinterop.*
typealias X = PlatformInt
typealias XV = PlatformIntVarOf<X>
""".trimIndent()
)
result.assertCommonized(
"($longTarget1, $longTarget2, $longTarget3, $intTarget1)", """
import kotlinx.cinterop.*
typealias X = PlatformInt
typealias XV = PlatformIntVarOf<X>
""".trimIndent()
)
result.assertCommonized(
"($intTarget1, $intTarget2, $intTarget3, $longTarget1, $longTarget2, $longTarget3)", """
import kotlinx.cinterop.*
typealias X = PlatformInt
typealias XV = PlatformIntVarOf<X>
""".trimIndent()
)
}
fun `test platform types from known leaf targets are commonized`() {
val result = commonize {
outputTarget("(${LINUX_X64.name}, ${IOS_ARM32.name})")
outputTarget("(${LINUX_X64.name}, ${WATCHOS_ARM64.name})")
setting(PlatformIntegerCommonizationEnabledKey, true)
registerFakeStdlibIntegersDependency("(${LINUX_X64.name}, ${IOS_ARM32.name})")
registerFakeStdlibIntegersDependency("(${LINUX_X64.name}, ${WATCHOS_ARM64.name})")
LINUX_X64.name withSource """
val platformPropertyInOneLeafTarget: PlatformInt
@@ -596,7 +552,7 @@ class HierarchicalPlatformIntegerCommonizationTest : AbstractInlineSourcesCommon
get() = null!!
""".trimIndent()
IOS_ARM32.name withSource """
WATCHOS_ARM64.name withSource """
val platformPropertyInOneLeafTarget: Int
get() = 42
val platformPropertyInBothLeafTargets: PlatformInt
@@ -605,7 +561,7 @@ class HierarchicalPlatformIntegerCommonizationTest : AbstractInlineSourcesCommon
}
result.assertCommonized(
"(${LINUX_X64.name}, ${IOS_ARM32.name})", """
"(${LINUX_X64.name}, ${WATCHOS_ARM64.name})", """
expect val platformPropertyInOneLeafTarget: PlatformInt
expect val platformPropertyInBothLeafTargets: PlatformInt
""".trimIndent()
@@ -614,9 +570,9 @@ class HierarchicalPlatformIntegerCommonizationTest : AbstractInlineSourcesCommon
fun `test platform types from unknown targets are not commonized`() {
val result = commonize {
outputTarget("(unknown, ${IOS_ARM32.name})")
outputTarget("(unknown, ${WATCHOS_ARM64.name})")
setting(PlatformIntegerCommonizationEnabledKey, true)
registerFakeStdlibIntegersDependency("(unknown, ${IOS_ARM32.name})")
registerFakeStdlibIntegersDependency("(unknown, ${WATCHOS_ARM64.name})")
"unknown" withSource """
val platformPropertyInOneLeafTarget: PlatformInt
@@ -625,7 +581,7 @@ class HierarchicalPlatformIntegerCommonizationTest : AbstractInlineSourcesCommon
get() = null!!
""".trimIndent()
IOS_ARM32.name withSource """
WATCHOS_ARM64.name withSource """
val platformPropertyInOneLeafTarget: Int
get() = 42
val platformPropertyInOtherLeafTarget: PlatformInt
@@ -634,18 +590,18 @@ class HierarchicalPlatformIntegerCommonizationTest : AbstractInlineSourcesCommon
}
result.assertCommonized(
"(unknown, ${IOS_ARM32.name})", "".trimIndent()
"(unknown, ${WATCHOS_ARM64.name})", "".trimIndent()
)
}
// Issue: KT-51528
fun `test multiple argument function with over the edge type alias available`() {
val result = commonize {
outputTarget("(${IOS_ARM32.name}, ${IOS_ARM64.name})")
outputTarget("(${WATCHOS_ARM64.name}, ${IOS_ARM64.name})")
setting(PlatformIntegerCommonizationEnabledKey, true)
registerFakeStdlibIntegersDependency("(${IOS_ARM32.name}, ${IOS_ARM64.name})")
registerFakeStdlibIntegersDependency("(${WATCHOS_ARM64.name}, ${IOS_ARM64.name})")
IOS_ARM32.name withSource """
WATCHOS_ARM64.name withSource """
typealias Arm32Alias = UInt
typealias OtherAlias = UInt
@@ -671,7 +627,7 @@ class HierarchicalPlatformIntegerCommonizationTest : AbstractInlineSourcesCommon
}
result.assertCommonized(
"(${IOS_ARM32.name}, ${IOS_ARM64.name})", """
"(${WATCHOS_ARM64.name}, ${IOS_ARM64.name})", """
typealias OtherAlias = PlatformUInt
expect class Box<T>()