JVM_IR indy-SAM conversions: prohibit in crossinline lambdas

KT-44278 KT-26060 KT-42621
This commit is contained in:
Dmitry Petrov
2021-01-27 15:39:48 +03:00
parent ad1d80d700
commit f0abd8bc68
16 changed files with 317 additions and 149 deletions
@@ -16183,6 +16183,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
runTest("compiler/testData/codegen/box/invokedynamic/sam/genericFunInterfaceWithPrimitive.kt");
}
@TestMetadata("possibleOverrideClash.kt")
public void testPossibleOverrideClash() throws Exception {
runTest("compiler/testData/codegen/box/invokedynamic/sam/possibleOverrideClash.kt");
}
@TestMetadata("primitiveVsWrapperInSam.kt")
public void testPrimitiveVsWrapperInSam() throws Exception {
runTest("compiler/testData/codegen/box/invokedynamic/sam/primitiveVsWrapperInSam.kt");
@@ -16218,6 +16223,39 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
runTest("compiler/testData/codegen/box/invokedynamic/sam/suspendFunInterface.kt");
}
@TestMetadata("compiler/testData/codegen/box/invokedynamic/sam/inline")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class Inline extends AbstractLightAnalysisModeTest {
private void runTest(String testDataFilePath) throws Exception {
KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM, testDataFilePath);
}
public void testAllFilesPresentInInline() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/invokedynamic/sam/inline"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM, true);
}
@TestMetadata("crossinlineLambda1.kt")
public void testCrossinlineLambda1() throws Exception {
runTest("compiler/testData/codegen/box/invokedynamic/sam/inline/crossinlineLambda1.kt");
}
@TestMetadata("crossinlineLambda2.kt")
public void testCrossinlineLambda2() throws Exception {
runTest("compiler/testData/codegen/box/invokedynamic/sam/inline/crossinlineLambda2.kt");
}
@TestMetadata("inlineFunInDifferentPackage.kt")
public void testInlineFunInDifferentPackage() throws Exception {
runTest("compiler/testData/codegen/box/invokedynamic/sam/inline/inlineFunInDifferentPackage.kt");
}
@TestMetadata("inlineLambda1.kt")
public void testInlineLambda1() throws Exception {
runTest("compiler/testData/codegen/box/invokedynamic/sam/inline/inlineLambda1.kt");
}
}
@TestMetadata("compiler/testData/codegen/box/invokedynamic/sam/inlineClassInSignature")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
@@ -16290,29 +16328,6 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
runTest("compiler/testData/codegen/box/invokedynamic/sam/inlineClassInSignature/genericFunInterfaceWithInlineString.kt");
}
}
@TestMetadata("compiler/testData/codegen/box/invokedynamic/sam/inlineContext")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class InlineContext extends AbstractLightAnalysisModeTest {
private void runTest(String testDataFilePath) throws Exception {
KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM, testDataFilePath);
}
public void testAllFilesPresentInInlineContext() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/invokedynamic/sam/inlineContext"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM, true);
}
@TestMetadata("inlineFunInDifferentPackage.kt")
public void testInlineFunInDifferentPackage() throws Exception {
runTest("compiler/testData/codegen/box/invokedynamic/sam/inlineContext/inlineFunInDifferentPackage.kt");
}
@TestMetadata("inlineLambda1.kt")
public void testInlineLambda1() throws Exception {
runTest("compiler/testData/codegen/box/invokedynamic/sam/inlineContext/inlineLambda1.kt");
}
}
}
}