blob: 5eade3750198055f012896ccf22e9f3ece756c7c [file] [log] [blame]
fun box(): String {
var encl1 = "fail";
test {
{
{
encl1 = "OK"
}()
}()
}
return encl1
}
inline fun test(crossinline s: () -> Unit) {
{
{
s()
}()
}()
}
// 2 INNERCLASS Kt10259_3Kt\$box\$\$inlined\$test\$1\s
// 2 INNERCLASS Kt10259_3Kt\$box\$\$inlined\$test\$1\$1\s
// JVM_TEMPLATES
// 13 INNERCLASS
// 3 INNERCLASS Kt10259_3Kt\$test\$1 null
// 2 INNERCLASS Kt10259_3Kt\$test\$1\$1
// inlined:
// 2 INNERCLASS Kt10259_3Kt\$box\$\$inlined\$test\$1\$1\$lambda\$1\s
// 2 INNERCLASS Kt10259_3Kt\$box\$\$inlined\$test\$1\$1\$lambda\$1\$1\s
// NB JVM_IR generates
// final static INNERCLASS Kt10259_3Kt$box$1$1 null null
// public final static INNERCLASS Kt10259_3Kt$test$1 null null
// in Kt10259_3Kt.
// Although Oracle JVM doesn't check for consistency of InnerClasses attributes,
// this behavior is equivalent to javac and seems to be correct.
// JVM_IR_TEMPLATES
// 14 INNERCLASS
// 3 INNERCLASS Kt10259_3Kt\$box\$1\$1\s
// 2 INNERCLASS Kt10259_3Kt\$box\$1\$1\$1\s
// 3 INNERCLASS Kt10259_3Kt\$test\$1\s
// 2 INNERCLASS Kt10259_3Kt\$test\$1\$1\s