From 7bd5491498ed3612ca27f5348447e642560af590 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Mon, 17 Apr 2023 18:33:59 +0200 Subject: [PATCH] K2: reproduce KT-57873 --- ...sticCompilerTestFE10TestdataTestGenerated.java | 6 ++++++ ...agnosticCompilerFE10TestDataTestGenerated.java | 6 ++++++ ...htTreeOldFrontendDiagnosticsTestGenerated.java | 6 ++++++ ...FirPsiOldFrontendDiagnosticsTestGenerated.java | 6 ++++++ .../inferenceFromLambdaReturnType.fir.txt | 15 +++++++++++++++ .../inferenceFromLambdaReturnType.kt | 11 +++++++++++ .../test/runners/DiagnosticTestGenerated.java | 6 ++++++ 7 files changed, 56 insertions(+) create mode 100644 compiler/testData/diagnostics/testsWithStdLib/builderInference/inferenceFromLambdaReturnType.fir.txt create mode 100644 compiler/testData/diagnostics/testsWithStdLib/builderInference/inferenceFromLambdaReturnType.kt diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java index 69efcf4a4ec..32d658e2096 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java @@ -36688,6 +36688,12 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/inferCoroutineTypeInOldVersion.kt"); } + @Test + @TestMetadata("inferenceFromLambdaReturnType.kt") + public void testInferenceFromLambdaReturnType() throws Exception { + runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/inferenceFromLambdaReturnType.kt"); + } + @Test @TestMetadata("resolveUsualCallWithBuilderInference.kt") public void testResolveUsualCallWithBuilderInference() throws Exception { diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java index 00c34e9e2a9..58d7807c182 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java @@ -36688,6 +36688,12 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/inferCoroutineTypeInOldVersion.kt"); } + @Test + @TestMetadata("inferenceFromLambdaReturnType.kt") + public void testInferenceFromLambdaReturnType() throws Exception { + runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/inferenceFromLambdaReturnType.kt"); + } + @Test @TestMetadata("resolveUsualCallWithBuilderInference.kt") public void testResolveUsualCallWithBuilderInference() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java index 9e01ca02e28..a2c19fccf12 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java @@ -36688,6 +36688,12 @@ public class FirLightTreeOldFrontendDiagnosticsTestGenerated extends AbstractFir runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/inferCoroutineTypeInOldVersion.kt"); } + @Test + @TestMetadata("inferenceFromLambdaReturnType.kt") + public void testInferenceFromLambdaReturnType() throws Exception { + runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/inferenceFromLambdaReturnType.kt"); + } + @Test @TestMetadata("resolveUsualCallWithBuilderInference.kt") public void testResolveUsualCallWithBuilderInference() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java index c4a4395e5a4..be278107f70 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java @@ -36784,6 +36784,12 @@ public class FirPsiOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiDia runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/inferCoroutineTypeInOldVersion.kt"); } + @Test + @TestMetadata("inferenceFromLambdaReturnType.kt") + public void testInferenceFromLambdaReturnType() throws Exception { + runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/inferenceFromLambdaReturnType.kt"); + } + @Test @TestMetadata("resolveUsualCallWithBuilderInference.kt") public void testResolveUsualCallWithBuilderInference() throws Exception { diff --git a/compiler/testData/diagnostics/testsWithStdLib/builderInference/inferenceFromLambdaReturnType.fir.txt b/compiler/testData/diagnostics/testsWithStdLib/builderInference/inferenceFromLambdaReturnType.fir.txt new file mode 100644 index 00000000000..a89a3e3de8f --- /dev/null +++ b/compiler/testData/diagnostics/testsWithStdLib/builderInference/inferenceFromLambdaReturnType.fir.txt @@ -0,0 +1,15 @@ +FILE: inferenceFromLambdaReturnType.kt + public final class ThemeKey : R|kotlin/Any| { + public constructor(): R|ThemeKey| { + super() + } + + } + public final fun getWithFallback(fallback: R|(ThemeKey) -> S|): R|kotlin/Unit| { + } + public final fun main(): R|kotlin/Unit| { + R|/getWithFallback|( = getWithFallback@fun (it: R|ThemeKey|): R|kotlin/String| { + ^ String() + } + ) + } diff --git a/compiler/testData/diagnostics/testsWithStdLib/builderInference/inferenceFromLambdaReturnType.kt b/compiler/testData/diagnostics/testsWithStdLib/builderInference/inferenceFromLambdaReturnType.kt new file mode 100644 index 00000000000..f563adc9153 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithStdLib/builderInference/inferenceFromLambdaReturnType.kt @@ -0,0 +1,11 @@ +// FIR_IDENTICAL +// FIR_DUMP +// ISSUE: KT-57873 + +class ThemeKey + +fun getWithFallback(fallback: (ThemeKey) -> S) {} + +fun main() { + getWithFallback { "" } +} diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java index 7b764b6fda9..963ba3653aa 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java @@ -37550,6 +37550,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest { runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/inferCoroutineTypeInOldVersion.kt"); } + @Test + @TestMetadata("inferenceFromLambdaReturnType.kt") + public void testInferenceFromLambdaReturnType() throws Exception { + runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/inferenceFromLambdaReturnType.kt"); + } + @Test @TestMetadata("resolveUsualCallWithBuilderInference.kt") public void testResolveUsualCallWithBuilderInference() throws Exception {