Add tests for KT-48180

This commit is contained in:
pyos
2021-08-10 11:16:22 +02:00
committed by Mikhael Bogdanov
parent ff6de0fe6a
commit d3de0109ca
14 changed files with 231 additions and 0 deletions

View File

@@ -1739,6 +1739,12 @@ public class FirBlackBoxInlineCodegenTestGenerated extends AbstractFirBlackBoxIn
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/checkStaticObjectClassIsPresent.kt");
}
@Test
@TestMetadata("defaultAfterCapturing.kt")
public void testDefaultAfterCapturing() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/defaultAfterCapturing.kt");
}
@Test
@TestMetadata("defaultCallInDefaultLambda.kt")
public void testDefaultCallInDefaultLambda() throws Exception {
@@ -1853,6 +1859,12 @@ public class FirBlackBoxInlineCodegenTestGenerated extends AbstractFirBlackBoxIn
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/receiverClashInClass2.kt");
}
@Test
@TestMetadata("reordering.kt")
public void testReordering() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/reordering.kt");
}
@Test
@TestMetadata("simple.kt")
public void testSimple() throws Exception {
@@ -1970,6 +1982,12 @@ public class FirBlackBoxInlineCodegenTestGenerated extends AbstractFirBlackBoxIn
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/callableReferences/constuctorReference.kt");
}
@Test
@TestMetadata("defaultAfterBoundReference.kt")
public void testDefaultAfterBoundReference() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/callableReferences/defaultAfterBoundReference.kt");
}
@Test
@TestMetadata("differentInvokeSignature.kt")
public void testDifferentInvokeSignature() throws Exception {

View File

@@ -0,0 +1,12 @@
// NO_CHECK_LAMBDA_INLINING
// FILE: 1.kt
package test
inline fun foo(x: () -> String, y: () -> String, z: () -> String = { "" }) =
x() + y() + z()
// FILE: 2.kt
import test.*
fun box(): String = foo("O"::toString, { "K" })

View File

@@ -0,0 +1,15 @@
// NO_CHECK_LAMBDA_INLINING
// FILE: 1.kt
package test
inline fun foo(unused: Long, x: () -> String, y: () -> String, z: () -> String = { "" }) =
x() + y() + z()
// FILE: 2.kt
import test.*
fun box(): String {
val O = "O"
return foo(1L, { O }, { "K" })
}

View File

@@ -0,0 +1,15 @@
// NO_CHECK_LAMBDA_INLINING
// FILE: 1.kt
package test
// This reproduces KT-48180 without captures in the old backend.
// 0 1 2 3 4
inline fun foo(a: Int, b: () -> String, c: () -> String = { "K" }, d: Int = 1, e: Long = 1L) =
b() + c()
// FILE: 2.kt
import test.*
// This is why we can't compute offsets while generating arguments:
// 0 2 [3 is c] 4 5
fun box() = foo(e = 2L, b = { "O" }, d = 1, a = 1)

View File

@@ -1727,6 +1727,12 @@ public class BlackBoxInlineCodegenTestGenerated extends AbstractBlackBoxInlineCo
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/checkStaticObjectClassIsPresent.kt");
}
@Test
@TestMetadata("defaultAfterCapturing.kt")
public void testDefaultAfterCapturing() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/defaultAfterCapturing.kt");
}
@Test
@TestMetadata("defaultCallInDefaultLambda.kt")
public void testDefaultCallInDefaultLambda() throws Exception {
@@ -1841,6 +1847,12 @@ public class BlackBoxInlineCodegenTestGenerated extends AbstractBlackBoxInlineCo
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/receiverClashInClass2.kt");
}
@Test
@TestMetadata("reordering.kt")
public void testReordering() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/reordering.kt");
}
@Test
@TestMetadata("simple.kt")
public void testSimple() throws Exception {
@@ -1958,6 +1970,12 @@ public class BlackBoxInlineCodegenTestGenerated extends AbstractBlackBoxInlineCo
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/callableReferences/constuctorReference.kt");
}
@Test
@TestMetadata("defaultAfterBoundReference.kt")
public void testDefaultAfterBoundReference() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/callableReferences/defaultAfterBoundReference.kt");
}
@Test
@TestMetadata("differentInvokeSignature.kt")
public void testDifferentInvokeSignature() throws Exception {

View File

@@ -1727,6 +1727,12 @@ public class CompileKotlinAgainstInlineKotlinTestGenerated extends AbstractCompi
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/checkStaticObjectClassIsPresent.kt");
}
@Test
@TestMetadata("defaultAfterCapturing.kt")
public void testDefaultAfterCapturing() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/defaultAfterCapturing.kt");
}
@Test
@TestMetadata("defaultCallInDefaultLambda.kt")
public void testDefaultCallInDefaultLambda() throws Exception {
@@ -1841,6 +1847,12 @@ public class CompileKotlinAgainstInlineKotlinTestGenerated extends AbstractCompi
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/receiverClashInClass2.kt");
}
@Test
@TestMetadata("reordering.kt")
public void testReordering() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/reordering.kt");
}
@Test
@TestMetadata("simple.kt")
public void testSimple() throws Exception {
@@ -1958,6 +1970,12 @@ public class CompileKotlinAgainstInlineKotlinTestGenerated extends AbstractCompi
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/callableReferences/constuctorReference.kt");
}
@Test
@TestMetadata("defaultAfterBoundReference.kt")
public void testDefaultAfterBoundReference() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/callableReferences/defaultAfterBoundReference.kt");
}
@Test
@TestMetadata("differentInvokeSignature.kt")
public void testDifferentInvokeSignature() throws Exception {

View File

@@ -1739,6 +1739,12 @@ public class IrBlackBoxInlineCodegenTestGenerated extends AbstractIrBlackBoxInli
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/checkStaticObjectClassIsPresent.kt");
}
@Test
@TestMetadata("defaultAfterCapturing.kt")
public void testDefaultAfterCapturing() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/defaultAfterCapturing.kt");
}
@Test
@TestMetadata("defaultCallInDefaultLambda.kt")
public void testDefaultCallInDefaultLambda() throws Exception {
@@ -1853,6 +1859,12 @@ public class IrBlackBoxInlineCodegenTestGenerated extends AbstractIrBlackBoxInli
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/receiverClashInClass2.kt");
}
@Test
@TestMetadata("reordering.kt")
public void testReordering() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/reordering.kt");
}
@Test
@TestMetadata("simple.kt")
public void testSimple() throws Exception {
@@ -1970,6 +1982,12 @@ public class IrBlackBoxInlineCodegenTestGenerated extends AbstractIrBlackBoxInli
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/callableReferences/constuctorReference.kt");
}
@Test
@TestMetadata("defaultAfterBoundReference.kt")
public void testDefaultAfterBoundReference() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/callableReferences/defaultAfterBoundReference.kt");
}
@Test
@TestMetadata("differentInvokeSignature.kt")
public void testDifferentInvokeSignature() throws Exception {

View File

@@ -1739,6 +1739,12 @@ public class IrCompileKotlinAgainstInlineKotlinTestGenerated extends AbstractIrC
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/checkStaticObjectClassIsPresent.kt");
}
@Test
@TestMetadata("defaultAfterCapturing.kt")
public void testDefaultAfterCapturing() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/defaultAfterCapturing.kt");
}
@Test
@TestMetadata("defaultCallInDefaultLambda.kt")
public void testDefaultCallInDefaultLambda() throws Exception {
@@ -1853,6 +1859,12 @@ public class IrCompileKotlinAgainstInlineKotlinTestGenerated extends AbstractIrC
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/receiverClashInClass2.kt");
}
@Test
@TestMetadata("reordering.kt")
public void testReordering() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/reordering.kt");
}
@Test
@TestMetadata("simple.kt")
public void testSimple() throws Exception {
@@ -1970,6 +1982,12 @@ public class IrCompileKotlinAgainstInlineKotlinTestGenerated extends AbstractIrC
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/callableReferences/constuctorReference.kt");
}
@Test
@TestMetadata("defaultAfterBoundReference.kt")
public void testDefaultAfterBoundReference() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/callableReferences/defaultAfterBoundReference.kt");
}
@Test
@TestMetadata("differentInvokeSignature.kt")
public void testDifferentInvokeSignature() throws Exception {

View File

@@ -1739,6 +1739,12 @@ public class IrSerializeCompileKotlinAgainstInlineKotlinTestGenerated extends Ab
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/checkStaticObjectClassIsPresent.kt");
}
@Test
@TestMetadata("defaultAfterCapturing.kt")
public void testDefaultAfterCapturing() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/defaultAfterCapturing.kt");
}
@Test
@TestMetadata("defaultCallInDefaultLambda.kt")
public void testDefaultCallInDefaultLambda() throws Exception {
@@ -1853,6 +1859,12 @@ public class IrSerializeCompileKotlinAgainstInlineKotlinTestGenerated extends Ab
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/receiverClashInClass2.kt");
}
@Test
@TestMetadata("reordering.kt")
public void testReordering() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/reordering.kt");
}
@Test
@TestMetadata("simple.kt")
public void testSimple() throws Exception {
@@ -1970,6 +1982,12 @@ public class IrSerializeCompileKotlinAgainstInlineKotlinTestGenerated extends Ab
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/callableReferences/constuctorReference.kt");
}
@Test
@TestMetadata("defaultAfterBoundReference.kt")
public void testDefaultAfterBoundReference() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/callableReferences/defaultAfterBoundReference.kt");
}
@Test
@TestMetadata("differentInvokeSignature.kt")
public void testDifferentInvokeSignature() throws Exception {

View File

@@ -1739,6 +1739,12 @@ public class JvmIrAgainstOldBoxInlineTestGenerated extends AbstractJvmIrAgainstO
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/checkStaticObjectClassIsPresent.kt");
}
@Test
@TestMetadata("defaultAfterCapturing.kt")
public void testDefaultAfterCapturing() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/defaultAfterCapturing.kt");
}
@Test
@TestMetadata("defaultCallInDefaultLambda.kt")
public void testDefaultCallInDefaultLambda() throws Exception {
@@ -1853,6 +1859,12 @@ public class JvmIrAgainstOldBoxInlineTestGenerated extends AbstractJvmIrAgainstO
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/receiverClashInClass2.kt");
}
@Test
@TestMetadata("reordering.kt")
public void testReordering() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/reordering.kt");
}
@Test
@TestMetadata("simple.kt")
public void testSimple() throws Exception {
@@ -1970,6 +1982,12 @@ public class JvmIrAgainstOldBoxInlineTestGenerated extends AbstractJvmIrAgainstO
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/callableReferences/constuctorReference.kt");
}
@Test
@TestMetadata("defaultAfterBoundReference.kt")
public void testDefaultAfterBoundReference() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/callableReferences/defaultAfterBoundReference.kt");
}
@Test
@TestMetadata("differentInvokeSignature.kt")
public void testDifferentInvokeSignature() throws Exception {

View File

@@ -1727,6 +1727,12 @@ public class JvmOldAgainstIrBoxInlineTestGenerated extends AbstractJvmOldAgainst
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/checkStaticObjectClassIsPresent.kt");
}
@Test
@TestMetadata("defaultAfterCapturing.kt")
public void testDefaultAfterCapturing() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/defaultAfterCapturing.kt");
}
@Test
@TestMetadata("defaultCallInDefaultLambda.kt")
public void testDefaultCallInDefaultLambda() throws Exception {
@@ -1841,6 +1847,12 @@ public class JvmOldAgainstIrBoxInlineTestGenerated extends AbstractJvmOldAgainst
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/receiverClashInClass2.kt");
}
@Test
@TestMetadata("reordering.kt")
public void testReordering() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/reordering.kt");
}
@Test
@TestMetadata("simple.kt")
public void testSimple() throws Exception {
@@ -1958,6 +1970,12 @@ public class JvmOldAgainstIrBoxInlineTestGenerated extends AbstractJvmOldAgainst
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/callableReferences/constuctorReference.kt");
}
@Test
@TestMetadata("defaultAfterBoundReference.kt")
public void testDefaultAfterBoundReference() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/callableReferences/defaultAfterBoundReference.kt");
}
@Test
@TestMetadata("differentInvokeSignature.kt")
public void testDifferentInvokeSignature() throws Exception {

View File

@@ -1366,6 +1366,11 @@ public class IrJsCodegenInlineES6TestGenerated extends AbstractIrJsCodegenInline
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/checkStaticObjectClassIsPresent.kt");
}
@TestMetadata("defaultAfterCapturing.kt")
public void testDefaultAfterCapturing() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/defaultAfterCapturing.kt");
}
@TestMetadata("defaultCallInDefaultLambda.kt")
public void testDefaultCallInDefaultLambda() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/defaultCallInDefaultLambda.kt");
@@ -1451,6 +1456,11 @@ public class IrJsCodegenInlineES6TestGenerated extends AbstractIrJsCodegenInline
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/receiverClashInClass2.kt");
}
@TestMetadata("reordering.kt")
public void testReordering() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/reordering.kt");
}
@TestMetadata("simple.kt")
public void testSimple() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/simple.kt");
@@ -1553,6 +1563,11 @@ public class IrJsCodegenInlineES6TestGenerated extends AbstractIrJsCodegenInline
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/callableReferences/constuctorReference.kt");
}
@TestMetadata("defaultAfterBoundReference.kt")
public void testDefaultAfterBoundReference() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/callableReferences/defaultAfterBoundReference.kt");
}
@TestMetadata("differentInvokeSignature.kt")
public void testDifferentInvokeSignature() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/callableReferences/differentInvokeSignature.kt");

View File

@@ -1366,6 +1366,11 @@ public class IrJsCodegenInlineTestGenerated extends AbstractIrJsCodegenInlineTes
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/checkStaticObjectClassIsPresent.kt");
}
@TestMetadata("defaultAfterCapturing.kt")
public void testDefaultAfterCapturing() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/defaultAfterCapturing.kt");
}
@TestMetadata("defaultCallInDefaultLambda.kt")
public void testDefaultCallInDefaultLambda() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/defaultCallInDefaultLambda.kt");
@@ -1451,6 +1456,11 @@ public class IrJsCodegenInlineTestGenerated extends AbstractIrJsCodegenInlineTes
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/receiverClashInClass2.kt");
}
@TestMetadata("reordering.kt")
public void testReordering() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/reordering.kt");
}
@TestMetadata("simple.kt")
public void testSimple() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/simple.kt");
@@ -1553,6 +1563,11 @@ public class IrJsCodegenInlineTestGenerated extends AbstractIrJsCodegenInlineTes
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/callableReferences/constuctorReference.kt");
}
@TestMetadata("defaultAfterBoundReference.kt")
public void testDefaultAfterBoundReference() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/callableReferences/defaultAfterBoundReference.kt");
}
@TestMetadata("differentInvokeSignature.kt")
public void testDifferentInvokeSignature() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/callableReferences/differentInvokeSignature.kt");

View File

@@ -1366,6 +1366,11 @@ public class JsCodegenInlineTestGenerated extends AbstractJsCodegenInlineTest {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/checkStaticObjectClassIsPresent.kt");
}
@TestMetadata("defaultAfterCapturing.kt")
public void testDefaultAfterCapturing() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/defaultAfterCapturing.kt");
}
@TestMetadata("defaultCallInDefaultLambda.kt")
public void testDefaultCallInDefaultLambda() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/defaultCallInDefaultLambda.kt");
@@ -1451,6 +1456,11 @@ public class JsCodegenInlineTestGenerated extends AbstractJsCodegenInlineTest {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/receiverClashInClass2.kt");
}
@TestMetadata("reordering.kt")
public void testReordering() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/reordering.kt");
}
@TestMetadata("simple.kt")
public void testSimple() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/simple.kt");
@@ -1553,6 +1563,11 @@ public class JsCodegenInlineTestGenerated extends AbstractJsCodegenInlineTest {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/callableReferences/constuctorReference.kt");
}
@TestMetadata("defaultAfterBoundReference.kt")
public void testDefaultAfterBoundReference() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/callableReferences/defaultAfterBoundReference.kt");
}
@TestMetadata("differentInvokeSignature.kt")
public void testDifferentInvokeSignature() throws Exception {
runTest("compiler/testData/codegen/boxInline/defaultValues/lambdaInlining/callableReferences/differentInvokeSignature.kt");