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 {