JVM_IR nullability assertions test for indy lambdas

KT-44278 KT-26060 KT-42621
This commit is contained in:
Dmitry Petrov
2021-02-10 15:25:47 +03:00
parent 4ab242ed51
commit 5013344bc4
6 changed files with 47 additions and 2 deletions
@@ -19787,6 +19787,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT
runTest("compiler/testData/codegen/box/invokedynamic/lambdas/nestedIndyLambdas.kt");
}
@Test
@TestMetadata("nullabilityAssertions.kt")
public void testNullabilityAssertions() throws Exception {
runTest("compiler/testData/codegen/box/invokedynamic/lambdas/nullabilityAssertions.kt");
}
@Test
@TestMetadata("primitiveValueParameters.kt")
public void testPrimitiveValueParameters() throws Exception {
@@ -0,0 +1,24 @@
// TARGET_BACKEND: JVM
// JVM_TARGET: 1.8
// LAMBDAS: INDY
// WITH_RUNTIME
// FILE: nullabilityAssertions.kt
fun box(): String {
val fn: (String) -> String = { it }
try {
J.test(fn)
} catch (e: NullPointerException) {
return "OK"
}
return "Should throw NullPointerException"
}
// FILE: J.java
import kotlin.jvm.functions.Function1;
public class J {
public static void test(Function1<String, String> fn) {
fn.invoke(null);
}
}
@@ -3,8 +3,6 @@
// SAM_CONVERSIONS: INDY
// FILE: nullabilityAssertions.kt
fun box(): String {
fun justSomeLocalFun() {}
try {
A.bar {}
} catch (e: NullPointerException) {
@@ -19787,6 +19787,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
runTest("compiler/testData/codegen/box/invokedynamic/lambdas/nestedIndyLambdas.kt");
}
@Test
@TestMetadata("nullabilityAssertions.kt")
public void testNullabilityAssertions() throws Exception {
runTest("compiler/testData/codegen/box/invokedynamic/lambdas/nullabilityAssertions.kt");
}
@Test
@TestMetadata("primitiveValueParameters.kt")
public void testPrimitiveValueParameters() throws Exception {
@@ -19787,6 +19787,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
runTest("compiler/testData/codegen/box/invokedynamic/lambdas/nestedIndyLambdas.kt");
}
@Test
@TestMetadata("nullabilityAssertions.kt")
public void testNullabilityAssertions() throws Exception {
runTest("compiler/testData/codegen/box/invokedynamic/lambdas/nullabilityAssertions.kt");
}
@Test
@TestMetadata("primitiveValueParameters.kt")
public void testPrimitiveValueParameters() throws Exception {
@@ -16577,6 +16577,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
runTest("compiler/testData/codegen/box/invokedynamic/lambdas/nestedIndyLambdas.kt");
}
@TestMetadata("nullabilityAssertions.kt")
public void testNullabilityAssertions() throws Exception {
runTest("compiler/testData/codegen/box/invokedynamic/lambdas/nullabilityAssertions.kt");
}
@TestMetadata("primitiveValueParameters.kt")
public void testPrimitiveValueParameters() throws Exception {
runTest("compiler/testData/codegen/box/invokedynamic/lambdas/primitiveValueParameters.kt");