Add KmFlexibleTypeUpperBound.Companion and JVM_PLATFORM_TYPE_ID extension on it.

Because `public JvmTypeExtensionVisitor` was removed, a new place for `const val PLATFORM_TYPE_ID`
is required. It is logical to place it as a some kind of constant for Km node;
however, because it is platform-specific, there is a need for an empty
`KmFlexibleTypeUpperBound.Companion` in metadata common sources
and `public val KmFlexibleTypeUpperBound.Companion.PLATFORM_TYPE_ID`
extension in kotlin-metadata-jvm sources.

See also: KT-63156
This commit is contained in:
Leonid Startsev
2024-03-06 20:20:19 +01:00
committed by Space Team
parent 50331fb149
commit cc343d7fb3
5 changed files with 21 additions and 10 deletions
@@ -193,8 +193,7 @@ class JvmKotlinp(settings: Settings) : Kotlinp(settings) {
override fun isRaw(type: KmType) = type.isRaw
override fun renderFlexibleTypeUpperBound(flexibleTypeUpperBound: KmFlexibleTypeUpperBound): String? {
@Suppress("DEPRECATION_ERROR")
return if (flexibleTypeUpperBound.typeFlexibilityId == JvmTypeExtensionVisitor.PLATFORM_TYPE_ID)
return if (flexibleTypeUpperBound.typeFlexibilityId == KmFlexibleTypeUpperBound.JVM_PLATFORM_TYPE_ID)
printString { appendType(flexibleTypeUpperBound.type) }
else
null