From b9302869d5d1c221a16a3841cd217888b4438444 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Wed, 20 Sep 2023 17:10:48 +0200 Subject: [PATCH] K2: reproduce KT-61844 --- ...sticCompilerTestFE10TestdataTestGenerated.java | 6 ++++++ ...agnosticCompilerFE10TestDataTestGenerated.java | 6 ++++++ ...htTreeOldFrontendDiagnosticsTestGenerated.java | 6 ++++++ ...FirPsiOldFrontendDiagnosticsTestGenerated.java | 6 ++++++ .../resolve/invoke/privateInvokeOwner.fir.kt | 11 +++++++++++ .../resolve/invoke/privateInvokeOwner.fir.txt | 15 +++++++++++++++ .../tests/resolve/invoke/privateInvokeOwner.kt | 11 +++++++++++ .../tests/resolve/invoke/privateInvokeOwner.txt | 11 +++++++++++ .../test/runners/DiagnosticTestGenerated.java | 6 ++++++ 9 files changed, 78 insertions(+) create mode 100644 compiler/testData/diagnostics/tests/resolve/invoke/privateInvokeOwner.fir.kt create mode 100644 compiler/testData/diagnostics/tests/resolve/invoke/privateInvokeOwner.fir.txt create mode 100644 compiler/testData/diagnostics/tests/resolve/invoke/privateInvokeOwner.kt create mode 100644 compiler/testData/diagnostics/tests/resolve/invoke/privateInvokeOwner.txt 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 3e88801d0c1..8cca5e9fbbc 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 @@ -28263,6 +28263,12 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia runTest("compiler/testData/diagnostics/tests/resolve/invoke/kt9805.kt"); } + @Test + @TestMetadata("privateInvokeOwner.kt") + public void testPrivateInvokeOwner() throws Exception { + runTest("compiler/testData/diagnostics/tests/resolve/invoke/privateInvokeOwner.kt"); + } + @Test @TestMetadata("reportFunctionExpectedOnSimpleUnresolved.kt") public void testReportFunctionExpectedOnSimpleUnresolved() 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 a0ff7b88085..aab6e77f614 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 @@ -28263,6 +28263,12 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated runTest("compiler/testData/diagnostics/tests/resolve/invoke/kt9805.kt"); } + @Test + @TestMetadata("privateInvokeOwner.kt") + public void testPrivateInvokeOwner() throws Exception { + runTest("compiler/testData/diagnostics/tests/resolve/invoke/privateInvokeOwner.kt"); + } + @Test @TestMetadata("reportFunctionExpectedOnSimpleUnresolved.kt") public void testReportFunctionExpectedOnSimpleUnresolved() 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 62f884fcf64..ed8d840634d 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 @@ -28263,6 +28263,12 @@ public class FirLightTreeOldFrontendDiagnosticsTestGenerated extends AbstractFir runTest("compiler/testData/diagnostics/tests/resolve/invoke/kt9805.kt"); } + @Test + @TestMetadata("privateInvokeOwner.kt") + public void testPrivateInvokeOwner() throws Exception { + runTest("compiler/testData/diagnostics/tests/resolve/invoke/privateInvokeOwner.kt"); + } + @Test @TestMetadata("reportFunctionExpectedOnSimpleUnresolved.kt") public void testReportFunctionExpectedOnSimpleUnresolved() 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 8deafa1bd88..cda51a883cf 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 @@ -28275,6 +28275,12 @@ public class FirPsiOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiDia runTest("compiler/testData/diagnostics/tests/resolve/invoke/kt9805.kt"); } + @Test + @TestMetadata("privateInvokeOwner.kt") + public void testPrivateInvokeOwner() throws Exception { + runTest("compiler/testData/diagnostics/tests/resolve/invoke/privateInvokeOwner.kt"); + } + @Test @TestMetadata("reportFunctionExpectedOnSimpleUnresolved.kt") public void testReportFunctionExpectedOnSimpleUnresolved() throws Exception { diff --git a/compiler/testData/diagnostics/tests/resolve/invoke/privateInvokeOwner.fir.kt b/compiler/testData/diagnostics/tests/resolve/invoke/privateInvokeOwner.fir.kt new file mode 100644 index 00000000000..556d17a8429 --- /dev/null +++ b/compiler/testData/diagnostics/tests/resolve/invoke/privateInvokeOwner.fir.kt @@ -0,0 +1,11 @@ +// ISSUE: KT-61844 +// FIR_DUMP + +class Foo( + private val transformer: (I) -> O, +) { + fun transform(foo: Foo, bar: I) { + foo.transformer(bar) + foo.transformer.invoke(bar) + } +} diff --git a/compiler/testData/diagnostics/tests/resolve/invoke/privateInvokeOwner.fir.txt b/compiler/testData/diagnostics/tests/resolve/invoke/privateInvokeOwner.fir.txt new file mode 100644 index 00000000000..d45abdf737f --- /dev/null +++ b/compiler/testData/diagnostics/tests/resolve/invoke/privateInvokeOwner.fir.txt @@ -0,0 +1,15 @@ +FILE: privateInvokeOwner.fir.kt + public final class Foo : R|kotlin/Any| { + public constructor(transformer: R|(I) -> O|): R|Foo| { + super() + } + + private/*private to this*/ final val transformer: R|(I) -> O| = R|/transformer| + private/*private to this*/ get(): R|(I) -> O| + + public final fun transform(foo: R|Foo|, bar: R|I|): R|kotlin/Unit| { + R|/foo|.' cannot be invoked as a function>#(R|/bar|) + R|/foo|.R|SubstitutionOverride O|>#|.R|SubstitutionOverride|(R|/bar|) + } + + } diff --git a/compiler/testData/diagnostics/tests/resolve/invoke/privateInvokeOwner.kt b/compiler/testData/diagnostics/tests/resolve/invoke/privateInvokeOwner.kt new file mode 100644 index 00000000000..7237226db9d --- /dev/null +++ b/compiler/testData/diagnostics/tests/resolve/invoke/privateInvokeOwner.kt @@ -0,0 +1,11 @@ +// ISSUE: KT-61844 +// FIR_DUMP + +class Foo( + private val transformer: (I) -> O, +) { + fun transform(foo: Foo, bar: I) { + foo.transformer(bar) + foo.transformer.invoke(bar) + } +} diff --git a/compiler/testData/diagnostics/tests/resolve/invoke/privateInvokeOwner.txt b/compiler/testData/diagnostics/tests/resolve/invoke/privateInvokeOwner.txt new file mode 100644 index 00000000000..00998900bf1 --- /dev/null +++ b/compiler/testData/diagnostics/tests/resolve/invoke/privateInvokeOwner.txt @@ -0,0 +1,11 @@ +package + +public final class Foo { + public constructor Foo(/*0*/ transformer: (I) -> O) + private final val transformer: (I) -> O + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + public final fun transform(/*0*/ foo: Foo, /*1*/ bar: I): kotlin.Unit +} + 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 8846cefbdbe..67ebede4670 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 @@ -30057,6 +30057,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest { runTest("compiler/testData/diagnostics/tests/resolve/invoke/kt9805.kt"); } + @Test + @TestMetadata("privateInvokeOwner.kt") + public void testPrivateInvokeOwner() throws Exception { + runTest("compiler/testData/diagnostics/tests/resolve/invoke/privateInvokeOwner.kt"); + } + @Test @TestMetadata("reportFunctionExpectedOnSimpleUnresolved.kt") public void testReportFunctionExpectedOnSimpleUnresolved() throws Exception {