Files
kotlin-fork/compiler/testData/codegen/box/javaInterop/kt43217.kt
T
vladislav.grechko 54858c2118 [FIR] Fix naming of local classes when serializing metadata
^KT-63655: Fixed
^KT-63901: Fixed
^KT-63988: Fixed
2024-02-07 12:30:50 +00:00

61 lines
1.2 KiB
Kotlin
Vendored

// TARGET_BACKEND: JVM
// JVM_TARGET: 1.8
// FILE: kt43217.kt
class A {
private val b =
object : DoubleExpression() {
override fun get(): Double {
return 0.0
}
}
val test: DoubleExpression = b
}
class C : DoubleExpression() {
override fun get() = 0.0
}
fun box(): String {
if (A().test.get() != 0.0) throw AssertionError("A().test.get() != 0.0")
if (C().get() != 0.0) throw AssertionError("C().get() != 0.0")
return "OK"
}
// FILE: DoubleExpression.java
import org.jetbrains.annotations.NotNull;
public abstract class DoubleExpression implements ObservableDouble {
@NotNull
@Override
public Object isEqualTo(double value) {
return null;
}
}
// FILE: ObservableValue.java
import org.jetbrains.annotations.NotNull;
public interface ObservableValue<T> {
@NotNull
T get();
@NotNull
default Object isEqualTo(@NotNull T value) {
return null;
}
}
// FILE: ObservableDouble.java
import org.jetbrains.annotations.NotNull;
public interface ObservableDouble extends ObservableValue<Double> {
@NotNull
Object isEqualTo(double value);
}