diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java index 7462f03ba8a..61b0449d660 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java @@ -19950,6 +19950,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/funInterface/ifaceChild.kt"); } + @Test + @TestMetadata("nullableResult.kt") + public void testNullableResult() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/funInterface/nullableResult.kt"); + } + @Test @TestMetadata("primitive.kt") public void testPrimitive() throws Exception { @@ -20008,6 +20014,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/lambda/ifaceChild.kt"); } + @Test + @TestMetadata("nullableResult.kt") + public void testNullableResult() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/lambda/nullableResult.kt"); + } + @Test @TestMetadata("primitive.kt") public void testPrimitive() throws Exception { @@ -20066,6 +20078,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/objectLiteral/ifaceChild.kt"); } + @Test + @TestMetadata("nullableResult.kt") + public void testNullableResult() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/objectLiteral/nullableResult.kt"); + } + @Test @TestMetadata("primitive.kt") public void testPrimitive() throws Exception { diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ExpressionCodegen.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ExpressionCodegen.kt index 159ef531a65..578ca432e8c 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ExpressionCodegen.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ExpressionCodegen.kt @@ -654,6 +654,8 @@ class ExpressionCodegen( // bridge to unbox it. Instead, we unbox it in the non-mangled function manually. private fun unboxResultIfNeeded(arg: IrGetValue) { if (arg.type.erasedUpperBound.fqNameWhenAvailable != StandardNames.RESULT_FQ_NAME) return + // Unlike inline callable reference arguments, nullable Result arguments are unboxed during coercion to not-null Result + if (arg.type.isNullable()) return // Do not unbox arguments of lambda, but unbox arguments of callable references if (irFunction.origin == IrDeclarationOrigin.LOCAL_FUNCTION_FOR_LAMBDA) return if (!onlyResultInlineClassParameters()) return diff --git a/compiler/testData/codegen/box/inlineClasses/callableReferences/let/any.kt b/compiler/testData/codegen/box/inlineClasses/callableReferences/let/any.kt index 1e68b5d1782..349099584df 100644 --- a/compiler/testData/codegen/box/inlineClasses/callableReferences/let/any.kt +++ b/compiler/testData/codegen/box/inlineClasses/callableReferences/let/any.kt @@ -6,17 +6,23 @@ object Foo { } fun bar(value: Value?) { - res = value?.value as String + res = value?.value as String? } } -var res = "FAIL" +var res: String? = "FAIL" fun box(): String { Value("OK").let(Foo::foo) if (res != "OK") return "FAIL 1: $res" - res = "FAIL" + res = "FAIL 2" Value("OK").let(Foo::bar) - return res + if (res != "OK") return "FAIL 3: $res" + res = "FAIL 4" + + null.let(Foo::bar) + if (res != null) return "FAIL 5: $res" + + return "OK" } \ No newline at end of file diff --git a/compiler/testData/codegen/box/inlineClasses/callableReferences/let/anyN.kt b/compiler/testData/codegen/box/inlineClasses/callableReferences/let/anyN.kt index baba06fb8bb..005f9cc3776 100644 --- a/compiler/testData/codegen/box/inlineClasses/callableReferences/let/anyN.kt +++ b/compiler/testData/codegen/box/inlineClasses/callableReferences/let/anyN.kt @@ -6,17 +6,23 @@ object Foo { } fun bar(value: Value?) { - res = value?.value as String + res = value?.value as String? } } -var res = "FAIL" +var res: String? = "FAIL" fun box(): String { Value("OK").let(Foo::foo) if (res != "OK") return "FAIL 1: $res" - res = "FAIL" + res = "FAIL 2" Value("OK").let(Foo::bar) - return res + if (res != "OK") return "FAIL 3: $res" + res = "FAIL 4" + + null.let(Foo::bar) + if (res != null) return "FAIL 5: $res" + + return "OK" } \ No newline at end of file diff --git a/compiler/testData/codegen/box/inlineClasses/callableReferences/let/int.kt b/compiler/testData/codegen/box/inlineClasses/callableReferences/let/int.kt index b1e80d89ed0..a2248b46499 100644 --- a/compiler/testData/codegen/box/inlineClasses/callableReferences/let/int.kt +++ b/compiler/testData/codegen/box/inlineClasses/callableReferences/let/int.kt @@ -6,11 +6,11 @@ object Foo { } fun bar(value: Value?) { - res = value?.value!! + res = value?.value } } -var res = 0 +var res: Int? = 0 fun box(): String { Value(42).let(Foo::foo) @@ -19,6 +19,10 @@ fun box(): String { Value(42).let(Foo::bar) if (res != 42) return "FAIL 2 $res" + res = 0 + + null.let(Foo::bar) + if (res != null) return "FAIL 3: $res" return "OK" } \ No newline at end of file diff --git a/compiler/testData/codegen/box/inlineClasses/callableReferences/let/intN.kt b/compiler/testData/codegen/box/inlineClasses/callableReferences/let/intN.kt index cbb86d633f6..8d1411c3761 100644 --- a/compiler/testData/codegen/box/inlineClasses/callableReferences/let/intN.kt +++ b/compiler/testData/codegen/box/inlineClasses/callableReferences/let/intN.kt @@ -2,15 +2,15 @@ inline class Value(val value: Int?) object Foo { fun foo(value: Value) { - res = value.value!! + res = value.value } fun bar(value: Value?) { - res = value?.value!! + res = value?.value } } -var res = 0 +var res: Int? = 0 fun box(): String { Value(42).let(Foo::foo) @@ -19,6 +19,10 @@ fun box(): String { Value(42).let(Foo::bar) if (res != 42) return "FAIL 2 $res" + res = 0 + + null.let(Foo::bar) + if (res != null) return "FAIL 3: $res" return "OK" } \ No newline at end of file diff --git a/compiler/testData/codegen/box/inlineClasses/callableReferences/let/result.kt b/compiler/testData/codegen/box/inlineClasses/callableReferences/let/result.kt index 9fc9f2473f9..08f7cea580d 100644 --- a/compiler/testData/codegen/box/inlineClasses/callableReferences/let/result.kt +++ b/compiler/testData/codegen/box/inlineClasses/callableReferences/let/result.kt @@ -4,21 +4,26 @@ object Foo { fun foo(result: Result) { - res = result.getOrNull()!! + res = result.getOrNull() } fun bar(result: Result?) { - res = result?.getOrNull()!! + res = result?.getOrNull() } } -var res = "FAIL" +var res: String? = "FAIL" fun box(): String { Result.success("OK").let(Foo::foo) if (res != "OK") return "FAIL 1 $res" - res = "FAIL" + res = "FAIL 2" Result.success("OK").let(Foo::bar) - return res + if (res != "OK") return "FAIL 3 $res" + res = "FAIL 4" + + null.let(Foo::bar) + if (res != null) return "FAIL 5: $res" + return "OK" } \ No newline at end of file diff --git a/compiler/testData/codegen/box/inlineClasses/callableReferences/let/string.kt b/compiler/testData/codegen/box/inlineClasses/callableReferences/let/string.kt index f28dba61fd6..51f0e68b9a8 100644 --- a/compiler/testData/codegen/box/inlineClasses/callableReferences/let/string.kt +++ b/compiler/testData/codegen/box/inlineClasses/callableReferences/let/string.kt @@ -6,17 +6,22 @@ object Foo { } fun bar(value: Value?) { - res = value?.value!! + res = value?.value } } -var res = "FAIL" +var res: String? = "FAIL" fun box(): String { Value("OK").let(Foo::foo) if (res != "OK") return "FAIL 1: $res" - res = "FAIL" + res = "FAIL 2" Value("OK").let(Foo::bar) - return res + if (res != "OK") return "FAIL 3: $res" + res = "FAIL 4" + + null.let(Foo::bar) + if (res != null) return "FAIL 3: $res" + return "OK" } \ No newline at end of file diff --git a/compiler/testData/codegen/box/inlineClasses/callableReferences/let/stringN.kt b/compiler/testData/codegen/box/inlineClasses/callableReferences/let/stringN.kt index 5a66c2a727a..170f6d3cdab 100644 --- a/compiler/testData/codegen/box/inlineClasses/callableReferences/let/stringN.kt +++ b/compiler/testData/codegen/box/inlineClasses/callableReferences/let/stringN.kt @@ -2,21 +2,26 @@ inline class Value(val value: String?) object Foo { fun foo(value: Value) { - res = value.value!! + res = value.value } fun bar(value: Value?) { - res = value?.value!! + res = value?.value } } -var res = "FAIL" +var res: String? = "FAIL" fun box(): String { Value("OK").let(Foo::foo) if (res != "OK") return "FAIL 1: $res" - res = "FAIL" + res = "FAIL 2" Value("OK").let(Foo::bar) - return res + if (res != "OK") return "FAIL 3: $res" + res = "FAIL 4" + + null.let(Foo::bar) + if (res != null) return "FAIL 3: $res" + return "OK" } \ No newline at end of file diff --git a/compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/funInterface/nullableResult.kt b/compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/funInterface/nullableResult.kt new file mode 100644 index 00000000000..f1165262d07 --- /dev/null +++ b/compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/funInterface/nullableResult.kt @@ -0,0 +1,24 @@ +// DONT_TARGET_EXACT_BACKEND: WASM +// WASM_MUTE_REASON: SAM_CONVERSIONS +// !LANGUAGE: +InlineClasses +// WITH_RUNTIME + +fun foo(a: Result?): T? = bar(a) { + it?.getOrThrow() +} + +fun interface FunIFace { + fun call(ic: T): R +} + +fun bar(value: T, f: FunIFace): R { + return f.call(value) +} + +fun box(): String { + var res = foo(Result.success(40))?.plus(2) + if (res != 42) return "FAIL $res" + res = foo(null) + if (res != null) return "FAIL $res" + return "OK" +} \ No newline at end of file diff --git a/compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/lambda/nullableResult.kt b/compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/lambda/nullableResult.kt new file mode 100644 index 00000000000..b0f1684ee3c --- /dev/null +++ b/compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/lambda/nullableResult.kt @@ -0,0 +1,18 @@ +// !LANGUAGE: +InlineClasses +// WITH_RUNTIME + +fun foo(a: Result?): T? = bar(a) { + it?.getOrThrow() +} + +fun bar(value: T, f: (T) -> R): R { + return f(value) +} + +fun box(): String { + var res = foo(Result.success(40))?.plus(2) + if (res != 42) return "FAIL $res" + res = foo(null) + if (res != null) return "FAIL $res" + return "OK" +} \ No newline at end of file diff --git a/compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/objectLiteral/nullableResult.kt b/compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/objectLiteral/nullableResult.kt new file mode 100644 index 00000000000..2a9acadd96e --- /dev/null +++ b/compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/objectLiteral/nullableResult.kt @@ -0,0 +1,24 @@ +// !LANGUAGE: +InlineClasses +// WITH_RUNTIME +// IGNORE_BACKEND: JVM +// IGNORE_LIGHT_ANALYSIS + +fun foo(a: Result?): T? = bar(a, object : IFace, T> { + override fun call(ic: Result?): T? = ic?.getOrThrow() +}) + +interface IFace { + fun call(ic: T?): R? +} + +fun bar(value: T?, f: IFace): R? { + return f.call(value) +} + +fun box(): String { + var res = foo(Result.success(40))?.plus(2) + if (res != 42) return "FAIL $res" + res = foo(null) + if (res != null) return "FAIL $res" + return "OK" +} \ No newline at end of file diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java index 1f1651d000d..eb8801eb8c1 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java @@ -19926,6 +19926,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/funInterface/ifaceChild.kt"); } + @Test + @TestMetadata("nullableResult.kt") + public void testNullableResult() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/funInterface/nullableResult.kt"); + } + @Test @TestMetadata("primitive.kt") public void testPrimitive() throws Exception { @@ -19984,6 +19990,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/lambda/ifaceChild.kt"); } + @Test + @TestMetadata("nullableResult.kt") + public void testNullableResult() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/lambda/nullableResult.kt"); + } + @Test @TestMetadata("primitive.kt") public void testPrimitive() throws Exception { @@ -20042,6 +20054,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/objectLiteral/ifaceChild.kt"); } + @Test + @TestMetadata("nullableResult.kt") + public void testNullableResult() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/objectLiteral/nullableResult.kt"); + } + @Test @TestMetadata("primitive.kt") public void testPrimitive() throws Exception { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java index cb8dfdd1df4..096a105681c 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java @@ -19950,6 +19950,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/funInterface/ifaceChild.kt"); } + @Test + @TestMetadata("nullableResult.kt") + public void testNullableResult() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/funInterface/nullableResult.kt"); + } + @Test @TestMetadata("primitive.kt") public void testPrimitive() throws Exception { @@ -20008,6 +20014,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/lambda/ifaceChild.kt"); } + @Test + @TestMetadata("nullableResult.kt") + public void testNullableResult() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/lambda/nullableResult.kt"); + } + @Test @TestMetadata("primitive.kt") public void testPrimitive() throws Exception { @@ -20066,6 +20078,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/objectLiteral/ifaceChild.kt"); } + @Test + @TestMetadata("nullableResult.kt") + public void testNullableResult() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/objectLiteral/nullableResult.kt"); + } + @Test @TestMetadata("primitive.kt") public void testPrimitive() throws Exception { diff --git a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java index 5c0dd436abb..2452067e7d3 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -16604,6 +16604,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/funInterface/ifaceChild.kt"); } + @TestMetadata("nullableResult.kt") + public void testNullableResult() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/funInterface/nullableResult.kt"); + } + @TestMetadata("primitive.kt") public void testPrimitive() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/funInterface/primitive.kt"); @@ -16657,6 +16662,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/lambda/ifaceChild.kt"); } + @TestMetadata("nullableResult.kt") + public void testNullableResult() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/lambda/nullableResult.kt"); + } + @TestMetadata("primitive.kt") public void testPrimitive() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/lambda/primitive.kt"); @@ -16682,6 +16692,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) public static class ObjectLiteral extends AbstractLightAnalysisModeTest { + @TestMetadata("nullableResult.kt") + public void ignoreNullableResult() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/objectLiteral/nullableResult.kt"); + } + private void runTest(String testDataFilePath) throws Exception { KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM, testDataFilePath); } diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java index ba604aa904e..04c5f94f467 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java @@ -14613,6 +14613,11 @@ public class IrJsCodegenBoxES6TestGenerated extends AbstractIrJsCodegenBoxES6Tes runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/funInterface/ifaceChild.kt"); } + @TestMetadata("nullableResult.kt") + public void testNullableResult() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/funInterface/nullableResult.kt"); + } + @TestMetadata("primitive.kt") public void testPrimitive() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/funInterface/primitive.kt"); @@ -14666,6 +14671,11 @@ public class IrJsCodegenBoxES6TestGenerated extends AbstractIrJsCodegenBoxES6Tes runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/lambda/ifaceChild.kt"); } + @TestMetadata("nullableResult.kt") + public void testNullableResult() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/lambda/nullableResult.kt"); + } + @TestMetadata("primitive.kt") public void testPrimitive() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/lambda/primitive.kt"); @@ -14719,6 +14729,11 @@ public class IrJsCodegenBoxES6TestGenerated extends AbstractIrJsCodegenBoxES6Tes runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/objectLiteral/ifaceChild.kt"); } + @TestMetadata("nullableResult.kt") + public void testNullableResult() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/objectLiteral/nullableResult.kt"); + } + @TestMetadata("primitive.kt") public void testPrimitive() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/objectLiteral/primitive.kt"); diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java index e81b15e1241..034dedea3bb 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java @@ -14024,6 +14024,11 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/funInterface/ifaceChild.kt"); } + @TestMetadata("nullableResult.kt") + public void testNullableResult() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/funInterface/nullableResult.kt"); + } + @TestMetadata("primitive.kt") public void testPrimitive() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/funInterface/primitive.kt"); @@ -14077,6 +14082,11 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/lambda/ifaceChild.kt"); } + @TestMetadata("nullableResult.kt") + public void testNullableResult() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/lambda/nullableResult.kt"); + } + @TestMetadata("primitive.kt") public void testPrimitive() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/lambda/primitive.kt"); @@ -14130,6 +14140,11 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/objectLiteral/ifaceChild.kt"); } + @TestMetadata("nullableResult.kt") + public void testNullableResult() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/objectLiteral/nullableResult.kt"); + } + @TestMetadata("primitive.kt") public void testPrimitive() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/objectLiteral/primitive.kt"); diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java index a7d4b1101b5..063be31b933 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java @@ -14089,6 +14089,11 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/funInterface/ifaceChild.kt"); } + @TestMetadata("nullableResult.kt") + public void testNullableResult() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/funInterface/nullableResult.kt"); + } + @TestMetadata("primitive.kt") public void testPrimitive() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/funInterface/primitive.kt"); @@ -14142,6 +14147,11 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/lambda/ifaceChild.kt"); } + @TestMetadata("nullableResult.kt") + public void testNullableResult() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/lambda/nullableResult.kt"); + } + @TestMetadata("primitive.kt") public void testPrimitive() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/lambda/primitive.kt"); @@ -14195,6 +14205,11 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/objectLiteral/ifaceChild.kt"); } + @TestMetadata("nullableResult.kt") + public void testNullableResult() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/objectLiteral/nullableResult.kt"); + } + @TestMetadata("primitive.kt") public void testPrimitive() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/objectLiteral/primitive.kt"); diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/wasm/semantics/IrCodegenBoxWasmTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/wasm/semantics/IrCodegenBoxWasmTestGenerated.java index ed0648cf9e5..f8c4feb0d11 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/wasm/semantics/IrCodegenBoxWasmTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/wasm/semantics/IrCodegenBoxWasmTestGenerated.java @@ -8017,6 +8017,11 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/lambda/ifaceChild.kt"); } + @TestMetadata("nullableResult.kt") + public void testNullableResult() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/lambda/nullableResult.kt"); + } + @TestMetadata("primitive.kt") public void testPrimitive() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/lambda/primitive.kt"); @@ -8070,6 +8075,11 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/objectLiteral/ifaceChild.kt"); } + @TestMetadata("nullableResult.kt") + public void testNullableResult() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/objectLiteral/nullableResult.kt"); + } + @TestMetadata("primitive.kt") public void testPrimitive() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter/objectLiteral/primitive.kt");