Do not generate useless methods inside wrapper for inline class

Fix for test data (inlineFunctionInsideInlineClassesBox.kt) is needed
 to avoid check about "no inline functions".

 This check has two steps: first, names of inline functions from
 the metadata are loaded, then these names are checked that they are
 presented for physical methods in the classfile.

 Because now there are no physical methods in the classfile, we can't pass
 the second check, therefore this fix is needed.

 #KT-24872 Fixed
This commit is contained in:
Mikhail Zarechenskiy
2018-08-05 05:24:26 +03:00
parent fcbcabd3a2
commit 1497c19dc9
7 changed files with 26 additions and 17 deletions

View File

@@ -12,7 +12,7 @@ inline class Foo(val x: Int) {
}
}
// 2 INVOKESTATIC Foo\$Erased.empty \(I\)V
// 2 INVOKESTATIC Foo\$Erased.withParam \(ILjava/lang/String;\)V
// 2 INVOKESTATIC Foo\$Erased.withInlineClassParam \(II\)V
// 1 INVOKESTATIC Foo\$Erased.empty \(I\)V
// 1 INVOKESTATIC Foo\$Erased.withParam \(ILjava/lang/String;\)V
// 1 INVOKESTATIC Foo\$Erased.withInlineClassParam \(II\)V
// 5 INVOKEVIRTUAL