JvmDefault: remove most tests on @JvmDefault
The tests are removed because JvmDefault is going to be deprecated with error in KT-54746 and removed later in KT-57696. Many of the removed tests already had existing counterparts with the new modes `all` and `all-compatibility`. In this change, I've added such tests where they were missing, and removed tests which were testing behavior specific to the JvmDefault annotation, such as some diagnostics. #KT-54746
This commit is contained in:
committed by
Space Team
parent
ace2279631
commit
3120a35a88
+3
-16
@@ -6,24 +6,11 @@
|
||||
// MODULE: lib
|
||||
// FILE: 1.kt
|
||||
interface Test {
|
||||
@JvmDefault
|
||||
fun test(): String {
|
||||
return "O"
|
||||
}
|
||||
|
||||
fun delegatedTest(): String {
|
||||
return "fail"
|
||||
}
|
||||
fun test(): String = "Fail"
|
||||
}
|
||||
|
||||
class Delegate : Test {
|
||||
override fun test(): String {
|
||||
return "Fail"
|
||||
}
|
||||
|
||||
override fun delegatedTest(): String {
|
||||
return "K"
|
||||
}
|
||||
override fun test(): String = "OK"
|
||||
}
|
||||
|
||||
// MODULE: main(lib)
|
||||
@@ -32,5 +19,5 @@ class TestClass(val foo: Test) : Test by foo
|
||||
|
||||
fun box(): String {
|
||||
val testClass = TestClass(Delegate())
|
||||
return testClass.test() + testClass.delegatedTest()
|
||||
return testClass.test()
|
||||
}
|
||||
|
||||
+3
-13
@@ -6,21 +6,11 @@
|
||||
// MODULE: lib
|
||||
// FILE: 1.kt
|
||||
interface Test {
|
||||
@JvmDefault
|
||||
val test: String
|
||||
get() = "O"
|
||||
|
||||
val testDelegated: String
|
||||
get() = "fail"
|
||||
|
||||
val test: String get() = "Fail"
|
||||
}
|
||||
|
||||
class Delegate : Test {
|
||||
override val test: String
|
||||
get() = "fail"
|
||||
|
||||
override val testDelegated: String
|
||||
get() = "K"
|
||||
override val test: String get() = "OK"
|
||||
}
|
||||
|
||||
// MODULE: main(lib)
|
||||
@@ -29,5 +19,5 @@ class TestClass(val foo: Test) : Test by foo
|
||||
|
||||
fun box(): String {
|
||||
val testClass = TestClass(Delegate())
|
||||
return testClass.test + testClass.testDelegated
|
||||
return testClass.test
|
||||
}
|
||||
|
||||
+5
-8
@@ -1,11 +1,10 @@
|
||||
// !JVM_DEFAULT_MODE: all
|
||||
// FULL_JDK
|
||||
// WITH_STDLIB
|
||||
// JVM_TARGET: 1.8
|
||||
// MODULE: lib
|
||||
// !JVM_DEFAULT_MODE: enable
|
||||
// FILE: 1.kt
|
||||
interface KInterface {
|
||||
@JvmDefault
|
||||
fun call(): List<String> {
|
||||
return Thread.currentThread().getStackTrace().map { it.className + "." + it.methodName }
|
||||
}
|
||||
@@ -14,10 +13,9 @@ interface KInterface {
|
||||
}
|
||||
|
||||
// MODULE: main(lib)
|
||||
// !JVM_DEFAULT_MODE: all
|
||||
// FILE: main.kt
|
||||
interface KInterface2 : KInterface {
|
||||
override fun superCall() = super.superCall()
|
||||
|
||||
}
|
||||
|
||||
class Foo: KInterface2 {
|
||||
@@ -30,10 +28,9 @@ fun box(): String {
|
||||
if (result[2] != "MainKt.box") return "fail 2: ${result[2]}"
|
||||
|
||||
result = Foo().superCall2()
|
||||
if (result[1] != "KInterface\$DefaultImpls.superCall") return "fail 1: ${result[1]}"
|
||||
if (result[2] != "KInterface2.superCall") return "fail 2: ${result[2]}"
|
||||
if (result[3] != "Foo.superCall2") return "fail 3: ${result[3]}"
|
||||
if (result[4] != "MainKt.box") return "fail 4: ${result[4]}"
|
||||
if (result[1] != "KInterface.superCall") return "fail 1: ${result[1]}"
|
||||
if (result[2] != "Foo.superCall2") return "fail 2: ${result[2]}"
|
||||
if (result[3] != "MainKt.box") return "fail 3: ${result[3]}"
|
||||
|
||||
|
||||
return "OK"
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
// !JVM_DEFAULT_MODE: all
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_STDLIB
|
||||
// MODULE: lib
|
||||
// FILE: 1.kt
|
||||
interface Test {
|
||||
val prop: String
|
||||
get() = "OK"
|
||||
}
|
||||
|
||||
// MODULE: main(lib)
|
||||
// FILE: 2.kt
|
||||
interface Test2 : Test {
|
||||
override val prop: String
|
||||
get() = super.prop
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
return object : Test2 {}.prop
|
||||
}
|
||||
+1
-2
@@ -1,10 +1,9 @@
|
||||
// !JVM_DEFAULT_MODE: enable
|
||||
// !JVM_DEFAULT_MODE: all
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_STDLIB
|
||||
// MODULE: lib
|
||||
// FILE: 1.kt
|
||||
interface Test {
|
||||
@JvmDefault
|
||||
fun test(): String {
|
||||
return "OK"
|
||||
}
|
||||
|
||||
Vendored
+1
-3
@@ -1,10 +1,9 @@
|
||||
// !JVM_DEFAULT_MODE: enable
|
||||
// !JVM_DEFAULT_MODE: all
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_STDLIB
|
||||
// MODULE: lib
|
||||
// FILE: 1.kt
|
||||
interface Test {
|
||||
@JvmDefault
|
||||
fun test(): String {
|
||||
return "OK"
|
||||
}
|
||||
@@ -14,7 +13,6 @@ interface Test {
|
||||
// FILE: 2.kt
|
||||
|
||||
interface Test2 : Test {
|
||||
@JvmDefault
|
||||
override fun test(): String {
|
||||
return super.test()
|
||||
}
|
||||
|
||||
Vendored
-29
@@ -1,29 +0,0 @@
|
||||
// !JVM_DEFAULT_MODE: enable
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_STDLIB
|
||||
// MODULE: lib
|
||||
// FILE: 1.kt
|
||||
interface Test {
|
||||
@JvmDefault
|
||||
fun test(): String {
|
||||
return "OK"
|
||||
}
|
||||
|
||||
fun defaultImplTrigger(): String {
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
// MODULE: main(lib)
|
||||
// FILE: 2.kt
|
||||
|
||||
interface Test2 : Test {
|
||||
@JvmDefault
|
||||
override fun test(): String {
|
||||
return super.test()
|
||||
}
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
return object : Test2 {}.test()
|
||||
}
|
||||
+1
-2
@@ -1,10 +1,9 @@
|
||||
// !JVM_DEFAULT_MODE: enable
|
||||
// !JVM_DEFAULT_MODE: all
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_STDLIB
|
||||
// MODULE: lib
|
||||
// FILE: 1.kt
|
||||
interface Test {
|
||||
@JvmDefault
|
||||
val prop: String
|
||||
get() = "OK"
|
||||
}
|
||||
|
||||
+1
-3
@@ -1,10 +1,9 @@
|
||||
// !JVM_DEFAULT_MODE: enable
|
||||
// !JVM_DEFAULT_MODE: all
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_STDLIB
|
||||
// MODULE: lib
|
||||
// FILE: 1.kt
|
||||
interface Test {
|
||||
@JvmDefault
|
||||
val prop: String
|
||||
get() = "OK"
|
||||
}
|
||||
@@ -12,7 +11,6 @@ interface Test {
|
||||
// MODULE: main(lib)
|
||||
// FILE: 2.kt
|
||||
interface Test2 : Test {
|
||||
@JvmDefault
|
||||
override val prop: String
|
||||
get() = super.prop
|
||||
}
|
||||
|
||||
-25
@@ -1,25 +0,0 @@
|
||||
// !JVM_DEFAULT_MODE: enable
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_STDLIB
|
||||
// MODULE: lib
|
||||
// FILE: 1.kt
|
||||
interface Test {
|
||||
@JvmDefault
|
||||
val prop: String
|
||||
get() = "OK"
|
||||
|
||||
val defaultImplTrigger: String
|
||||
get() = "OK"
|
||||
}
|
||||
|
||||
// MODULE: main(lib)
|
||||
// FILE: 2.kt
|
||||
interface Test2 : Test {
|
||||
@JvmDefault
|
||||
override val prop: String
|
||||
get() = super.prop
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
return object : Test2 {}.prop
|
||||
}
|
||||
Vendored
+2
-3
@@ -1,5 +1,5 @@
|
||||
// !JVM_DEFAULT_MODE: enable
|
||||
// MODULE: lib
|
||||
// !JVM_DEFAULT_MODE: disable
|
||||
// FILE: 1.kt
|
||||
interface Test {
|
||||
fun test(): String {
|
||||
@@ -8,11 +8,11 @@ interface Test {
|
||||
}
|
||||
|
||||
// MODULE: main(lib)
|
||||
// !JVM_DEFAULT_MODE: all
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_STDLIB
|
||||
// FILE: 2.kt
|
||||
interface Test2 : Test {
|
||||
@JvmDefault
|
||||
override fun test(): String {
|
||||
return super.test()
|
||||
}
|
||||
@@ -24,7 +24,6 @@ interface Test3 : Test {
|
||||
|
||||
|
||||
interface Test4 : Test2, Test3 {
|
||||
@JvmDefault
|
||||
override fun test(): String {
|
||||
return super.test()
|
||||
}
|
||||
|
||||
Vendored
+2
-2
@@ -1,5 +1,5 @@
|
||||
// !JVM_DEFAULT_MODE: enable
|
||||
// MODULE: lib
|
||||
// !JVM_DEFAULT_MODE: disable
|
||||
// FILE: 1.kt
|
||||
interface Test {
|
||||
fun test(): String {
|
||||
@@ -8,6 +8,7 @@ interface Test {
|
||||
}
|
||||
|
||||
// MODULE: main(lib)
|
||||
// !JVM_DEFAULT_MODE: all
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_STDLIB
|
||||
// FILE: 2.kt
|
||||
@@ -18,7 +19,6 @@ open class TestClass : Test {
|
||||
}
|
||||
|
||||
interface Test2 : Test {
|
||||
@JvmDefault
|
||||
override fun test(): String
|
||||
}
|
||||
|
||||
|
||||
Vendored
+2
-2
@@ -1,5 +1,5 @@
|
||||
// !JVM_DEFAULT_MODE: enable
|
||||
// MODULE: lib
|
||||
// !JVM_DEFAULT_MODE: disable
|
||||
// FILE: 1.kt
|
||||
interface Test {
|
||||
fun test(): String {
|
||||
@@ -8,6 +8,7 @@ interface Test {
|
||||
}
|
||||
|
||||
// MODULE: main(lib)
|
||||
// !JVM_DEFAULT_MODE: all
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_STDLIB
|
||||
// FILE: 2.kt
|
||||
@@ -16,7 +17,6 @@ abstract class TestClass : Test {
|
||||
}
|
||||
|
||||
interface Test2 : Test {
|
||||
@JvmDefault
|
||||
override fun test(): String {
|
||||
return "OK"
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
// !JVM_DEFAULT_MODE: enable
|
||||
// MODULE: lib
|
||||
// !JVM_DEFAULT_MODE: disable
|
||||
// FILE: 1.kt
|
||||
interface Test {
|
||||
fun test(): String {
|
||||
@@ -8,11 +8,11 @@ interface Test {
|
||||
}
|
||||
|
||||
// MODULE: main(lib)
|
||||
// !JVM_DEFAULT_MODE: all
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_STDLIB
|
||||
// FILE: 2.kt
|
||||
interface Test2 : Test {
|
||||
@JvmDefault
|
||||
override fun test(): String {
|
||||
return super.test()
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
// !JVM_DEFAULT_MODE: enable
|
||||
// MODULE: lib
|
||||
// !JVM_DEFAULT_MODE: disable
|
||||
// FILE: 1.kt
|
||||
|
||||
interface Test {
|
||||
@@ -9,11 +9,11 @@ interface Test {
|
||||
}
|
||||
|
||||
// MODULE: main(lib)
|
||||
// !JVM_DEFAULT_MODE: all
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_STDLIB
|
||||
// FILE: 2.kt
|
||||
interface Test2 : Test {
|
||||
@JvmDefault
|
||||
override fun test(): String {
|
||||
return super.test()
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
// !JVM_DEFAULT_MODE: enable
|
||||
// MODULE: lib
|
||||
// !JVM_DEFAULT_MODE: disable
|
||||
// FILE: 1.kt
|
||||
|
||||
interface Test {
|
||||
@@ -8,11 +8,11 @@ interface Test {
|
||||
}
|
||||
|
||||
// MODULE: main(lib)
|
||||
// !JVM_DEFAULT_MODE: all
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_STDLIB
|
||||
// FILE: 2.kt
|
||||
interface Test2 : Test {
|
||||
@JvmDefault
|
||||
override val test: String
|
||||
get() = super.test
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user