Files
kotlin-fork/compiler/testData/codegen/box/delegation/diamond2.kt
T
Alexander Udalov 7b5544ebd3 Use -source/target 1.6 for Java sources in codegen tests
In cases when the test has the JVM_TARGET directive, use that one for
Java compilation as well.

Otherwise, for box tests, the corresponding test in `JvmTarget6OnJvm6`
(module `:compiler:tests-different-jdk`) will fail. However, it affects
all codegen tests, so fix a bunch of them which use Java 8+ features to
explicitly compile with JVM target 1.8. In particular, this obsoletes
the SKIP_JDK6 directive in those tests because "JVM_TARGET: 1.8" also
skips it for JDK 6.

The check for IS_SOURCE_6_STILL_SUPPORTED is needed in order to still be
able to run tests in the project while only having a single JDK > 11
installed, and having all of the env vars JDK_16, JDK_17, JDK_18
pointing to that JDK.
2020-11-18 18:43:43 +01:00

38 lines
548 B
Kotlin
Vendored

// TARGET_BACKEND: JVM
// FILE: Base.java
public interface Base {
String getValue();
default String test()
{
return getValue();
}
}
// FILE: Base2.java
public interface Base2 extends Base {
}
// FILE: main.kt
// JVM_TARGET: 1.8
interface KBase : Base {
override fun test() = "O" + getValue()
}
interface Derived : KBase, Base2
class K : Derived {
override fun getValue() = "K"
}
fun box(): String {
val z = object : Derived by K() {
override fun getValue() = "Fail"
}
return z.test()
}