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
-33
@@ -1,33 +0,0 @@
|
||||
// !LANGUAGE: +InlineClasses
|
||||
// !JVM_DEFAULT_MODE: enable
|
||||
// JVM_TARGET: 1.8
|
||||
// FILE: test.kt
|
||||
|
||||
|
||||
fun box(): String {
|
||||
val b = B(0)
|
||||
return b.f() + b.g()
|
||||
}
|
||||
|
||||
interface A {
|
||||
fun f() = "O"
|
||||
@JvmDefault
|
||||
fun g() = "K"
|
||||
}
|
||||
|
||||
inline class B(val x: Int) : A
|
||||
|
||||
// 1 public static f-impl\(I\)Ljava/lang/String;
|
||||
// 1 public f\(\)Ljava/lang/String;
|
||||
|
||||
// 0 public static g-impl\(I\)Ljava/lang/String;
|
||||
// 0 public g\(\)Ljava/lang/String;
|
||||
|
||||
// 0 INVOKESTATIC B.g-impl \(I\)Ljava/lang/String;
|
||||
|
||||
// JVM_TEMPLATES:
|
||||
// 2 INVOKESTATIC B.f-impl \(I\)Ljava/lang/String;
|
||||
|
||||
// JVM_IR_TEMPLATES:
|
||||
// 1 INVOKESTATIC B.f-impl \(I\)Ljava/lang/String;
|
||||
|
||||
-19
@@ -1,19 +0,0 @@
|
||||
// !JVM_DEFAULT_MODE: compatibility
|
||||
// JVM_TARGET: 1.8
|
||||
// FULL_JDK
|
||||
|
||||
interface KInterface {
|
||||
@JvmDefault
|
||||
fun test(s: String ="OK"): String {
|
||||
return s
|
||||
}
|
||||
}
|
||||
|
||||
// 1 INVOKESTATIC KInterface.access\$test\$jd
|
||||
// 1 INVOKESTATIC KInterface.test\$default
|
||||
|
||||
// from $default
|
||||
// 1 INVOKEINTERFACE KInterface.test
|
||||
|
||||
//from $jd
|
||||
// 1 INVOKESPECIAL KInterface.test
|
||||
-22
@@ -1,22 +0,0 @@
|
||||
// !JVM_DEFAULT_MODE: compatibility
|
||||
// JVM_TARGET: 1.8
|
||||
|
||||
interface A {
|
||||
@JvmDefault
|
||||
fun foo() = "FAIL"
|
||||
}
|
||||
|
||||
interface Left : A { }
|
||||
interface Right : A {
|
||||
@JvmDefault
|
||||
override fun foo() = "OK"
|
||||
}
|
||||
|
||||
interface C : Left, Right {}
|
||||
|
||||
fun box(): String {
|
||||
val x = object : C {}
|
||||
return x.foo()
|
||||
}
|
||||
|
||||
// 0 INVOKESTATIC .*\$DefaultImpls\.foo
|
||||
-19
@@ -1,19 +0,0 @@
|
||||
// !JVM_DEFAULT_MODE: compatibility
|
||||
// JVM_TARGET: 1.8
|
||||
|
||||
interface KInterface {
|
||||
@JvmDefault
|
||||
fun test2(): String {
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
interface KInterface2 : KInterface {
|
||||
|
||||
}
|
||||
|
||||
// 1 INVOKESTATIC KInterface2.access\$test2\$jd
|
||||
// 1 INVOKESTATIC KInterface.access\$test2\$jd
|
||||
|
||||
// 1 INVOKESPECIAL KInterface2.test2
|
||||
// 1 INVOKESPECIAL KInterface.test2
|
||||
-23
@@ -1,23 +0,0 @@
|
||||
// !JVM_DEFAULT_MODE: compatibility
|
||||
// JVM_TARGET: 1.8
|
||||
|
||||
interface KInterface {
|
||||
@JvmDefault
|
||||
fun test2(): String {
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
interface KInterface2 : KInterface {
|
||||
@JvmDefault
|
||||
abstract override fun test2(): String
|
||||
}
|
||||
|
||||
// 1 INVOKESTATIC KInterface.access\$test2\$jd
|
||||
// +
|
||||
// 0 INVOKESTATIC KInterface2.access\$test2\$jd
|
||||
// =
|
||||
// 1 INVOKESTATIC KInterface
|
||||
|
||||
// 1 INVOKESPECIAL KInterface.test2
|
||||
// 0 INVOKESPECIAL KInterface2.test2
|
||||
-24
@@ -1,24 +0,0 @@
|
||||
// !JVM_DEFAULT_MODE: compatibility
|
||||
// JVM_TARGET: 1.8
|
||||
|
||||
interface KInterface {
|
||||
|
||||
@JvmDefault
|
||||
var bar: String
|
||||
get() = "OK"
|
||||
set(field) {}
|
||||
}
|
||||
|
||||
interface KInterface2 : KInterface {
|
||||
|
||||
}
|
||||
|
||||
// 1 INVOKESTATIC KInterface2.access\$getBar\$jd
|
||||
// 1 INVOKESTATIC KInterface2.access\$setBar\$jd
|
||||
// 1 INVOKESTATIC KInterface.access\$getBar\$jd
|
||||
// 1 INVOKESTATIC KInterface.access\$setBar\$jd
|
||||
|
||||
// 1 INVOKESPECIAL KInterface2.getBar
|
||||
// 1 INVOKESPECIAL KInterface2.setBar
|
||||
// 1 INVOKESPECIAL KInterface.getBar
|
||||
// 1 INVOKESPECIAL KInterface.setBar
|
||||
Reference in New Issue
Block a user