blob: 7aa0a0d4a7acd590ff4d09df5ae12c6cbf20ead4 [file] [log] [blame]
// FILE: test.kt
inline fun <reified T> test(x: T, p: String = "OK"): T {
return object { fun f() = p as T }.f()
}
fun box() : String {
return test("Fail")
}
// The test and test$default methods use the *same* anonymous object
// 2 INVOKESPECIAL TestKt\$test\$1.<init> \(Ljava/lang/String;\)V
// The box method has to regenerate it to instantiate the reified type parameter,
// but the name of the regenerated object differs between the JVM and JVM IR backends.
// JVM_TEMPLATES:
// 1 INVOKESPECIAL TestKt\$box\$\$inlined\$test\$1.<init> \(Ljava/lang/String;\)V
// JVM_IR_TEMPLATES:
// 1 INVOKESPECIAL TestKt\$box\$\$inlined\$test\$default\$1.<init> \(Ljava/lang/String;\)V