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 db4025c47cf..cc1192d96e8 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 @@ -16610,6 +16610,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT runTest("compiler/testData/codegen/box/functions/kt47527.kt"); } + @Test + @TestMetadata("kt48058.kt") + public void testKt48058() throws Exception { + runTest("compiler/testData/codegen/box/functions/kt48058.kt"); + } + @Test @TestMetadata("kt785.kt") public void testKt785() throws Exception { diff --git a/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/ExpressionTypingServices.java b/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/ExpressionTypingServices.java index 5cee51fa290..b752480d738 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/ExpressionTypingServices.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/ExpressionTypingServices.java @@ -394,7 +394,7 @@ public class ExpressionTypingServices { return blockLevelVisitor.getTypeInfo(statementExpression, context.replaceExpectedType(expectedType), true); } - if (KtPsiUtil.deparenthesize(statementExpression) instanceof KtLambdaExpression) { + if (KtPsiUtil.deparenthesize(statementExpression) instanceof KtLambdaExpression && context.contextDependency == ContextDependency.DEPENDENT) { KotlinTypeInfo typeInfo = createDontCareTypeInfoForNILambda(statementExpression, context); if (typeInfo != null) return typeInfo; } diff --git a/compiler/testData/codegen/box/functions/kt48058.kt b/compiler/testData/codegen/box/functions/kt48058.kt new file mode 100644 index 00000000000..e7b1b38c994 --- /dev/null +++ b/compiler/testData/codegen/box/functions/kt48058.kt @@ -0,0 +1,19 @@ +// DONT_TARGET_EXACT_BACKEND: WASM + +fun doCall(block: Any ):Int { + (block as () -> Unit)() + return 1 +} + +fun test1() = + doCall { + try {} + finally { + {} + } + } + +fun box(): String { + test1() + return "OK" +} 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 c14fa4b03c3..92b489b50bc 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 @@ -16490,6 +16490,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/functions/kt47527.kt"); } + @Test + @TestMetadata("kt48058.kt") + public void testKt48058() throws Exception { + runTest("compiler/testData/codegen/box/functions/kt48058.kt"); + } + @Test @TestMetadata("kt785.kt") public void testKt785() 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 1dbe8808003..b271a828a86 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 @@ -16610,6 +16610,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/functions/kt47527.kt"); } + @Test + @TestMetadata("kt48058.kt") + public void testKt48058() throws Exception { + runTest("compiler/testData/codegen/box/functions/kt48058.kt"); + } + @Test @TestMetadata("kt785.kt") public void testKt785() 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 e07df345bb9..c8d34d3383f 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -13614,6 +13614,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/functions/kt47527.kt"); } + @TestMetadata("kt48058.kt") + public void testKt48058() throws Exception { + runTest("compiler/testData/codegen/box/functions/kt48058.kt"); + } + @TestMetadata("kt785.kt") public void testKt785() throws Exception { runTest("compiler/testData/codegen/box/functions/kt785.kt"); 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 1221a2a0dc8..d4fb186219a 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 @@ -11983,6 +11983,11 @@ public class IrJsCodegenBoxES6TestGenerated extends AbstractIrJsCodegenBoxES6Tes runTest("compiler/testData/codegen/box/functions/kt47527.kt"); } + @TestMetadata("kt48058.kt") + public void testKt48058() throws Exception { + runTest("compiler/testData/codegen/box/functions/kt48058.kt"); + } + @TestMetadata("kt785.kt") public void testKt785() throws Exception { runTest("compiler/testData/codegen/box/functions/kt785.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 1e091e77d66..a3cad51b6c5 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 @@ -11389,6 +11389,11 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { runTest("compiler/testData/codegen/box/functions/kt47527.kt"); } + @TestMetadata("kt48058.kt") + public void testKt48058() throws Exception { + runTest("compiler/testData/codegen/box/functions/kt48058.kt"); + } + @TestMetadata("kt785.kt") public void testKt785() throws Exception { runTest("compiler/testData/codegen/box/functions/kt785.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 78b9f9dde9c..462e344897c 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 @@ -11389,6 +11389,11 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { runTest("compiler/testData/codegen/box/functions/kt47527.kt"); } + @TestMetadata("kt48058.kt") + public void testKt48058() throws Exception { + runTest("compiler/testData/codegen/box/functions/kt48058.kt"); + } + @TestMetadata("kt785.kt") public void testKt785() throws Exception { runTest("compiler/testData/codegen/box/functions/kt785.kt");