mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-08 15:53:19 +00:00
40 lines
794 B
Kotlin
Vendored
40 lines
794 B
Kotlin
Vendored
// FILE: Custom.java
|
|
|
|
class Custom<K, V> {
|
|
private K k;
|
|
|
|
private V v;
|
|
|
|
public Custom(K k, V v) {
|
|
this.k = k;
|
|
this.v = v;
|
|
}
|
|
|
|
public interface MBiConsumer<T, U> {
|
|
void accept(T t, U u);
|
|
}
|
|
|
|
public void forEach(MBiConsumer<? super K, ? super V> action) {
|
|
action.accept(k, v);
|
|
}
|
|
}
|
|
|
|
// FILE: 1.kt
|
|
|
|
import java.util.Arrays
|
|
|
|
fun box(): String {
|
|
val instance = Custom<String, String>("O", "K")
|
|
var result = "fail"
|
|
instance.forEach { a, b ->
|
|
result = a + b
|
|
}
|
|
|
|
val superInterfaces = Arrays.toString((Class.forName("_1Kt\$box$1")).genericInterfaces)
|
|
if (superInterfaces != "[Custom.Custom\$MBiConsumer<java.lang.String, java.lang.String>]") {
|
|
return "fail: $superInterfaces"
|
|
}
|
|
|
|
return result
|
|
}
|