// TARGET_BACKEND: JVM // FILE: JavaClass.java public abstract class JavaClass { public static String test() { return Test.INSTANCE.foo(new Outer("OK").new Inner(1)); } } // FILE: Kotlin.kt class Outer(val x: E) { inner class Inner(val y: F) { fun foo() = x.toString() + y.toString() } } object Test { fun foo(x: Outer.Inner) = x.foo() } fun box(): String { val result = JavaClass.test() if (result != "OK1") return "Fail: $result" return "OK" }