Native: deprecate SymbolName annotation

This commit is contained in:
Svyatoslav Scherbina
2021-05-12 19:56:12 +03:00
committed by TeamCityServer
parent 3b3318ab06
commit 570d860217
2 changed files with 17 additions and 0 deletions
@@ -195,6 +195,7 @@ targetList.each { target ->
'-Xopt-in=kotlin.contracts.ExperimentalContracts',
'-Xopt-in=kotlin.ExperimentalMultiplatform',
'-Xopt-in=kotlin.native.internal.InternalForKotlinNative',
'-Xopt-in=kotlin.native.SymbolNameIsDeprecated',
'-Xallow-result-return-type',
*commonSrc.toList(),
*testAnnotationCommon.toList(),
@@ -8,6 +8,21 @@ package kotlin.native
import kotlin.reflect.KClass
/**
* [SymbolName] annotation is deprecated.
* See [KT-46649](https://youtrack.jetbrains.com/issue/KT-46649).
*/
@RequiresOptIn(
message = "@SymbolName annotation is deprecated. See https://youtrack.jetbrains.com/issue/KT-46649",
level = RequiresOptIn.Level.WARNING
)
@Target(AnnotationTarget.ANNOTATION_CLASS)
@Retention(value = AnnotationRetention.BINARY)
internal annotation class SymbolNameIsDeprecated
/**
* This annotation is deprecated.
* See [KT-46649](https://youtrack.jetbrains.com/issue/KT-46649).
*
* Forces the compiler to use specified symbol name for the target `external` function.
*
* TODO: changing symbol name breaks the binary compatibility,
@@ -15,6 +30,7 @@ import kotlin.reflect.KClass
*/
@Target(AnnotationTarget.FUNCTION)
@Retention(AnnotationRetention.BINARY)
@SymbolNameIsDeprecated
public annotation class SymbolName(val name: String)
/**