From fbd20b65564d2ed1989de69aa86211875804c43d Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Tue, 26 Oct 2021 19:21:09 +0200 Subject: [PATCH] Remove unused JvmTypeAliasExtensionVisitor and JvmValueParameterExtensionVisitor They were added in e4702bf438 and a08cf59017 but in fact they are not needed on JVM until there are JVM-specific extensions in the metadata. Moreover, there was a typo in JvmValueParameterExtensionVisitor's superclass (see https://github.com/JetBrains/kotlin/pull/4613). --- libraries/kotlinx-metadata/jvm/ChangeLog.md | 1 + .../jvm/impl/JvmMetadataExtensions.kt | 4 +- .../metadata/jvm/impl/jvmExtensionNodes.kt | 14 ----- .../metadata/jvm/jvmExtensionVisitors.kt | 54 ------------------- .../impl/extensions/MetadataExtensions.kt | 4 +- .../src/kotlinx/metadata/nodes.kt | 4 +- 6 files changed, 7 insertions(+), 74 deletions(-) diff --git a/libraries/kotlinx-metadata/jvm/ChangeLog.md b/libraries/kotlinx-metadata/jvm/ChangeLog.md index 4ded0e01e08..76c91d7b0f7 100644 --- a/libraries/kotlinx-metadata/jvm/ChangeLog.md +++ b/libraries/kotlinx-metadata/jvm/ChangeLog.md @@ -8,6 +8,7 @@ - `JvmFlag.Class.HAS_METHOD_BODIES_IN_INTERFACE` - `JvmFlag.Class.IS_COMPILED_IN_COMPATIBILITY_MODE` - [`KT-48965`](https://youtrack.jetbrains.com/issue/KT-48965) Make the type of `KmValueParameter.type` non-null `KmType` +- Remove unused `JvmTypeAliasExtensionVisitor` and `JvmValueParameterExtensionVisitor` ## 0.3.0 diff --git a/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/impl/JvmMetadataExtensions.kt b/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/impl/JvmMetadataExtensions.kt index 5f3db7631f6..8e63e1f31ae 100644 --- a/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/impl/JvmMetadataExtensions.kt +++ b/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/impl/JvmMetadataExtensions.kt @@ -310,9 +310,9 @@ internal class JvmMetadataExtensions : MetadataExtensions { override fun createTypeExtension(): KmTypeExtension = JvmTypeExtension() - override fun createTypeAliasExtension(): KmTypeAliasExtension = JvmTypeAliasExtension() + override fun createTypeAliasExtension(): KmTypeAliasExtension? = null - override fun createValueParameterExtension(): KmValueParameterExtension = JvmValueParameterExtension() + override fun createValueParameterExtension(): KmValueParameterExtension? = null private fun JvmMemberSignature.toJvmMethodSignature(c: WriteContext): JvmProtoBuf.JvmMethodSignature = JvmProtoBuf.JvmMethodSignature.newBuilder().apply { diff --git a/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/impl/jvmExtensionNodes.kt b/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/impl/jvmExtensionNodes.kt index a75c2b7b44a..91bbbcbb973 100644 --- a/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/impl/jvmExtensionNodes.kt +++ b/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/impl/jvmExtensionNodes.kt @@ -188,17 +188,3 @@ internal class JvmTypeExtension : JvmTypeExtensionVisitor(), KmTypeExtension { visitor.visitEnd() } } - -internal class JvmTypeAliasExtension : JvmTypeAliasExtensionVisitor(), KmTypeAliasExtension { - override fun accept(visitor: KmTypeAliasExtensionVisitor) { - require(visitor is JvmTypeAliasExtensionVisitor) - visitor.visitEnd() - } -} - -internal class JvmValueParameterExtension : JvmValueParameterExtensionVisitor(), KmValueParameterExtension { - override fun accept(visitor: KmValueParameterExtensionVisitor) { - require(visitor is JvmValueParameterExtensionVisitor) - visitor.visitEnd() - } -} diff --git a/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/jvmExtensionVisitors.kt b/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/jvmExtensionVisitors.kt index a526b6773f5..96c00612084 100644 --- a/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/jvmExtensionVisitors.kt +++ b/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/jvmExtensionVisitors.kt @@ -368,57 +368,3 @@ open class JvmTypeExtensionVisitor @JvmOverloads constructor( const val PLATFORM_TYPE_ID = JvmProtoBufUtil.PLATFORM_TYPE_ID } } - -/** - * A visitor to visit JVM extensions for a type alias. - */ -open class JvmTypeAliasExtensionVisitor @JvmOverloads constructor( - private val delegate: JvmTypeAliasExtensionVisitor? = null -) : KmTypeAliasExtensionVisitor { - final override val type: KmExtensionType - get() = TYPE - - /** - * Visits the end of JVM extensions for the type alias. - */ - open fun visitEnd() { - delegate?.visitEnd() - } - - companion object { - /** - * The type of this extension visitor. - * - * @see KmExtensionType - */ - @JvmField - val TYPE: KmExtensionType = KmExtensionType(JvmTypeAliasExtensionVisitor::class) - } -} - -/** - * A visitor to visit JVM extensions for a value parameter. - */ -open class JvmValueParameterExtensionVisitor @JvmOverloads constructor( - private val delegate: JvmValueParameterExtensionVisitor? = null -) : KmTypeAliasExtensionVisitor { - final override val type: KmExtensionType - get() = TYPE - - /** - * Visits the end of JVM extensions for the value parameter. - */ - open fun visitEnd() { - delegate?.visitEnd() - } - - companion object { - /** - * The type of this extension visitor. - * - * @see KmExtensionType - */ - @JvmField - val TYPE: KmExtensionType = KmExtensionType(JvmValueParameterExtensionVisitor::class) - } -} diff --git a/libraries/kotlinx-metadata/src/kotlinx/metadata/impl/extensions/MetadataExtensions.kt b/libraries/kotlinx-metadata/src/kotlinx/metadata/impl/extensions/MetadataExtensions.kt index 291e556b7dc..c26349f9214 100644 --- a/libraries/kotlinx-metadata/src/kotlinx/metadata/impl/extensions/MetadataExtensions.kt +++ b/libraries/kotlinx-metadata/src/kotlinx/metadata/impl/extensions/MetadataExtensions.kt @@ -76,9 +76,9 @@ interface MetadataExtensions { fun createTypeExtension(): KmTypeExtension - fun createTypeAliasExtension(): KmTypeAliasExtension + fun createTypeAliasExtension(): KmTypeAliasExtension? - fun createValueParameterExtension(): KmValueParameterExtension + fun createValueParameterExtension(): KmValueParameterExtension? companion object { val INSTANCES: List by lazy { diff --git a/libraries/kotlinx-metadata/src/kotlinx/metadata/nodes.kt b/libraries/kotlinx-metadata/src/kotlinx/metadata/nodes.kt index df2a960ae0f..f8355f0c4c1 100644 --- a/libraries/kotlinx-metadata/src/kotlinx/metadata/nodes.kt +++ b/libraries/kotlinx-metadata/src/kotlinx/metadata/nodes.kt @@ -536,7 +536,7 @@ class KmTypeAlias( val versionRequirements: MutableList = ArrayList(0) private val extensions: List = - MetadataExtensions.INSTANCES.map(MetadataExtensions::createTypeAliasExtension) + MetadataExtensions.INSTANCES.mapNotNull(MetadataExtensions::createTypeAliasExtension) override fun visitTypeParameter(flags: Flags, name: String, id: Int, variance: KmVariance): KmTypeParameterVisitor = KmTypeParameter(flags, name, id, variance).addTo(typeParameters) @@ -594,7 +594,7 @@ class KmValueParameter( var varargElementType: KmType? = null private val extensions: List = - MetadataExtensions.INSTANCES.map(MetadataExtensions::createValueParameterExtension) + MetadataExtensions.INSTANCES.mapNotNull(MetadataExtensions::createValueParameterExtension) override fun visitType(flags: Flags): KmTypeVisitor = KmType(flags).also { type = it }