JVM_IR: Do not unbox Result parameter if it not only one inline class

parameter, since in this case, the compiler generates a bridge, where
the result is unboxed.
This commit is contained in:
Ilmir Usmanov
2021-01-20 17:06:10 +01:00
parent d48f92775b
commit 952576e98f
12 changed files with 187 additions and 0 deletions
@@ -17684,6 +17684,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/funInterface/result.kt");
}
@Test
@TestMetadata("resultAny.kt")
public void testResultAny() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/funInterface/resultAny.kt");
}
@Test
@TestMetadata("string.kt")
public void testString() throws Exception {
@@ -17736,6 +17742,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/lambda/result.kt");
}
@Test
@TestMetadata("resultAny.kt")
public void testResultAny() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/lambda/resultAny.kt");
}
@Test
@TestMetadata("string.kt")
public void testString() throws Exception {
@@ -17788,6 +17800,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/objectLiteral/result.kt");
}
@Test
@TestMetadata("resultAny.kt")
public void testResultAny() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/objectLiteral/resultAny.kt");
}
@Test
@TestMetadata("string.kt")
public void testString() throws Exception {
@@ -17684,6 +17684,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/funInterface/result.kt");
}
@Test
@TestMetadata("resultAny.kt")
public void testResultAny() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/funInterface/resultAny.kt");
}
@Test
@TestMetadata("string.kt")
public void testString() throws Exception {
@@ -17736,6 +17742,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/lambda/result.kt");
}
@Test
@TestMetadata("resultAny.kt")
public void testResultAny() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/lambda/resultAny.kt");
}
@Test
@TestMetadata("string.kt")
public void testString() throws Exception {
@@ -17788,6 +17800,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/objectLiteral/result.kt");
}
@Test
@TestMetadata("resultAny.kt")
public void testResultAny() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/objectLiteral/resultAny.kt");
}
@Test
@TestMetadata("string.kt")
public void testString() throws Exception {