Files
Alexander Udalov 3120a35a88 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
2023-04-25 14:33:00 +00:00

38 lines
977 B
Kotlin
Vendored

// !JVM_DEFAULT_MODE: all
// FULL_JDK
// WITH_STDLIB
// JVM_TARGET: 1.8
// MODULE: lib
// FILE: 1.kt
interface KInterface {
fun call(): List<String> {
return Thread.currentThread().getStackTrace().map { it.className + "." + it.methodName }
}
fun superCall() = Thread.currentThread().getStackTrace().map { it.className + "." + it.methodName }
}
// MODULE: main(lib)
// FILE: main.kt
interface KInterface2 : KInterface {
}
class Foo: KInterface2 {
fun superCall2() = super<KInterface2>.superCall()
}
fun box(): String {
var result = Foo().call()
if (result[1] != "KInterface.call") return "fail 1: ${result[1]}"
if (result[2] != "MainKt.box") return "fail 2: ${result[2]}"
result = Foo().superCall2()
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"
}