Add delegation tests for new default modes
This commit is contained in:
+33
@@ -0,0 +1,33 @@
|
||||
// !JVM_DEFAULT_MODE: all-compatibility
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
|
||||
interface Test {
|
||||
@JvmDefault
|
||||
fun test(): String {
|
||||
return "O"
|
||||
}
|
||||
|
||||
fun delegatedTest(): String {
|
||||
return "fail"
|
||||
}
|
||||
}
|
||||
|
||||
class Delegate : Test {
|
||||
override fun test(): String {
|
||||
return "Fail"
|
||||
}
|
||||
|
||||
override fun delegatedTest(): String {
|
||||
return "K"
|
||||
}
|
||||
}
|
||||
|
||||
class TestClass(val foo: Test) : Test by foo
|
||||
|
||||
fun box(): String {
|
||||
val testClass = TestClass(Delegate())
|
||||
return testClass.test() + testClass.delegatedTest()
|
||||
}
|
||||
Vendored
+30
@@ -0,0 +1,30 @@
|
||||
// !JVM_DEFAULT_MODE: all-compatibility
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
|
||||
interface Test {
|
||||
@JvmDefault
|
||||
val test: String
|
||||
get() = "O"
|
||||
|
||||
val testDelegated: String
|
||||
get() = "fail"
|
||||
|
||||
}
|
||||
|
||||
class Delegate : Test {
|
||||
override val test: String
|
||||
get() = "fail"
|
||||
|
||||
override val testDelegated: String
|
||||
get() = "K"
|
||||
}
|
||||
|
||||
class TestClass(val foo: Test) : Test by foo
|
||||
|
||||
fun box(): String {
|
||||
val testClass = TestClass(Delegate())
|
||||
return testClass.test + testClass.testDelegated
|
||||
}
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
// !JVM_DEFAULT_MODE: all
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
|
||||
interface Test {
|
||||
@JvmDefault
|
||||
fun test(): String {
|
||||
return "O"
|
||||
}
|
||||
|
||||
fun delegatedTest(): String {
|
||||
return "fail"
|
||||
}
|
||||
}
|
||||
|
||||
class Delegate : Test {
|
||||
override fun test(): String {
|
||||
return "Fail"
|
||||
}
|
||||
|
||||
override fun delegatedTest(): String {
|
||||
return "K"
|
||||
}
|
||||
}
|
||||
|
||||
class TestClass(val foo: Test) : Test by foo
|
||||
|
||||
fun box(): String {
|
||||
val testClass = TestClass(Delegate())
|
||||
return testClass.test() + testClass.delegatedTest()
|
||||
}
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
// !JVM_DEFAULT_MODE: all
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
|
||||
interface Test {
|
||||
@JvmDefault
|
||||
val test: String
|
||||
get() = "O"
|
||||
|
||||
val testDelegated: String
|
||||
get() = "fail"
|
||||
|
||||
}
|
||||
|
||||
class Delegate : Test {
|
||||
override val test: String
|
||||
get() = "fail"
|
||||
|
||||
override val testDelegated: String
|
||||
get() = "K"
|
||||
}
|
||||
|
||||
class TestClass(val foo: Test) : Test by foo
|
||||
|
||||
fun box(): String {
|
||||
val testClass = TestClass(Delegate())
|
||||
return testClass.test + testClass.testDelegated
|
||||
}
|
||||
Reference in New Issue
Block a user