From 89f22e69b467716bc1323a9a580e20b407c258cd Mon Sep 17 00:00:00 2001 From: Mikhael Bogdanov Date: Thu, 29 Mar 2018 16:51:10 +0200 Subject: [PATCH] Relocate @JvmDefault to stdlib module --- .../experimental/kotlin/jvm/JvmDefault.kt | 19 ------------------ .../jvm/annotations/JvmPlatformAnnotations.kt | 2 +- libraries/stdlib/src/kotlin/jvm/JvmDefault.kt | 20 +++++++++++++++++++ 3 files changed, 21 insertions(+), 20 deletions(-) delete mode 100644 libraries/stdlib/experimental/kotlin/jvm/JvmDefault.kt create mode 100644 libraries/stdlib/src/kotlin/jvm/JvmDefault.kt diff --git a/libraries/stdlib/experimental/kotlin/jvm/JvmDefault.kt b/libraries/stdlib/experimental/kotlin/jvm/JvmDefault.kt deleted file mode 100644 index 887669a6750..00000000000 --- a/libraries/stdlib/experimental/kotlin/jvm/JvmDefault.kt +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the license/LICENSE.txt file. - */ - -package kotlin.jvm - -@Experimental(Experimental.Level.WARNING, [(Experimental.Impact.COMPILATION)]) -@Target( - AnnotationTarget.CLASS, - AnnotationTarget.CONSTRUCTOR, - AnnotationTarget.FUNCTION, - AnnotationTarget.PROPERTY -) -annotation class JvmDefaultFeature - -@JvmDefaultFeature -@Target(AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY) -annotation class JvmDefault \ No newline at end of file diff --git a/libraries/stdlib/jvm/runtime/kotlin/jvm/annotations/JvmPlatformAnnotations.kt b/libraries/stdlib/jvm/runtime/kotlin/jvm/annotations/JvmPlatformAnnotations.kt index e270da2ded6..922682d7c14 100644 --- a/libraries/stdlib/jvm/runtime/kotlin/jvm/annotations/JvmPlatformAnnotations.kt +++ b/libraries/stdlib/jvm/runtime/kotlin/jvm/annotations/JvmPlatformAnnotations.kt @@ -134,4 +134,4 @@ public annotation class JvmSuppressWildcards(val suppress: Boolean = true) @Target(AnnotationTarget.TYPE) @Retention(AnnotationRetention.BINARY) @MustBeDocumented -public annotation class JvmWildcard +public annotation class JvmWildcard \ No newline at end of file diff --git a/libraries/stdlib/src/kotlin/jvm/JvmDefault.kt b/libraries/stdlib/src/kotlin/jvm/JvmDefault.kt new file mode 100644 index 00000000000..0962c6efbd5 --- /dev/null +++ b/libraries/stdlib/src/kotlin/jvm/JvmDefault.kt @@ -0,0 +1,20 @@ +/* + * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the license/LICENSE.txt file. + */ +@file:JvmVersion + +package kotlin.jvm + +import kotlin.internal.RequireKotlin +import kotlin.internal.RequireKotlinVersionKind + +/** + * Specifies that a JVM default method should be generated for non-abstract Kotlin interface member. + * This annotation requires explicit compilation flag to be enabled: `-Xenable-jvm-default`. + * Adding annotation is binary incompatible change. + */ +@SinceKotlin("1.2") +@RequireKotlin("1.2.40", versionKind = RequireKotlinVersionKind.COMPILER_VERSION) +@Target(AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY) +annotation class JvmDefault