[JVM_IR] Deal with inline-class arguments in large arity lambdas.

FunctionNVarargBridgeLowering checked the name of the method instead
of whether the method overrides an invoke method. That doesn't work
when the name of the function gets mangled because of inline class
arguments.

Fixed KT-45084.
This commit is contained in:
Mads Ager
2021-05-06 14:08:49 +02:00
committed by Alexander Udalov
parent 1181854bd6
commit b6fa28ea81
10 changed files with 68 additions and 2 deletions
@@ -13276,6 +13276,11 @@ public class IrJsCodegenBoxES6TestGenerated extends AbstractIrJsCodegenBoxES6Tes
runTest("compiler/testData/codegen/box/inlineClasses/kt44978.kt");
}
@TestMetadata("kt45084.kt")
public void testKt45084() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/kt45084.kt");
}
@TestMetadata("kt45991.kt")
public void testKt45991() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/kt45991.kt");
@@ -12687,6 +12687,11 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/inlineClasses/kt44978.kt");
}
@TestMetadata("kt45084.kt")
public void testKt45084() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/kt45084.kt");
}
@TestMetadata("kt45991.kt")
public void testKt45991() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/kt45991.kt");
@@ -12752,6 +12752,11 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/inlineClasses/kt44978.kt");
}
@TestMetadata("kt45084.kt")
public void testKt45084() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/kt45084.kt");
}
@TestMetadata("kt45991.kt")
public void testKt45991() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/kt45991.kt");
@@ -6902,6 +6902,11 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest
runTest("compiler/testData/codegen/box/inlineClasses/kt44978.kt");
}
@TestMetadata("kt45084.kt")
public void testKt45084() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/kt45084.kt");
}
@TestMetadata("kt45991.kt")
public void testKt45991() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/kt45991.kt");