Files
kotlin-fork/compiler/testData/codegen/box/smartCasts/kt19058.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

21 lines
350 B
Kotlin
Vendored

// TARGET_BACKEND: JVM
// JVM_TARGET: 1.8
// FILE: Test.kt
open class KFoo {
fun foo(): String {
if (this is KFooBar) return bar
throw AssertionError()
}
}
class KFooBar : KFoo(), JBar
fun box(): String = KFooBar().foo()
// FILE: JBar.java
public interface JBar {
default String getBar() {
return "OK";
}
}