Remove all deprecated API from kotlin-metadata(-jvm).
This includes APIs such as: - Visitors API - Obsolete KotlinClassMetadata reading and writing API - Extension and extension visitors API - Flags and `class Flag` (a reduced version of it was moved to test sources) - Various utility methods Extensions mechanism got reworked with the removal of public visitors; it is completely internal now with special accessors in kotlinx.metadata.internal package. Since `var KmClass.flags` is internal now (instead of being deprecated), special utility functions with the name `_flagAccess` were added to internal package for testing purposes. ^KT-63156 Fixed
This commit is contained in:
committed by
Space Team
parent
e002f07ff5
commit
50331fb149
+20
-23
@@ -2,45 +2,42 @@
|
||||
* Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
@file:Suppress("DEPRECATION_ERROR") // Extension visitors
|
||||
|
||||
package kotlinx.metadata.klib.impl
|
||||
|
||||
import kotlinx.metadata.klib.*
|
||||
import kotlin.metadata.*
|
||||
import kotlin.metadata.internal.common.KmModuleFragment
|
||||
import kotlin.metadata.internal.common.KmModuleFragmentExtensionVisitor
|
||||
import kotlin.metadata.internal.extensions.*
|
||||
|
||||
internal val KmFunction.klibExtensions: KlibFunctionExtension
|
||||
get() = visitExtensions(KlibFunctionExtensionVisitor.TYPE) as KlibFunctionExtension
|
||||
get() = getExtension(KlibFunctionExtensionVisitor.TYPE) as KlibFunctionExtension
|
||||
|
||||
internal val KmClass.klibExtensions: KlibClassExtension
|
||||
get() = visitExtensions(KlibClassExtensionVisitor.TYPE) as KlibClassExtension
|
||||
get() = getExtension(KlibClassExtensionVisitor.TYPE) as KlibClassExtension
|
||||
|
||||
internal val KmType.klibExtensions: KlibTypeExtension
|
||||
get() = visitExtensions(KlibTypeExtensionVisitor.TYPE) as KlibTypeExtension
|
||||
get() = getExtension(KlibTypeExtensionVisitor.TYPE) as KlibTypeExtension
|
||||
|
||||
internal val KmProperty.klibExtensions: KlibPropertyExtension
|
||||
get() = visitExtensions(KlibPropertyExtensionVisitor.TYPE) as KlibPropertyExtension
|
||||
get() = getExtension(KlibPropertyExtensionVisitor.TYPE) as KlibPropertyExtension
|
||||
|
||||
internal val KmConstructor.klibExtensions: KlibConstructorExtension
|
||||
get() = visitExtensions(KlibConstructorExtensionVisitor.TYPE) as KlibConstructorExtension
|
||||
get() = getExtension(KlibConstructorExtensionVisitor.TYPE) as KlibConstructorExtension
|
||||
|
||||
internal val KmTypeParameter.klibExtensions: KlibTypeParameterExtension
|
||||
get() = visitExtensions(KlibTypeParameterExtensionVisitor.TYPE) as KlibTypeParameterExtension
|
||||
get() = getExtension(KlibTypeParameterExtensionVisitor.TYPE) as KlibTypeParameterExtension
|
||||
|
||||
internal val KmPackage.klibExtensions: KlibPackageExtension
|
||||
get() = visitExtensions(KlibPackageExtensionVisitor.TYPE) as KlibPackageExtension
|
||||
get() = getExtension(KlibPackageExtensionVisitor.TYPE) as KlibPackageExtension
|
||||
|
||||
internal val KmModuleFragment.klibExtensions: KlibModuleFragmentExtension
|
||||
get() = visitExtensions(KlibModuleFragmentExtensionVisitor.TYPE) as KlibModuleFragmentExtension
|
||||
get() = getExtension(KlibModuleFragmentExtensionVisitor.TYPE) as KlibModuleFragmentExtension
|
||||
|
||||
internal val KmTypeAlias.klibExtensions: KlibTypeAliasExtension
|
||||
get() = visitExtensions(KlibTypeAliasExtensionVisitor.TYPE) as KlibTypeAliasExtension
|
||||
get() = getExtension(KlibTypeAliasExtensionVisitor.TYPE) as KlibTypeAliasExtension
|
||||
|
||||
internal val KmValueParameter.klibExtensions: KlibValueParameterExtension
|
||||
get() = visitExtensions(KlibValueParameterExtensionVisitor.TYPE) as KlibValueParameterExtension
|
||||
get() = getExtension(KlibValueParameterExtensionVisitor.TYPE) as KlibValueParameterExtension
|
||||
|
||||
internal class KlibFunctionExtension : KlibFunctionExtensionVisitor(), KmFunctionExtension {
|
||||
|
||||
@@ -60,7 +57,7 @@ internal class KlibFunctionExtension : KlibFunctionExtensionVisitor(), KmFunctio
|
||||
this.file = file
|
||||
}
|
||||
|
||||
override fun accept(visitor: KmFunctionExtensionVisitor) {
|
||||
fun accept(visitor: KmFunctionExtension) {
|
||||
require(visitor is KlibFunctionExtensionVisitor)
|
||||
annotations.forEach(visitor::visitAnnotation)
|
||||
uniqId?.let(visitor::visitUniqId)
|
||||
@@ -91,7 +88,7 @@ internal class KlibClassExtension : KlibClassExtensionVisitor(), KmClassExtensio
|
||||
enumEntries += entry
|
||||
}
|
||||
|
||||
override fun accept(visitor: KmClassExtensionVisitor) {
|
||||
fun accept(visitor: KmClassExtension) {
|
||||
require(visitor is KlibClassExtensionVisitor)
|
||||
annotations.forEach(visitor::visitAnnotation)
|
||||
enumEntries.forEach(visitor::visitEnumEntry)
|
||||
@@ -108,7 +105,7 @@ internal class KlibTypeExtension : KlibTypeExtensionVisitor(), KmTypeExtension {
|
||||
annotations += annotation
|
||||
}
|
||||
|
||||
override fun accept(visitor: KmTypeExtensionVisitor) {
|
||||
fun accept(visitor: KmTypeExtension) {
|
||||
require(visitor is KlibTypeExtensionVisitor)
|
||||
annotations.forEach(visitor::visitAnnotation)
|
||||
}
|
||||
@@ -147,7 +144,7 @@ internal class KlibPropertyExtension : KlibPropertyExtensionVisitor(), KmPropert
|
||||
this.compileTimeValue = value
|
||||
}
|
||||
|
||||
override fun accept(visitor: KmPropertyExtensionVisitor) {
|
||||
fun accept(visitor: KmPropertyExtension) {
|
||||
require(visitor is KlibPropertyExtensionVisitor)
|
||||
annotations.forEach(visitor::visitAnnotation)
|
||||
getterAnnotations.forEach(visitor::visitGetterAnnotation)
|
||||
@@ -171,7 +168,7 @@ internal class KlibConstructorExtension : KlibConstructorExtensionVisitor(), KmC
|
||||
this.uniqId = uniqId
|
||||
}
|
||||
|
||||
override fun accept(visitor: KmConstructorExtensionVisitor) {
|
||||
fun accept(visitor: KmConstructorExtension) {
|
||||
require(visitor is KlibConstructorExtensionVisitor)
|
||||
annotations.forEach(visitor::visitAnnotation)
|
||||
uniqId?.let(visitor::visitUniqId)
|
||||
@@ -191,7 +188,7 @@ internal class KlibTypeParameterExtension : KlibTypeParameterExtensionVisitor(),
|
||||
this.uniqId = uniqId
|
||||
}
|
||||
|
||||
override fun accept(visitor: KmTypeParameterExtensionVisitor) {
|
||||
fun accept(visitor: KmTypeParameterExtension) {
|
||||
require(visitor is KlibTypeParameterExtensionVisitor)
|
||||
annotations.forEach(visitor::visitAnnotation)
|
||||
uniqId?.let(visitor::visitUniqId)
|
||||
@@ -206,7 +203,7 @@ internal class KlibPackageExtension : KlibPackageExtensionVisitor(), KmPackageEx
|
||||
fqName = name
|
||||
}
|
||||
|
||||
override fun accept(visitor: KmPackageExtensionVisitor) {
|
||||
fun accept(visitor: KmPackageExtension) {
|
||||
require(visitor is KlibPackageExtensionVisitor)
|
||||
fqName?.let(visitor::visitFqName)
|
||||
}
|
||||
@@ -230,7 +227,7 @@ internal class KlibModuleFragmentExtension : KlibModuleFragmentExtensionVisitor(
|
||||
this.className += className
|
||||
}
|
||||
|
||||
override fun accept(visitor: KmModuleFragmentExtensionVisitor) {
|
||||
fun accept(visitor: KmModuleFragmentExtension) {
|
||||
require(visitor is KlibModuleFragmentExtensionVisitor)
|
||||
moduleFragmentFiles.forEach(visitor::visitFile)
|
||||
fqName?.let(visitor::visitFqName)
|
||||
@@ -245,7 +242,7 @@ internal class KlibTypeAliasExtension : KlibTypeAliasExtensionVisitor(), KmTypeA
|
||||
this.uniqId = uniqId
|
||||
}
|
||||
|
||||
override fun accept(visitor: KmTypeAliasExtensionVisitor) {
|
||||
fun accept(visitor: KmTypeAliasExtension) {
|
||||
require(visitor is KlibTypeAliasExtensionVisitor)
|
||||
uniqId?.let(visitor::visitUniqId)
|
||||
}
|
||||
@@ -258,7 +255,7 @@ internal class KlibValueParameterExtension : KlibValueParameterExtensionVisitor(
|
||||
annotations += annotation
|
||||
}
|
||||
|
||||
override fun accept(visitor: KmValueParameterExtensionVisitor) {
|
||||
fun accept(visitor: KmValueParameterExtension) {
|
||||
require(visitor is KlibValueParameterExtensionVisitor)
|
||||
annotations.forEach(visitor::visitAnnotation)
|
||||
}
|
||||
|
||||
+10
-11
@@ -18,7 +18,6 @@ import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.serialization.StringTableImpl
|
||||
|
||||
@Suppress("DEPRECATION_ERROR")
|
||||
internal class KlibMetadataExtensions : MetadataExtensions {
|
||||
|
||||
private fun ReadContext.getSourceFile(index: Int) =
|
||||
@@ -28,7 +27,7 @@ internal class KlibMetadataExtensions : MetadataExtensions {
|
||||
strings.getStringIndex(file.name)
|
||||
|
||||
override fun readClassExtensions(kmClass: KmClass, proto: ProtoBuf.Class, c: ReadContext) {
|
||||
val extension = kmClass.visitExtensions(KlibClassExtensionVisitor.TYPE) as? KlibClassExtensionVisitor ?: return
|
||||
val extension = kmClass.getExtension(KlibClassExtensionVisitor.TYPE) as? KlibClassExtensionVisitor ?: return
|
||||
|
||||
proto.getExtension(KlibMetadataProtoBuf.classAnnotation).forEach { annotation ->
|
||||
extension.visitAnnotation(annotation.readAnnotation(c.strings))
|
||||
@@ -49,7 +48,7 @@ internal class KlibMetadataExtensions : MetadataExtensions {
|
||||
}
|
||||
|
||||
override fun readPackageExtensions(kmPackage: KmPackage, proto: ProtoBuf.Package, c: ReadContext) {
|
||||
val extension = kmPackage.visitExtensions(KlibPackageExtensionVisitor.TYPE) as? KlibPackageExtensionVisitor ?: return
|
||||
val extension = kmPackage.getExtension(KlibPackageExtensionVisitor.TYPE) as? KlibPackageExtensionVisitor ?: return
|
||||
|
||||
proto.getExtensionOrNull(KlibMetadataProtoBuf.packageFqName)?.let {
|
||||
val fqName = (c.strings as NameResolverImpl).getPackageFqName(it)
|
||||
@@ -58,7 +57,7 @@ internal class KlibMetadataExtensions : MetadataExtensions {
|
||||
}
|
||||
|
||||
override fun readModuleFragmentExtensions(kmModuleFragment: KmModuleFragment, proto: ProtoBuf.PackageFragment, c: ReadContext) {
|
||||
val extension = kmModuleFragment.visitExtensions(KlibModuleFragmentExtensionVisitor.TYPE) as? KlibModuleFragmentExtensionVisitor ?: return
|
||||
val extension = kmModuleFragment.getExtension(KlibModuleFragmentExtensionVisitor.TYPE) as? KlibModuleFragmentExtensionVisitor ?: return
|
||||
|
||||
proto.getExtension(KlibMetadataProtoBuf.packageFragmentFiles)
|
||||
.map { c.getSourceFile(it) }
|
||||
@@ -70,7 +69,7 @@ internal class KlibMetadataExtensions : MetadataExtensions {
|
||||
}
|
||||
|
||||
override fun readFunctionExtensions(kmFunction: KmFunction, proto: ProtoBuf.Function, c: ReadContext) {
|
||||
val extension = kmFunction.visitExtensions(KlibFunctionExtensionVisitor.TYPE) as? KlibFunctionExtensionVisitor ?: return
|
||||
val extension = kmFunction.getExtension(KlibFunctionExtensionVisitor.TYPE) as? KlibFunctionExtensionVisitor ?: return
|
||||
|
||||
proto.getExtension(KlibMetadataProtoBuf.functionAnnotation).forEach { annotation ->
|
||||
extension.visitAnnotation(annotation.readAnnotation(c.strings))
|
||||
@@ -85,7 +84,7 @@ internal class KlibMetadataExtensions : MetadataExtensions {
|
||||
}
|
||||
|
||||
override fun readPropertyExtensions(kmProperty: KmProperty, proto: ProtoBuf.Property, c: ReadContext) {
|
||||
val extension = kmProperty.visitExtensions(KlibPropertyExtensionVisitor.TYPE) as? KlibPropertyExtensionVisitor ?: return
|
||||
val extension = kmProperty.getExtension(KlibPropertyExtensionVisitor.TYPE) as? KlibPropertyExtensionVisitor ?: return
|
||||
|
||||
proto.getExtension(KlibMetadataProtoBuf.propertyAnnotation).forEach { annotation ->
|
||||
extension.visitAnnotation(annotation.readAnnotation(c.strings))
|
||||
@@ -106,7 +105,7 @@ internal class KlibMetadataExtensions : MetadataExtensions {
|
||||
}
|
||||
|
||||
override fun readConstructorExtensions(kmConstructor: KmConstructor, proto: ProtoBuf.Constructor, c: ReadContext) {
|
||||
val extension = kmConstructor.visitExtensions(KlibConstructorExtensionVisitor.TYPE) as? KlibConstructorExtensionVisitor ?: return
|
||||
val extension = kmConstructor.getExtension(KlibConstructorExtensionVisitor.TYPE) as? KlibConstructorExtensionVisitor ?: return
|
||||
|
||||
proto.getExtension(KlibMetadataProtoBuf.constructorAnnotation).forEach { annotation ->
|
||||
extension.visitAnnotation(annotation.readAnnotation(c.strings))
|
||||
@@ -117,7 +116,7 @@ internal class KlibMetadataExtensions : MetadataExtensions {
|
||||
}
|
||||
|
||||
override fun readTypeParameterExtensions(kmTypeParameter: KmTypeParameter, proto: ProtoBuf.TypeParameter, c: ReadContext) {
|
||||
val extension = kmTypeParameter.visitExtensions(KlibTypeParameterExtensionVisitor.TYPE) as? KlibTypeParameterExtensionVisitor ?: return
|
||||
val extension = kmTypeParameter.getExtension(KlibTypeParameterExtensionVisitor.TYPE) as? KlibTypeParameterExtensionVisitor ?: return
|
||||
|
||||
proto.getExtension(KlibMetadataProtoBuf.typeParameterAnnotation).forEach { annotation ->
|
||||
extension.visitAnnotation(annotation.readAnnotation(c.strings))
|
||||
@@ -128,7 +127,7 @@ internal class KlibMetadataExtensions : MetadataExtensions {
|
||||
}
|
||||
|
||||
override fun readTypeExtensions(kmType: KmType, proto: ProtoBuf.Type, c: ReadContext) {
|
||||
val extension = kmType.visitExtensions(KlibTypeExtensionVisitor.TYPE) as? KlibTypeExtensionVisitor ?: return
|
||||
val extension = kmType.getExtension(KlibTypeExtensionVisitor.TYPE) as? KlibTypeExtensionVisitor ?: return
|
||||
|
||||
proto.getExtension(KlibMetadataProtoBuf.typeAnnotation).forEach { annotation ->
|
||||
extension.visitAnnotation(annotation.readAnnotation(c.strings))
|
||||
@@ -136,7 +135,7 @@ internal class KlibMetadataExtensions : MetadataExtensions {
|
||||
}
|
||||
|
||||
override fun readTypeAliasExtensions(kmTypeAlias: KmTypeAlias, proto: ProtoBuf.TypeAlias, c: ReadContext) {
|
||||
val extension = kmTypeAlias.visitExtensions(KlibTypeAliasExtensionVisitor.TYPE) as? KlibTypeAliasExtensionVisitor ?: return
|
||||
val extension = kmTypeAlias.getExtension(KlibTypeAliasExtensionVisitor.TYPE) as? KlibTypeAliasExtensionVisitor ?: return
|
||||
|
||||
proto.getExtension(KlibMetadataProtoBuf.typeAliasUniqId).let { descriptorUniqId ->
|
||||
extension.visitUniqId(descriptorUniqId.readUniqId())
|
||||
@@ -144,7 +143,7 @@ internal class KlibMetadataExtensions : MetadataExtensions {
|
||||
}
|
||||
|
||||
override fun readValueParameterExtensions(kmValueParameter: KmValueParameter, proto: ProtoBuf.ValueParameter, c: ReadContext) {
|
||||
val extension = kmValueParameter.visitExtensions(KlibValueParameterExtensionVisitor.TYPE) as? KlibValueParameterExtensionVisitor ?: return
|
||||
val extension = kmValueParameter.getExtension(KlibValueParameterExtensionVisitor.TYPE) as? KlibValueParameterExtensionVisitor ?: return
|
||||
|
||||
proto.getExtension(KlibMetadataProtoBuf.parameterAnnotation).forEach { annotation ->
|
||||
extension.visitAnnotation(annotation.readAnnotation(c.strings))
|
||||
|
||||
+11
-13
@@ -2,14 +2,12 @@
|
||||
* Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
@file:Suppress("DEPRECATION_ERROR") // Extension visitors
|
||||
|
||||
package kotlinx.metadata.klib
|
||||
|
||||
import kotlin.metadata.*
|
||||
import kotlin.metadata.internal.common.KmModuleFragmentExtensionVisitor
|
||||
import kotlin.metadata.internal.extensions.*
|
||||
|
||||
abstract class KlibFunctionExtensionVisitor : KmFunctionExtensionVisitor {
|
||||
abstract class KlibFunctionExtensionVisitor : KmFunctionExtension {
|
||||
|
||||
abstract fun visitAnnotation(annotation: KmAnnotation)
|
||||
|
||||
@@ -25,7 +23,7 @@ abstract class KlibFunctionExtensionVisitor : KmFunctionExtensionVisitor {
|
||||
}
|
||||
}
|
||||
|
||||
abstract class KlibClassExtensionVisitor : KmClassExtensionVisitor {
|
||||
abstract class KlibClassExtensionVisitor : KmClassExtension {
|
||||
|
||||
abstract fun visitAnnotation(annotation: KmAnnotation)
|
||||
|
||||
@@ -43,7 +41,7 @@ abstract class KlibClassExtensionVisitor : KmClassExtensionVisitor {
|
||||
}
|
||||
}
|
||||
|
||||
abstract class KlibTypeExtensionVisitor : KmTypeExtensionVisitor {
|
||||
abstract class KlibTypeExtensionVisitor : KmTypeExtension {
|
||||
|
||||
abstract fun visitAnnotation(annotation: KmAnnotation)
|
||||
|
||||
@@ -55,7 +53,7 @@ abstract class KlibTypeExtensionVisitor : KmTypeExtensionVisitor {
|
||||
}
|
||||
}
|
||||
|
||||
abstract class KlibPropertyExtensionVisitor : KmPropertyExtensionVisitor {
|
||||
abstract class KlibPropertyExtensionVisitor : KmPropertyExtension {
|
||||
|
||||
abstract fun visitAnnotation(annotation: KmAnnotation)
|
||||
|
||||
@@ -77,7 +75,7 @@ abstract class KlibPropertyExtensionVisitor : KmPropertyExtensionVisitor {
|
||||
}
|
||||
}
|
||||
|
||||
abstract class KlibConstructorExtensionVisitor : KmConstructorExtensionVisitor {
|
||||
abstract class KlibConstructorExtensionVisitor : KmConstructorExtension {
|
||||
|
||||
abstract fun visitAnnotation(annotation: KmAnnotation)
|
||||
|
||||
@@ -91,7 +89,7 @@ abstract class KlibConstructorExtensionVisitor : KmConstructorExtensionVisitor {
|
||||
}
|
||||
}
|
||||
|
||||
abstract class KlibTypeParameterExtensionVisitor : KmTypeParameterExtensionVisitor {
|
||||
abstract class KlibTypeParameterExtensionVisitor : KmTypeParameterExtension {
|
||||
|
||||
abstract fun visitAnnotation(annotation: KmAnnotation)
|
||||
|
||||
@@ -105,7 +103,7 @@ abstract class KlibTypeParameterExtensionVisitor : KmTypeParameterExtensionVisit
|
||||
}
|
||||
}
|
||||
|
||||
abstract class KlibPackageExtensionVisitor : KmPackageExtensionVisitor {
|
||||
abstract class KlibPackageExtensionVisitor : KmPackageExtension {
|
||||
|
||||
abstract fun visitFqName(name: String)
|
||||
|
||||
@@ -117,7 +115,7 @@ abstract class KlibPackageExtensionVisitor : KmPackageExtensionVisitor {
|
||||
}
|
||||
}
|
||||
|
||||
abstract class KlibModuleFragmentExtensionVisitor : KmModuleFragmentExtensionVisitor {
|
||||
abstract class KlibModuleFragmentExtensionVisitor : KmModuleFragmentExtension {
|
||||
|
||||
abstract fun visitFile(file: KlibSourceFile)
|
||||
|
||||
@@ -133,7 +131,7 @@ abstract class KlibModuleFragmentExtensionVisitor : KmModuleFragmentExtensionVis
|
||||
}
|
||||
}
|
||||
|
||||
abstract class KlibTypeAliasExtensionVisitor : KmTypeAliasExtensionVisitor {
|
||||
abstract class KlibTypeAliasExtensionVisitor : KmTypeAliasExtension {
|
||||
|
||||
abstract fun visitUniqId(uniqId: UniqId)
|
||||
|
||||
@@ -145,7 +143,7 @@ abstract class KlibTypeAliasExtensionVisitor : KmTypeAliasExtensionVisitor {
|
||||
}
|
||||
}
|
||||
|
||||
abstract class KlibValueParameterExtensionVisitor : KmValueParameterExtensionVisitor {
|
||||
abstract class KlibValueParameterExtensionVisitor : KmValueParameterExtension {
|
||||
|
||||
abstract fun visitAnnotation(annotation: KmAnnotation)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user