Deprecate @JvmDefault

#KT-40392 Fixed

(cherry picked from commit c11f38688e)
This commit is contained in:
Mikhail Bogdanov
2020-03-27 15:56:55 +01:00
committed by Space
parent 77c263fcc4
commit 95654bb9bc
20 changed files with 290 additions and 60 deletions
@@ -0,0 +1,69 @@
// !JVM_DEFAULT_MODE: all
// !JVM_TARGET: 1.8
// FILE: JavaInterface.java
public interface JavaInterface {
default void test() {}
default void testForNonDefault() {}
void testAbstract();
}
// FILE: 1.kt
interface KotlinInterface : JavaInterface {
@JvmDefault
override fun test() {}
override fun testForNonDefault() {}
override fun testAbstract() {}
}
interface KotlinInterface2 : JavaInterface, KotlinInterface {
override fun test() {}
override fun testForNonDefault() {}
override fun testAbstract() {}
}
interface KotlinInterfaceForIndirect : JavaInterface {
}
interface KotlinInterfaceIndirectInheritance : KotlinInterfaceForIndirect {
override fun test() {}
override fun testForNonDefault() {}
override fun testAbstract() {}
}
open class KotlinClass : JavaInterface {
override fun test() {}
override fun testForNonDefault() {}
override fun testAbstract() {}
}
interface KotlinInterfaceX {
fun test() {}
fun testForNonDefault() {}
fun testAbstract() {}
}
interface KotlinInterfaceManySuper: JavaInterface, KotlinInterfaceX {
override fun test() {}
override fun testForNonDefault() {}
override fun testAbstract() {}
}