JVM_IR: use fresh source map when generating lambda body for inline.

This commit is contained in:
Jinseong Jeon
2020-03-10 00:36:25 -07:00
committed by max-kammerer
parent 72b80ef158
commit 2352b1fec5
7 changed files with 34 additions and 15 deletions
+3 -3
View File
@@ -17,18 +17,18 @@ inline fun test(s: () -> Unit) {
s()
}
// 4 INNERCLASS
// JVM_TEMPLATES
// 2 INNERCLASS Kt10259Kt\$box\$\$inlined\$test\$lambda\$1\s
// 2 INNERCLASS Kt10259Kt\$box\$\$inlined\$test\$lambda\$1\$1
// 4 INNERCLASS
// NB: JVM_IR generates 'INNERCLASS Kt10259Kt$box$1$1' in 'Kt10259Kt'.
// 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
// 3 INNERCLASS Kt10259Kt\$box\$1\$1\s
// 2 INNERCLASS Kt10259Kt\$box\$1\$1\s
// 2 INNERCLASS Kt10259Kt\$box\$1\$1\$1
// 5 INNERCLASS
// 1 class Kt10259Kt\$box\$1\$1\ extends
// 1 class Kt10259Kt\$box\$1\$1\$1 extends
+5 -7
View File
@@ -19,15 +19,16 @@ inline fun test(crossinline s: () -> Unit) {
}()
}
// 2 INNERCLASS Kt10259_3Kt\$box\$\$inlined\$test\$1\s
// 2 INNERCLASS Kt10259_3Kt\$box\$\$inlined\$test\$1\$1\s
// 13 INNERCLASS
// JVM_TEMPLATES
// 3 INNERCLASS Kt10259_3Kt\$test\$1 null
// 2 INNERCLASS Kt10259_3Kt\$test\$1\$1
// 2 INNERCLASS Kt10259_3Kt\$box\$\$inlined\$test\$1\s
// 2 INNERCLASS Kt10259_3Kt\$box\$\$inlined\$test\$1\$1\s
// 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
// 13 INNERCLASS
// NB JVM_IR generates
// final static INNERCLASS Kt10259_3Kt$box$1$1 null null
@@ -37,10 +38,7 @@ inline fun test(crossinline s: () -> Unit) {
// this behavior is equivalent to javac and seems to be correct.
// JVM_IR_TEMPLATES
// 3 INNERCLASS Kt10259_3Kt\$box\$1\$1\s
// 2 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
// 2 INNERCLASS Kt10259_3Kt\$box\$\$inlined\$test\$1\s
// 2 INNERCLASS Kt10259_3Kt\$box\$\$inlined\$test\$1\$1\s
// 14 INNERCLASS