// SKIP_JDK6 // IGNORE_BACKEND: JVM_IR // WITH_RUNTIME // FILE: JavaClass.java class JavaClass { interface Computable { T compute(); } static T compute(Computable computable) { return computable.compute(); } } // FILE: 1.kt import java.util.Arrays fun box(): String { val r: JavaClass.Computable = JavaClass.Computable { "OK" } val supertypes = Arrays.toString(r.javaClass.getGenericInterfaces()) if (supertypes != "[JavaClass\$Computable]") return "Fail: $supertypes" return JavaClass.compute(r)!! }