JVM_IR indy-SAM conversions: add more tests
KT-44278 KT-26060 KT-42621
This commit is contained in:
+12
@@ -18481,6 +18481,18 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT
|
|||||||
runTest("compiler/testData/codegen/box/invokedynamic/sam/simpleIndySam.kt");
|
runTest("compiler/testData/codegen/box/invokedynamic/sam/simpleIndySam.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("streamApi1.kt")
|
||||||
|
public void testStreamApi1() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/invokedynamic/sam/streamApi1.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("streamApi2.kt")
|
||||||
|
public void testStreamApi2() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/invokedynamic/sam/streamApi2.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("suspendFunInterface.kt")
|
@TestMetadata("suspendFunInterface.kt")
|
||||||
public void testSuspendFunInterface() throws Exception {
|
public void testSuspendFunInterface() throws Exception {
|
||||||
|
|||||||
+16
@@ -3923,6 +3923,22 @@ public class FirBytecodeTextTestGenerated extends AbstractFirBytecodeTextTest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nested
|
||||||
|
@TestMetadata("compiler/testData/codegen/bytecodeText/invokedynamic")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
public class Invokedynamic extends AbstractFirBytecodeTextTest {
|
||||||
|
@Test
|
||||||
|
public void testAllFilesPresentInInvokedynamic() throws Exception {
|
||||||
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/invokedynamic"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("streamApi.kt")
|
||||||
|
public void testStreamApi() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/bytecodeText/invokedynamic/streamApi.kt");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Nested
|
@Nested
|
||||||
@TestMetadata("compiler/testData/codegen/bytecodeText/jvm8")
|
@TestMetadata("compiler/testData/codegen/bytecodeText/jvm8")
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
// TARGET_BACKEND: JVM
|
||||||
|
// JVM_TARGET: 1.8
|
||||||
|
// SAM_CONVERSIONS: INDY
|
||||||
|
// WITH_RUNTIME
|
||||||
|
// FULL_JDK
|
||||||
|
import java.util.stream.Collectors
|
||||||
|
|
||||||
|
fun box(): String {
|
||||||
|
return listOf("o", "k")
|
||||||
|
.stream()
|
||||||
|
.map { it.toUpperCase() }
|
||||||
|
.collect(Collectors.joining())
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
// TARGET_BACKEND: JVM
|
||||||
|
// JVM_TARGET: 1.8
|
||||||
|
// SAM_CONVERSIONS: INDY
|
||||||
|
// WITH_RUNTIME
|
||||||
|
// FULL_JDK
|
||||||
|
import java.util.stream.*
|
||||||
|
|
||||||
|
fun box(): String {
|
||||||
|
val xs = IntStream.of(1, 1, 4, 5, 1, 4)
|
||||||
|
.map { a: Int -> a + 1 }
|
||||||
|
.map { a: Int -> a - 1 }
|
||||||
|
.filter { a: Int -> a > 3 }
|
||||||
|
.flatMap { a: Int -> IntStream.of(a, a, a) }
|
||||||
|
.boxed()
|
||||||
|
.collect(Collectors.toList())
|
||||||
|
|
||||||
|
if (xs != listOf(4, 4, 4, 5, 5, 5, 4, 4, 4))
|
||||||
|
return "Failed: xs=$xs"
|
||||||
|
|
||||||
|
return "OK"
|
||||||
|
}
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
// TARGET_BACKEND: JVM
|
||||||
|
// JVM_TARGET: 1.8
|
||||||
|
// SAM_CONVERSIONS: INDY
|
||||||
|
// WITH_RUNTIME
|
||||||
|
// FULL_JDK
|
||||||
|
import java.util.stream.*
|
||||||
|
|
||||||
|
fun test() =
|
||||||
|
IntStream.of(1, 1, 4, 5, 1, 4)
|
||||||
|
.map { a: Int -> a + 1 }
|
||||||
|
.map { a: Int -> a - 1 }
|
||||||
|
.filter { a: Int -> a > 3 }
|
||||||
|
.flatMap { a: Int -> IntStream.of(a, a, a) }
|
||||||
|
.boxed()
|
||||||
|
.collect(Collectors.toList())
|
||||||
|
|
||||||
|
// JVM_IR_TEMPLATES
|
||||||
|
// 4 INVOKEDYNAMIC
|
||||||
|
// 0 class StreamApiKt\$test\$
|
||||||
|
|
||||||
|
// JVM_TEMPLATES
|
||||||
|
// 0 INVOKEDYNAMIC
|
||||||
|
// 4 class StreamApiKt\$test\$
|
||||||
+12
@@ -18481,6 +18481,18 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
|
|||||||
runTest("compiler/testData/codegen/box/invokedynamic/sam/simpleIndySam.kt");
|
runTest("compiler/testData/codegen/box/invokedynamic/sam/simpleIndySam.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("streamApi1.kt")
|
||||||
|
public void testStreamApi1() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/invokedynamic/sam/streamApi1.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("streamApi2.kt")
|
||||||
|
public void testStreamApi2() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/invokedynamic/sam/streamApi2.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("suspendFunInterface.kt")
|
@TestMetadata("suspendFunInterface.kt")
|
||||||
public void testSuspendFunInterface() throws Exception {
|
public void testSuspendFunInterface() throws Exception {
|
||||||
|
|||||||
+16
@@ -3791,6 +3791,22 @@ public class BytecodeTextTestGenerated extends AbstractBytecodeTextTest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nested
|
||||||
|
@TestMetadata("compiler/testData/codegen/bytecodeText/invokedynamic")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
public class Invokedynamic extends AbstractBytecodeTextTest {
|
||||||
|
@Test
|
||||||
|
public void testAllFilesPresentInInvokedynamic() throws Exception {
|
||||||
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/invokedynamic"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("streamApi.kt")
|
||||||
|
public void testStreamApi() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/bytecodeText/invokedynamic/streamApi.kt");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Nested
|
@Nested
|
||||||
@TestMetadata("compiler/testData/codegen/bytecodeText/jvm8")
|
@TestMetadata("compiler/testData/codegen/bytecodeText/jvm8")
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
|||||||
+12
@@ -18481,6 +18481,18 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
|
|||||||
runTest("compiler/testData/codegen/box/invokedynamic/sam/simpleIndySam.kt");
|
runTest("compiler/testData/codegen/box/invokedynamic/sam/simpleIndySam.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("streamApi1.kt")
|
||||||
|
public void testStreamApi1() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/invokedynamic/sam/streamApi1.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("streamApi2.kt")
|
||||||
|
public void testStreamApi2() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/invokedynamic/sam/streamApi2.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("suspendFunInterface.kt")
|
@TestMetadata("suspendFunInterface.kt")
|
||||||
public void testSuspendFunInterface() throws Exception {
|
public void testSuspendFunInterface() throws Exception {
|
||||||
|
|||||||
+16
@@ -3923,6 +3923,22 @@ public class IrBytecodeTextTestGenerated extends AbstractIrBytecodeTextTest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nested
|
||||||
|
@TestMetadata("compiler/testData/codegen/bytecodeText/invokedynamic")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
public class Invokedynamic extends AbstractIrBytecodeTextTest {
|
||||||
|
@Test
|
||||||
|
public void testAllFilesPresentInInvokedynamic() throws Exception {
|
||||||
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/invokedynamic"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("streamApi.kt")
|
||||||
|
public void testStreamApi() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/bytecodeText/invokedynamic/streamApi.kt");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Nested
|
@Nested
|
||||||
@TestMetadata("compiler/testData/codegen/bytecodeText/jvm8")
|
@TestMetadata("compiler/testData/codegen/bytecodeText/jvm8")
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
|||||||
+10
@@ -16203,6 +16203,16 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
|
|||||||
runTest("compiler/testData/codegen/box/invokedynamic/sam/simpleIndySam.kt");
|
runTest("compiler/testData/codegen/box/invokedynamic/sam/simpleIndySam.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("streamApi1.kt")
|
||||||
|
public void testStreamApi1() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/invokedynamic/sam/streamApi1.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("streamApi2.kt")
|
||||||
|
public void testStreamApi2() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/invokedynamic/sam/streamApi2.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("suspendFunInterface.kt")
|
@TestMetadata("suspendFunInterface.kt")
|
||||||
public void testSuspendFunInterface() throws Exception {
|
public void testSuspendFunInterface() throws Exception {
|
||||||
runTest("compiler/testData/codegen/box/invokedynamic/sam/suspendFunInterface.kt");
|
runTest("compiler/testData/codegen/box/invokedynamic/sam/suspendFunInterface.kt");
|
||||||
|
|||||||
Reference in New Issue
Block a user