From 7a6ff5de342d8194f9d8530b8360cad396f1aaa9 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Wed, 8 Mar 2023 17:15:22 +0100 Subject: [PATCH] K2: add test for KT-56954 --- .../based/DiagnosisCompilerFirTestdataTestGenerated.java | 6 ++++++ .../intellij/lambdaForKfunction.fir.txt | 8 ++++++++ .../resolveWithStdlib/intellij/lambdaForKfunction.kt | 9 +++++++++ .../runners/FirLightTreeDiagnosticsTestGenerated.java | 6 ++++++ .../test/runners/FirPsiDiagnosticTestGenerated.java | 6 ++++++ 5 files changed, 35 insertions(+) create mode 100644 compiler/fir/analysis-tests/testData/resolveWithStdlib/intellij/lambdaForKfunction.fir.txt create mode 100644 compiler/fir/analysis-tests/testData/resolveWithStdlib/intellij/lambdaForKfunction.kt diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerFirTestdataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerFirTestdataTestGenerated.java index ea816e77f32..3d0df71383b 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerFirTestdataTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerFirTestdataTestGenerated.java @@ -6291,6 +6291,12 @@ public class DiagnosisCompilerFirTestdataTestGenerated extends AbstractDiagnosis runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/intellij/IntersectionWithJavaString.kt"); } + @Test + @TestMetadata("lambdaForKfunction.kt") + public void testLambdaForKfunction() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/intellij/lambdaForKfunction.kt"); + } + @Test @TestMetadata("ParentOfType.kt") public void testParentOfType() throws Exception { diff --git a/compiler/fir/analysis-tests/testData/resolveWithStdlib/intellij/lambdaForKfunction.fir.txt b/compiler/fir/analysis-tests/testData/resolveWithStdlib/intellij/lambdaForKfunction.fir.txt new file mode 100644 index 00000000000..20bde2607df --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolveWithStdlib/intellij/lambdaForKfunction.fir.txt @@ -0,0 +1,8 @@ +FILE: lambdaForKfunction.kt + public final fun foo(arg: R|kotlin/reflect/KFunction0|): R|kotlin/Unit| { + } + public final fun main(): R|kotlin/Unit| { + R|/foo|(fun (): R|kotlin/Unit| { + } + ) + } diff --git a/compiler/fir/analysis-tests/testData/resolveWithStdlib/intellij/lambdaForKfunction.kt b/compiler/fir/analysis-tests/testData/resolveWithStdlib/intellij/lambdaForKfunction.kt new file mode 100644 index 00000000000..02da3fa47af --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolveWithStdlib/intellij/lambdaForKfunction.kt @@ -0,0 +1,9 @@ +// WITH_REFLECT + +import kotlin.reflect.KFunction0 + +fun foo(arg: KFunction0) {} + +fun main() { + foo(fun() {}) // K1: TYPE_MISMATCH, K2: ok in compile-time & CCE at run-time +} diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeDiagnosticsTestGenerated.java index 8260a104a1d..760dde7afaa 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeDiagnosticsTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeDiagnosticsTestGenerated.java @@ -6291,6 +6291,12 @@ public class FirLightTreeDiagnosticsTestGenerated extends AbstractFirLightTreeDi runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/intellij/IntersectionWithJavaString.kt"); } + @Test + @TestMetadata("lambdaForKfunction.kt") + public void testLambdaForKfunction() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/intellij/lambdaForKfunction.kt"); + } + @Test @TestMetadata("ParentOfType.kt") public void testParentOfType() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiDiagnosticTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiDiagnosticTestGenerated.java index e69dfce37c5..6feee4406f0 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiDiagnosticTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiDiagnosticTestGenerated.java @@ -6291,6 +6291,12 @@ public class FirPsiDiagnosticTestGenerated extends AbstractFirPsiDiagnosticTest runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/intellij/IntersectionWithJavaString.kt"); } + @Test + @TestMetadata("lambdaForKfunction.kt") + public void testLambdaForKfunction() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/intellij/lambdaForKfunction.kt"); + } + @Test @TestMetadata("ParentOfType.kt") public void testParentOfType() throws Exception {