// TARGET_BACKEND: JVM // WITH_REFLECT package test class B interface A> { fun p(p: T): T { return p } val T.z : T? get() = null } fun box(): String { val defaultImpls = Class.forName("test.A\$DefaultImpls") val declaredMethod = defaultImpls.getDeclaredMethod("p", A::class.java, Any::class.java) if (declaredMethod.toGenericString() != "public static T test.A\$DefaultImpls.p(test.A,T)" && declaredMethod.toGenericString() != "public static ,T,L> T test.A\$DefaultImpls.p(test.A,T)") return "fail 1: ${declaredMethod.toGenericString()}" val declaredProperty = defaultImpls.getDeclaredMethod("getZ", A::class.java, Any::class.java) if (declaredProperty.toGenericString() != "public static T test.A\$DefaultImpls.getZ(test.A,T)" && declaredProperty.toGenericString() != "public static ,T> T test.A\$DefaultImpls.getZ(test.A,T)") return "fail 2: ${declaredProperty.toGenericString()}" return "OK" }