mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-08 08:31:26 +00:00
40 lines
644 B
Kotlin
Vendored
40 lines
644 B
Kotlin
Vendored
// FILE: Super.java
|
|
|
|
class Super {
|
|
public String lastCalled = null;
|
|
|
|
void foo(Runnable r) {
|
|
lastCalled = "super";
|
|
}
|
|
}
|
|
|
|
// FILE: Sub.java
|
|
|
|
import kotlin.jvm.functions.Function0;
|
|
import kotlin.Unit;
|
|
|
|
class Sub extends Super {
|
|
void foo(Function0<Unit> r) {
|
|
lastCalled = "sub";
|
|
}
|
|
}
|
|
|
|
// FILE: 1.kt
|
|
|
|
fun box(): String {
|
|
val sub = Sub()
|
|
val sup: Super = sub
|
|
|
|
sup.foo{ }
|
|
if (sub.lastCalled != "super") {
|
|
return "FAIL: ${sub.lastCalled} instead of super"
|
|
}
|
|
|
|
sub.foo{ }
|
|
if (sub.lastCalled != "sub") {
|
|
return "FAIL: ${sub.lastCalled} instead of sub"
|
|
}
|
|
|
|
return "OK"
|
|
}
|