| 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 |