diff --git a/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/KotlinClassMetadata.kt b/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/KotlinClassMetadata.kt index 25af3584376..626fd978b50 100644 --- a/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/KotlinClassMetadata.kt +++ b/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/KotlinClassMetadata.kt @@ -639,7 +639,7 @@ public sealed class KotlinClassMetadata { */ @JvmStatic @JvmOverloads - @Deprecated("Use a KotlinClassMetadata.Class instance and its write() member function", level = DeprecationLevel.WARNING) + @Deprecated("Use a KotlinClassMetadata.Class instance and its write() member function", level = DeprecationLevel.ERROR) public fun writeClass( kmClass: KmClass, metadataVersion: IntArray = COMPATIBLE_METADATA_VERSION, @@ -659,7 +659,7 @@ public sealed class KotlinClassMetadata { */ @JvmStatic @JvmOverloads - @Deprecated("Use a KotlinClassMetadata.FileFacade instance and its write() member function", level = DeprecationLevel.WARNING) + @Deprecated("Use a KotlinClassMetadata.FileFacade instance and its write() member function", level = DeprecationLevel.ERROR) public fun writeFileFacade( kmPackage: KmPackage, metadataVersion: IntArray = COMPATIBLE_METADATA_VERSION, @@ -678,7 +678,7 @@ public sealed class KotlinClassMetadata { */ @JvmStatic @JvmOverloads - @Deprecated("Use a KotlinClassMetadata.SyntheticClass instance and its write() member function", level = DeprecationLevel.WARNING) + @Deprecated("Use a KotlinClassMetadata.SyntheticClass instance and its write() member function", level = DeprecationLevel.ERROR) public fun writeLambda( kmLambda: KmLambda, metadataVersion: IntArray = COMPATIBLE_METADATA_VERSION, @@ -697,7 +697,7 @@ public sealed class KotlinClassMetadata { */ @JvmStatic @JvmOverloads - @Deprecated("Use a KotlinClassMetadata.SyntheticClass instance and its write() member function", level = DeprecationLevel.WARNING) + @Deprecated("Use a KotlinClassMetadata.SyntheticClass instance and its write() member function", level = DeprecationLevel.ERROR) public fun writeSyntheticClass( metadataVersion: IntArray = COMPATIBLE_METADATA_VERSION, extraInt: Int = 0, @@ -718,7 +718,7 @@ public sealed class KotlinClassMetadata { @JvmOverloads @Deprecated( "Use a KotlinClassMetadata.MultiFileClassFacade instance and its write() member function", - level = DeprecationLevel.WARNING + level = DeprecationLevel.ERROR ) public fun writeMultiFileClassFacade( partClassNames: List, metadataVersion: IntArray = COMPATIBLE_METADATA_VERSION, @@ -740,7 +740,7 @@ public sealed class KotlinClassMetadata { @JvmOverloads @Deprecated( "Use a KotlinClassMetadata.MultiFileClassPart instance and its write() member function", - level = DeprecationLevel.WARNING + level = DeprecationLevel.ERROR ) public fun writeMultiFileClassPart( kmPackage: KmPackage, @@ -769,7 +769,7 @@ public sealed class KotlinClassMetadata { @Deprecated( "read() throws an error if metadata version is too high. Use either readStrict() if you want to retain this behavior, or readLenient() if you want to try to read newer metadata.", ReplaceWith("KotlinClassMetadata.readStrict(annotationData)"), - DeprecationLevel.WARNING + DeprecationLevel.ERROR ) public fun read(annotationData: Metadata): KotlinClassMetadata = readMetadataImpl(annotationData, lenient = false) @@ -881,7 +881,7 @@ public sealed class KotlinClassMetadata { * @see Metadata.metadataVersion */ @JvmField - @Deprecated("Use JvmMetadataVersion.LATEST_STABLE_SUPPORTED instead", ReplaceWith("JvmMetadataVersion.LATEST_STABLE_SUPPORTED"), DeprecationLevel.WARNING) + @Deprecated("Use JvmMetadataVersion.LATEST_STABLE_SUPPORTED instead", ReplaceWith("JvmMetadataVersion.LATEST_STABLE_SUPPORTED"), DeprecationLevel.ERROR) public val COMPATIBLE_METADATA_VERSION: IntArray = CompilerMetadataVersion.INSTANCE.toArray().copyOf() } diff --git a/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/KotlinModuleMetadata.kt b/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/KotlinModuleMetadata.kt index afc41be2a85..889de87a37a 100644 --- a/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/KotlinModuleMetadata.kt +++ b/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/KotlinModuleMetadata.kt @@ -168,7 +168,7 @@ public class KotlinModuleMetadata public constructor( * @throws IllegalArgumentException if [kmModule] is not correct and cannot be written or if [metadataVersion] is not supported for writing. */ @UnstableMetadataApi - @Deprecated("Use a KotlinModuleMetadata instance and its write() member function", level = DeprecationLevel.WARNING) + @Deprecated("Use a KotlinModuleMetadata instance and its write() member function", level = DeprecationLevel.ERROR) @JvmStatic @JvmOverloads public fun write(kmModule: KmModule, metadataVersion: JvmMetadataVersion = JvmMetadataVersion.LATEST_STABLE_SUPPORTED): ByteArray = wrapWriteIntoIAE { diff --git a/libraries/kotlinx-metadata/jvm/test/kotlinx/metadata/test/MetadataSmokeTest.kt b/libraries/kotlinx-metadata/jvm/test/kotlinx/metadata/test/MetadataSmokeTest.kt index 2596c1026e9..089e9b500a9 100644 --- a/libraries/kotlinx-metadata/jvm/test/kotlinx/metadata/test/MetadataSmokeTest.kt +++ b/libraries/kotlinx-metadata/jvm/test/kotlinx/metadata/test/MetadataSmokeTest.kt @@ -15,7 +15,6 @@ import kotlin.coroutines.CoroutineContext import kotlin.reflect.full.primaryConstructor import kotlin.test.* -@Suppress("DEPRECATION") class MetadataSmokeTest { @Test @@ -127,11 +126,12 @@ class MetadataSmokeTest { class L - val l = (KotlinClassMetadata.read(L::class.java.getMetadata()) as KotlinClassMetadata.Class).kmClass.name + val l = (KotlinClassMetadata.readStrict(L::class.java.getMetadata()) as KotlinClassMetadata.Class).kmClass.name assertEquals(".kotlinx/metadata/test/MetadataSmokeTest\$jvmInternalName\$L", l) assertEquals("kotlinx/metadata/test/MetadataSmokeTest\$jvmInternalName\$L", l.toJvmInternalName()) - val coroutineContextKey = (KotlinClassMetadata.read(CoroutineContext.Key::class.java.getMetadata()) as KotlinClassMetadata.Class).kmClass.name + val coroutineContextKey = + (KotlinClassMetadata.readStrict(CoroutineContext.Key::class.java.getMetadata()) as KotlinClassMetadata.Class).kmClass.name assertEquals("kotlin/coroutines/CoroutineContext.Key", coroutineContextKey) assertEquals("kotlin/coroutines/CoroutineContext\$Key", coroutineContextKey.toJvmInternalName()) @@ -141,7 +141,7 @@ class MetadataSmokeTest { fun lambdaVersionRequirement() { val x: suspend Int.(String, String) -> Unit = { _, _ -> } val annotation = x::class.java.getMetadata() - val metadata = KotlinClassMetadata.read(annotation) as KotlinClassMetadata.SyntheticClass + val metadata = KotlinClassMetadata.readStrict(annotation) as KotlinClassMetadata.SyntheticClass assertNotNull(metadata.kmLambda) } @@ -186,7 +186,7 @@ class MetadataSmokeTest { assertFailsWith { KotlinClassMetadata.MultiFileClassPart(KmPackage(), "A", mv, 0).write() } assertFailsWith { KotlinClassMetadata.SyntheticClass(null, mv, 0).write() } - KotlinModuleMetadata.write(KmModule(), mv) + KotlinModuleMetadata(KmModule(), mv).write() } @Test @@ -218,7 +218,7 @@ class MetadataSmokeTest { assertEquals("Lambda ", displayName(b::class.java.getMetadata())) } - fun displayName(metadata: Metadata): String = when (val kcm = KotlinClassMetadata.read(metadata)) { + fun displayName(metadata: Metadata): String = when (val kcm = KotlinClassMetadata.readStrict(metadata)) { is KotlinClassMetadata.Class -> "Class ${kcm.kmClass.name}" is KotlinClassMetadata.FileFacade -> "File facade with functions: ${kcm.kmPackage.functions.joinToString { it.name }}" is KotlinClassMetadata.SyntheticClass -> kcm.kmLambda?.function?.name?.let { "Lambda $it" } ?: "Synthetic class" @@ -226,5 +226,4 @@ class MetadataSmokeTest { is KotlinClassMetadata.MultiFileClassPart -> "Multifile class part ${kcm.facadeClassName}" is KotlinClassMetadata.Unknown -> "Unknown metadata" } - } diff --git a/libraries/kotlinx-metadata/src/kotlinx/metadata/Attributes.kt b/libraries/kotlinx-metadata/src/kotlinx/metadata/Attributes.kt index 6e01abba697..5d801e687be 100644 --- a/libraries/kotlinx-metadata/src/kotlinx/metadata/Attributes.kt +++ b/libraries/kotlinx-metadata/src/kotlinx/metadata/Attributes.kt @@ -298,13 +298,13 @@ public var KmProperty.isVar: Boolean by propertyBooleanFlag(FlagImpl(ProtoFlags. /** * Indicates that the corresponding property has a getter. */ -@Deprecated("Kotlin properties always have getters", ReplaceWith("true"), DeprecationLevel.WARNING) // Deprecated in 0.8.0 +@Deprecated("Kotlin properties always have getters", ReplaceWith("true"), DeprecationLevel.ERROR) public var KmProperty.hasGetter: Boolean by propertyBooleanFlag(FlagImpl(ProtoFlags.HAS_GETTER)) /** * Indicates that the corresponding property has a setter. */ -@Deprecated("Check .setter for nullability instead", ReplaceWith("this.setter != null"), DeprecationLevel.WARNING) // Deprecated in 0.8.0 +@Deprecated("Check .setter for nullability instead", ReplaceWith("this.setter != null"), DeprecationLevel.ERROR) public var KmProperty.hasSetter: Boolean by propertyBooleanFlag(FlagImpl(ProtoFlags.HAS_SETTER)) /** diff --git a/libraries/kotlinx-metadata/src/kotlinx/metadata/ClassName.kt b/libraries/kotlinx-metadata/src/kotlinx/metadata/ClassName.kt index b684be8f61e..ec8ab654003 100644 --- a/libraries/kotlinx-metadata/src/kotlinx/metadata/ClassName.kt +++ b/libraries/kotlinx-metadata/src/kotlinx/metadata/ClassName.kt @@ -25,7 +25,6 @@ public typealias ClassName = String // Not a value class because of Java usages */ public fun ClassName.isLocalClassName(): Boolean = this.startsWith(".") -// Deprecated since 0.6.1, should be error in 0.7.0+ @Deprecated( "Renamed to isLocalClassName() to avoid confusion with String properties", ReplaceWith("isLocalClassName()"),